This specification is published openly. The REALFIT Absolute Score is REALFIT's proprietary flagship Score Set — but its methodology is fully documented here. We believe complete transparency is the only credible foundation for a fitness standard. If you disagree with any scoring decision, the rationale is here. If you find an error, we want to know. This document is the ground truth — it matches the live implementation in REALFITSCORE.com and the REALFIT iOS app exactly.

Section 1

What the REALFIT Absolute Score measures

A single 0–1000 score representing an individual's overall physical fitness across all six fitness components, using a 14-test battery drawn from the FITDAT open library.

Design philosophy — why an absolute standard is a better benchmark. The score is deliberately population-neutral and age-neutral. A 700 means the same thing regardless of who earned it — there are no age adjustments, no gender adjustments, no occupation adjustments. This is intentional, and it matters for three reasons.
Progress tracking. An age-adjusted or population-normed score can make you look like you're improving when you're actually declining — because the reference population is getting slower alongside you. The Absolute Score doesn't move unless you do. A 650 at 45 means you are genuinely as fit as a 650 at 25. That's the only benchmark that tells you whether your training is working.
Aging honestly. Most fitness scoring systems make you look better as you age simply because the comparison group gets older too. The Absolute Score declines as fitness declines — which is uncomfortable but accurate. It gives you real information about what's happening to your body over time, which is the only basis for making real decisions about it.
Cross-context comparison. A score earned in a high school gym and a score earned at an NFL combine are measured against the same standard. This makes REALFIT Absolute Scores comparable across populations, environments, institutions, and years. Score Sets that want age-normed or population-specific interpretations can layer Reference Bands on top — the underlying score does not change. The score measures what your body can actually do today, against a universal standard that never moves.
PropertyValue
Scale0 to 1,000 (integer)
Tests required13 tests — 12 fixed + 1 cardio slot (5K Run OR Concept2 Row — 2000m)
Score Set IDrealfit_absolute
Standards versionRFS30
FITDAT version1.1
Full battery required for overall scoreYes — all 13 tests must be completed
Individual test scores available without full batteryYes — each test produces a 0–1000 score independently
Cardio slot5K Run OR Concept2 Row — 2000m (mutually exclusive, athlete chooses one)
Section 2

How tests map to components

Most fitness tests express more than one physical quality. Each test distributes its score across components with defined weights. The component scores that result from this distribution are then combined into the overall Absolute Score.

Why tests distribute across multiple components. A 40-yard dash is primarily a speed test — but it also expresses power and agility. Pull-ups are primarily muscular endurance — but they also reflect muscular strength. Forcing each test to belong to exactly one component would discard real information. The scoring model captures each test's full expression by distributing its score across every component it meaningfully reflects, using weights that sum to 1.0.
Cardiovascular endurance Muscular strength Muscular endurance Power Speed Agility

Overall component weights

Once component scores are calculated from the test distributions above, they are combined into the Absolute Score using these weights.

Near-equal weighting is the point, not a compromise. The REALFIT Absolute Score is a general fitness standard — it is designed to measure whole-person fitness across all populations, from sedentary adults to elite athletes. A general standard should not privilege speed over endurance, or strength over agility. No single physical quality defines fitness for everyone. Cardiovascular endurance receives a modest premium (25% vs 15%) because the science on its relationship to longevity and all-cause mortality is unambiguous. The remaining five components are equal because we found no defensible basis for ranking them against each other in a universal standard.
Other Score Sets will — and should — weight differently. A police fitness standard should emphasize speed and muscular strength, because a foot pursuit and a physical confrontation are the job. A fire service standard should emphasize muscular and cardiovascular endurance, because carrying equipment up stairs in 60-pound gear for sustained periods is the job. These are not the same fitness profile, and a single Score Set should not pretend they are. The FITDAT library is the shared foundation — what you build on top of it should reflect your community's actual demands. The examples below show what those weights might look like.
Cardiovascular Endurance 25%, Muscular Strength 15%, Muscular Endurance 15%, Power 15%, Speed 15%, Agility 15%
These are illustrative examples, not published Score Sets. They exist to show how FITDAT's component framework can be adapted for different communities. Any organization can build a Score Set on FITDAT definitions using their own weights — the tests, protocols, and measurement infrastructure are shared. Only the scoring logic changes. Learn how to build your own →

Sports examples

Different sports demand radically different physical profiles. The same FITDAT tests — different weights.

Sport-specific Score Sets reward what the sport actually demands. An NFL receiver needs explosive speed and agility — the ability to separate from coverage in under two seconds. A soccer midfielder needs to sustain high-intensity effort for 90 minutes. A baseball player needs rotational power and burst speed for six seconds at a time. A CrossFit athlete needs everything simultaneously. A Score Set built for each of these communities would weight the same six components very differently — and every single one would use the same FITDAT test library as its foundation.
Sports Score Sets are one of the highest-value applications for FITDAT developers. Teams, academies, and combines already run these tests — they just don't have a standardized, versioned, reproducible scoring framework underneath them. FITDAT provides that foundation. Your Score Set provides the sport-specific interpretation on top. See existing Score Sets →
Section 3

Aggregation method

How individual test scores combine into component scores, and how component scores combine into the overall Absolute Score.

The key design decision — tests distribute across multiple components. Most fitness tests express more than one physical quality. A 40-yard dash is primarily a speed test, but it also expresses power and agility. Pull-ups are primarily muscular endurance, but they also reflect muscular strength. The scoring model captures this: each test distributes its score across multiple components with defined weights that reflect how much of each quality that test actually measures. This produces a more accurate component score than forcing each test to belong to exactly one component.
Step 1 — Individual test score (per test)
testScore = lookup(canonicalValue, scoringTable[testId])

Range: 0–1000 (integer)
Source: FITDAT RFS30 scoring tables (published in Section 5)
Each test has its own scoring table mapping canonical values to scores. Tables are defined data points — not derived from a formula.
Step 2 — Each test distributes its score across components
Per-test component distribution weights:

40 Yard Dash: Speed 80% · Power 10% · Agility 10%
Standing Long Jump: Power 80% · Muscular Strength 10% · Agility 10%
Shuttle Run — 60 Yards: Agility 75% · Speed 25%
Bench Press — 1RM: Muscular Strength 90% · Power 10%
Pull-Ups — Max Reps: Muscular Endurance 60% · Muscular Strength 30% · Agility 10%
Sprint — 400m: Muscular Endurance 40% · Speed 40% · Cardiovascular 20%
Wall Sit: Muscular Endurance 60% · Muscular Strength 40%
Squat Thrust Jumps: Muscular Endurance 30% · Cardiovascular 25% · Muscular Strength 20% · Power 15% · Agility 10%
Run — 5K (or 2K Row): Cardiovascular Endurance 80% · Muscular Endurance 10% · Speed 10%
Medicine Ball Throw: Power 80% · Muscular Strength 10% · Agility 10%
Plank Hold: Muscular Endurance 75% · Muscular Strength 25%
Push-Ups — Max Reps: Muscular Endurance 60% · Muscular Strength 30% · Power 10%
Back Squat — 1RM: Muscular Strength 85% · Power 15%
Weights sum to 1.0 per test. These distributions are defined in the scoring engine and represent how much of each fitness quality each test predominantly expresses.
Step 3 — Component score (weighted average across all contributing tests)
componentScore[C] = weightedSum / weightTotal

where:
weightedSum = Σ (testScore[t] × componentWeight[t][C]) for all tests t
weightTotal = Σ (componentWeight[t][C]) for all tests t

Example — Speed component:
weightedSum = (dash_score × 0.80) + (shuttle_score × 0.25) + (sprint_400m_score × 0.40)
weightTotal = 0.80 + 0.25 + 0.40 = 1.45
speedScore = weightedSum / 1.45
Each component score is a weighted average of all tests that contribute to it. Tests that contribute more to a component (higher weight) influence that component score more strongly.
Step 4 — Overall Absolute Score
absoluteScore = round(
(cardiovascular_endurance × 0.25) +
(muscular_strength × 0.15) +
(muscular_endurance × 0.15) +
(power × 0.15) +
(speed × 0.15) +
(agility × 0.15)
)
Weighted sum of component scores. Rounded to nearest integer. Scale: 0–1000.
Section 4

Reference bands

Reference bands provide human-readable interpretation of numeric scores. They are non-scoring — they do not affect the underlying score, they only describe it.

Two band sets — overall and per-test. The overall score and each individual test score use the same 9-band interpretive scale. The labels are intentionally neutral and non-medical — they describe fitness performance, not health status. "Not Fit" is a description of where you are today on a fitness scale, not a clinical judgment.
Overall score bands
Impossibly Fit950–1000
Maximally Fit850–949
Exceptionally Fit700–849
Well Fit500–699
Moderately Fit300–499
Minimally Fit100–299
Not Fit0–99
Per-test bands (all 14 tests)
Near Maximum951–1000
Elite900–950
Near Elite750–899
Well Above Average650–749
Above Average551–649
Average500–550
Below Average300–499
Well Below Average100–299
Near Minimum0–99
Section 5

Scoring table thresholds — all 14 tests

Key performance thresholds for each test at four score levels: 500 (Average), 750 (Near Elite), 900 (Elite), and 1000 (Near Maximum). Full tables are available in the FITDAT download.

How scoring tables are constructed. Scoring tables map measured performance to a 0–1000 score. Tables are not derived from a statistical formula — they are defined data points representing the known distribution of human performance for each test. The 500-point mark (Average) is calibrated to represent typical performance for a fit adult population. The 1000-point mark represents near-maximum human performance ever recorded. Tables are symmetric on the scoring scale but not on the performance scale — the difference between a 900 and a 1000 score is a much larger performance gap than the difference between a 500 and a 600.
40 Yard Dash
test_40yd_dash · seconds · lower = higher score
Average (500)7.47–7.50s500
Near Elite (750)5.95–6.00s750
Elite (900)4.93–5.00s900
Near Maximum (1000)4.15–4.24s1000
Standing Long Jump
test_standing_long_jump · meters · higher = higher score
Average (500)1.83–1.84m (6'0")500
Near Elite (750)2.24–2.26m (7'5")750
Elite (900)2.49–2.59m (8'2")900
Near Maximum (1000)3.51–3.81m (11'6"+)1000
Shuttle Run — 60 Yards
test_shuttle_60yd · seconds · lower = higher score
Average (500)16.00–16.08s500
Near Elite (750)14.25–14.32s750
Elite (900)13.00–13.08s900
Near Maximum (1000)10.00–10.75s1000
Bench Press — 1 Rep Max
test_bench_press_1rm · kg · higher = higher score
Average (500)61–63 kg (135–138 lbs)500
Near Elite (750)93–95 kg (205–210 lbs)750
Elite (900)125–133 kg (275–293 lbs)900
Near Maximum (1000)270–295 kg (595–650 lbs)1000
Pull-Ups — Max Reps
test_pullup_max · reps · higher = higher score
Average (500)5 reps500
Near Elite (750)10 reps750
Elite (900)20 reps900
Near Maximum (1000)40+ reps1000
400m Sprint
test_400m_sprint · seconds · lower = higher score
Average (500)1:40–1:41 (100–101s)500
Near Elite (750)1:15–1:16 (75–76s)750
Elite (900)1:00–1:01 (60–61s)900
Near Maximum (1000)0:42–0:44 (42–44s)1000
Wall Sit
test_wall_sit · seconds · higher = higher score
Average (500)1:30–1:31 (90–91s)500
Near Elite (750)2:00–2:08 (120–128s)750
Elite (900)4:00–4:12 (240–252s)900
Near Maximum (1000)8:20+ (500s+)1000
Squat Thrust Jumps — 2 min
test_squat_thrust_jump_2min · reps · higher = higher score
Average (500)24 reps500
Near Elite (750)36 reps750
Elite (900)60 reps900
Near Maximum (1000)100+ reps1000
5K Run
test_5k_run · seconds · lower = higher score
Average (500)25:00–25:11 (1500–1511s)500
Near Elite (750)22:30–22:35 (1350–1355s)750
Elite (900)19:30–19:41 (1170–1181s)900
Near Maximum (1000)12:00–13:00 (720–780s)1000
Concept2 Row — 2000m
test_concept2_2k_row · seconds · lower = higher score
Average (500)8:30–8:31 (510–511s)500
Near Elite (750)7:30–7:32 (450–452s)750
Elite (900)7:00–7:02 (420–422s)900
Near Maximum (1000)5:30–5:42 (330–342s)1000
Push-Ups — Max Reps
test_pushup_max · reps · higher = higher score
Average (500)25 reps500
Near Elite (750)40 reps750
Elite (900)60 reps900
Near Maximum (1000)100+ reps1000
Medicine Ball Throw
test_medicine_ball_throw · meters · higher = higher score
Average (500)6.10–6.22m (20')500
Near Elite (750)9.14–9.35m (30')750
Elite (900)12.19–12.80m (40')900
Near Maximum (1000)21.34–24.38m (70'+)1000
Plank Hold
test_plank_hold · seconds · higher = higher score
Average (500)1:30–1:31 (90–91s)500
Near Elite (750)2:00–2:08 (120–128s)750
Elite (900)4:00–4:12 (240–252s)900
Near Maximum (1000)8:20+ (500s+)1000
Back Squat — 1 Rep Max
test_back_squat_1rm · kg · higher = higher score
Average (500)70–72 kg (155–160 lbs)500
Near Elite (750)125–127 kg (275–280 lbs)750
Elite (900)166–174 kg (365–383 lbs)900
Near Maximum (1000)270–363 kg (595–800 lbs)1000
Section 6

Worked example

A complete score calculation for a hypothetical athlete — showing every step from raw input to Absolute Score.

Hypothetical athlete — fit adult male, recreational athlete (5K Run as cardio choice)

TestResultComponentScore
40 Yard Dash5.10sSpeed890
Standing Long Jump2.13m (7'0")Power700
Shuttle Run — 60 Yards14.80sAgility710
Bench Press — 1RM102 kg (225 lbs)Muscular Strength780
Pull-Ups — Max Reps12 repsMuscular Endurance780
400m Sprint72s (1:12)Muscular Endurance780
Wall Sit95s (1:35)Muscular Endurance510
Squat Thrust Jumps30 repsMuscular Endurance640
5K Run23:30 (1410s)Cardiovascular720
Push-Ups — Max Reps35 repsMuscular Endurance675
Medicine Ball Throw8.23m (27')Power660
Plank Hold110s (1:50)Muscular Endurance570
Back Squat — 1RM120 kg (264 lbs)Muscular Strength740
Speed component: 890 / 1 test = 890
Agility component: 710 / 1 test = 710
Power component: (700 + 660) / 2 tests = 680
Muscular Strength: (780 + 740) / 2 tests = 760
Muscular Endurance: (780 + 780 + 510 + 640 + 675 + 570) / 6 tests = 659
Cardiovascular: 720 / 1 test = 720

Absolute Score = (720×0.25) + (760×0.15) + (659×0.15) + (680×0.15) + (890×0.15) + (710×0.15)
= 180 + 114 + 98.9 + 102 + 133.5 + 106.5 = 735 — Exceptionally Fit
Section 7

Version history

Changes to the scoring specification are documented here. Prior versions remain valid for results recorded under those versions.

RFS30 v1.0
Apr 2026
Initial public release of open scoring specification. Component weights, scoring tables, aggregation method, and reference bands published in full. Specification matches live implementation in REALFITSCORE.com and REALFIT iOS app (TestFlight).
Disagree with something?

If you think a scoring threshold is wrong, a component weight is unjustified, or an aggregation decision is flawed — tell us. This specification exists to be scrutinized. That's the point. Challenges to the methodology strengthen the standard.

Submit feedback via REALFIT.com →
Build your own Score Set

This specification is a reference implementation showing how a Score Set should be built on FITDAT. Developers are encouraged to use it as a starting point — use the same tests, different weights, or entirely different scoring logic. The FITDAT library is the foundation either way.

Developer documentation →