Your Fitness Score, Explained: Measuring Hybrid Fitness in One Number
How the Hybrid Training Plan fitness score works — strength, engine and work, weighted for your goal and built only from sessions you've logged. Plus what we just changed, and why.
Most training apps give you a number and never explain it. You go for a run, the number moves, and you have no idea whether that is because you ran well or because the app felt like being encouraging.
This is how ours works, in full — including the parts we have just changed and why.
One number, built from three
Your fitness score runs from 0 to 100. Around 50 is a solid recreational athlete.
It is made of three things:
Strength — your best estimated one-rep max across squat, hinge, push and pull, measured per kilo of bodyweight. A 100 kg squat says something very different at 60 kg bodyweight than at 100 kg.
Engine — your best recent running effort, converted to a 5k-equivalent time so a fast 10k and a fast 5k land on the same scale.
Work — how much of the training your plan asked for you actually did.

Those three are weighted differently depending on what you are training for.
| Goal | Strength | Engine | Work |
|---|---|---|---|
| Hybrid | 35% | 35% | 30% |
| Hyrox | 30% | 35% | 35% |
Hyrox leans harder on work, because the race is eight stations and eight runs back to back — the ability to keep going is the event, not a supporting quality.
Same training, different goal, different score. That is deliberate.
Hyrox gets a different screen entirely
If you are training for Hyrox, the general fitness score is not what you see. It reads barbell strength and running, and eight completed stations are neither — so a genuinely fit Hyrox athlete could open the app to a number in the low single digits.
Instead you get your station profile: your time on each of the eight stations, where you sit against real race data, and which one is costing you the most. Not a predicted finish time — running is half the race, and a projection would mostly be a model of the parts we measure worst. What you need is which station to train, and that is what it tells you.
Nothing you type about yourself counts
Your score is built only from sessions you have logged.
There is no field where you tell us your experience level and get rewarded for it. We used to ask, and the answers were measurably unreliable — people are optimistic, and the ones who most needed an accurate starting point were the least accurate about it. A score you can talk your way into is not a measurement.
Baselines: measuring instead of asking
Rather than asking what you lift, your plan schedules baseline tests — a handful of sessions that measure each movement your score is built from. They appear in your plan automatically, and until they are done your score is marked provisional, because we are estimating from ordinary training sets rather than a real measurement.

Two columns, and the distinction matters: Result is what you actually did — 70 kg × 3 on 12 August. Estimated is the one-rep max we derive from it. You never lifted 78.5 kg. We worked it out from a set you did lift, and showing you only the derived number without its working reads as a mistake.
Miss a test and it comes back in your next block rather than being lost.
The hybrid score
Your fitness score answers “how am I doing at the thing I chose”. The hybrid score ignores your goal completely and asks how rounded an athlete you are — which is what makes it comparable with anyone else using the app.
It is a harmonic mean, so it cannot be gamed by being excellent at one thing and hopeless at the other. 80 engine and 20 strength gives you 32, not the 50 an average would report.
The two numbers are meant to disagree. A specialist should have a high goal score and a mediocre hybrid score. That is not a bug in either of them.
Levels, which never drop
Your score measures how fit you are today, so it moves both ways. Your level counts what you have done and only ever goes up — XP for every day you train, double on days you log strength work, and a large one-off for each baseline test.

Counted per day rather than per session, so three activities in an afternoon is one training day.
What we just changed, and why
Two things were wrong, and both were found by looking at real accounts rather than by theorising.
A personal best should not last forever
Staleness used to be measured from your most recent session, not from the effort actually being scored. So a personal best kept its full value indefinitely, as long as you turned up at all.
On one real account, the engine score was resting on a 5k from 95 days earlier, with no discount whatsoever, while the time trial that athlete had actually run three days ago was invisible for being 80 seconds slower. Their score had stopped responding to their training.
Efforts are now aged by their own date. A fresh, slightly worse result can displace a stale, better one — which is the whole point, because it means recent training moves the number.
It is still a slide, not a cliff. Capability does not evaporate because you had a quiet fortnight, and strength ages far more slowly than engine does. A one-rep max from two months ago is almost certainly still true. A 5k from two months ago is much less so.
A planned rest week should not cost you
The work axis counted absolute days trained per week. Which meant the app would prescribe a deload — fewer sessions, deliberately, because that is what the training called for — and then dock you nearly a third of your score for following it.
It now scores what fraction of your prescribed days you completed. Do the plan you were given and you get full marks, whether that week asked for six sessions or three.
This also removes a reward for training past your plan, which is not a habit a coaching product should be encouraging.

What we are refining next
We are tuning this with real data over the coming weeks, and we would rather say so than pretend it arrived finished.
Showing what each axis is anchored to. If your engine score comes from a run three weeks ago, the screen should say so. Right now the number is correct and the reason is invisible, which makes it hard to act on.
Test-to-test progress. Comparing your latest baseline against the one before it — “5k, 1:24 faster than your last test” — is a cleaner signal of whether your training is working than a composite score that moves for several reasons at once.
Explaining dips. Your plan knows when it has put you in a deload or a strength block. If your engine eases off because you are mid-way through eight weeks of heavy lifting, the app should say that rather than leave you to conclude you are getting worse.
Fatigue. There is a well-established model for separating fitness from freshness, and we have most of what it needs. We have not built it, because a fourth number is only worth adding if it changes what you do that day.
Why we publish the mechanics
Because a score you cannot interrogate is a score you cannot trust, and because getting it wrong in public is how it gets better. Both of the changes above came from opening real accounts and finding numbers that could not be defended.
If yours is doing something that does not make sense, tell us. That is usually where the next fix comes from.
Get a personalised plan — 30 days free
The plan above is a sample. Get one built specifically around your schedule, experience level, and goals. Free for 30 days in the app. Cancel any time.
Start Your Free Trial →Paul Kent
Verified AuthorFounder, Hybrid Training Plan
Paul is the founder of Hybrid Training Plan and a competitive hybrid athlete. He combines running, strength training, and Hyrox preparation in his own training, and built this platform to help other athletes balance multiple training goals without the guesswork.