[PRINCIPLES]
Why Every Number in Base Shows Its Own Math
[THE SHORT ANSWER]
Every derived number in Base opens a plain-English explanation of the formula that produced it — the same wording as the comment sitting next to the code that computes it. Recovery score, sleep score, maintenance, trend weight, e1RM, threshold, session grade, ramp rate. This is a hard product constraint rather than a feature, because a number you cannot interrogate is a number you will eventually stop trusting, and these formulas are opinionated enough that hiding them would be dishonest.
The problem with a score you cannot see
Consumer fitness apps are full of scores. Readiness, strain, body battery, energy, fitness, form, freshness. They arrive as integers between 0 and 100 with a colour attached, and almost none of them come with an explanation.
There are two reasons a company withholds a formula, and they are not equally respectable.
The first is genuinely proprietary work — a model trained on a large private dataset, where the model is the product. That is a real commercial position and it is defensible.
The second is more common: the formula is a weighted average of three inputs, and disclosing it would make that obvious. A number presented with the confidence of research and the substance of arithmetic. The opacity is not protecting an asset; it is protecting an impression.
What happens when a user cannot check
Two things, and both are bad for the product.
They over-trust it, then get burned. A readiness score reads 34 the morning of a session that goes fine, or reads 91 the morning of a session that falls apart. With no formula, the user cannot tell whether the score was wrong or their day was unusual. So they either treat the number as an oracle until it fails badly, or —
They quietly stop looking. This is the more common outcome and it is invisible from the inside. The card is still on the screen. The eye slides past it. The number has become furniture.
Neither is recoverable by making the score more accurate, because accuracy was never the issue. Legibility was.
What "show the math" means concretely
Every explanation in Base has four parts, in the same order every time:
What it is. The quantity, in a sentence, without jargon.
How it is computed. The actual formula, the actual weights, the actual source of each input, and the actual thresholds. Not "a proprietary blend of your recovery metrics" — the numbers.
How to read it. What a high or low value means, what commonly makes it wrong, and what to do about it.
Why there is no percentile, where there is not one. This one matters more than it sounds.
Here is a real example — recovery score:
A 0 to 100 figure built from your own thirty-day baselines for HRV, resting heart rate and sleep. Each is expressed as a z-score against your own history, weighted 50% HRV, 30% resting heart rate inverted so that lower is better, and 20% sleep score, then renormalised if a signal is missing. It requires fourteen days of baseline; below that it says "building baseline — 6 more days" rather than showing a number it cannot yet mean. No percentile, because the score is Base's own construction. Nobody else computes this number, so there is no population to rank you against.
That last paragraph is the part most apps would never write, and it is the one that earns the rest of it.
Refusing to show a number is also showing the math
A percentile is the clearest case. It looks authoritative and is very often meaningless:
| Number | Why a percentile would lie |
|---|---|
| HRV | Ranks your age and genetics, neither of which you can train |
| TDEE | Ranks your body size and your job |
| Threshold pace | Meaningless without normalising for mass, sex, age and training history |
| Daily calorie target | Set by your bodyweight, activity and goal — all three already measured directly |
| Fat grams | A share of a calorie total derived from your own maintenance |
In each case the useful comparison already exists and is already on the screen: your own baseline, your own maintenance, your own previous sessions. Adding a percentile would replace a meaningful comparison with an impressive-looking one.
The same principle produces the harder rule: no silent failures. If the health store returned nothing for last night, the sleep card says "no sleep data for last night". It does not render a zero and move on. One fabricated zero teaches you that every other number on the screen might also be decorative, and there is no way to earn that back.
Where this constrains the product
Being honest about the cost is part of the point.
Some numbers cannot ship. If a metric cannot be explained in a paragraph a tired person can follow at 6am, it does not go in. That has cut features.
Disagreements have to be stated. Lengthened partials are genuinely unsettled in the literature — a 2025 within-subject study found them equivalent to full range of motion, and the mechanism is contested. The explanation says that, rather than picking a side quietly and building the programme around it.
Confidence has to be exposed. A threshold estimate carries a high, medium or low label, because every endurance band in the app is downstream of that single estimate and a number without provenance is a number you have no way to check.
The code and the copy have to stay in sync. The formula in the explanation matches the comment next to the implementation, in the same words. That is a maintenance burden and it is the whole mechanism — it makes drift between what the app says and what it does immediately visible in a diff.
What to do next
Pick the score in whatever app you currently use that most influences your training decisions, and try to find out how it is computed. If you cannot, that is worth knowing about a number you are letting decide your Tuesday.
Why there is no single fitness score in Base is the other half of this argument.
Questions
How does Base calculate recovery score?
Your own thirty-day baselines for HRV, resting heart rate and sleep, each expressed as a z-score against your own history, weighted 50 percent HRV, 30 percent resting heart rate inverted so lower is better, and 20 percent sleep score, then renormalised if a signal is missing. It requires fourteen days of baseline and reports building baseline below that rather than showing a number.
Why do fitness apps hide their formulas?
Usually because the formula is either proprietary or embarrassing. Proprietary is a defensible commercial reason. Embarrassing is more common: many scores are simple weighted averages presented as if they were research, and disclosing them would make that obvious.
Can I see how my calorie target was calculated?
Yes, on the card that shows it. Every derived number in Base has an information affordance that opens the formula in plain English, what it depends on, how to read it, and why no population percentile is offered where one is not honest.
Why does Base refuse to show percentiles?
Because most of them would be dishonest. Ranking your HRV against a population ranks your age and genetics; ranking your calorie target ranks your body size and your job. Where a percentile would compare something you cannot act on, the explanation says so and shows nothing rather than a number that looks meaningful and is not.
[KEEP READING]
[FIELD NOTES]
Why Base Has No Single Fitness Score
The most requested feature that will never ship, and the reasoning behind refusing it.
[SCREENS]
The Recovery Screen: A Decision, Not a Number
Most apps show you a recovery number and leave you to interpret it. This one converts it into a rep and a verdict.
[SCREENS]
Maintenance: The Number Everything Hangs Off
One screen, read top to bottom as an argument: what you burn, what you set, what you actually averaged, and where it can physically have gone.