How We Calculate: Every Equation, Registered
This page is the contract between the calculators and you: what "transparent" means here in four concrete states, a row-by-row registry of every model behind the nine tools, how changes are logged, and how to correct us.
The four states of formula transparency
A formula is only as trustworthy as the chain connecting the published paper to the number on your screen. We hold every calculator to four states, and each state has a concrete artifact you can inspect:
1. Page statement — every result names the equation it came from (for example "Mifflin–St Jeor 1990") and the version currently running, right next to the number. If a page shows a result without its equation, that is a bug and this paragraph is the standing report of it.
2. Implementation evidence — the computation layer is a set of pure functions with no DOM and no string formatting inside the math, covered by a regression suite that asserts every acceptance sample from the specification: the Mifflin check cases (male 80 kg / 180 cm / 30 y → 1,780 kcal; female 60 kg / 165 cm / 30 y → 1,320 kcal), the Katch–McArdle chain (80 kg at 20% body fat → FFM 64 kg → 1,752 kcal), the BMI case (80 kg at 1.80 m → 24.7), the Navy body fat worked example, and the official NASEM 2023 sample (male, 30 y, 180 cm, 80 kg, sedentary → 2,726 kcal/day). A change that breaks any sample fails the build.
3. Behavioral consistency — what the test asserts is what the page displays. Display values are rounded once, at the display layer, from full-precision internals; the page never silently rewrites your input (negative carbohydrate outcomes surface as explicit conflict warnings, out-of-range entries are rejected at the form, and clamped calorie floors are announced with the value). With JavaScript disabled, the page degrades to static explanation instead of pretending to compute.
4. Academic basis — each model carries an evidence role and a source identifier from the registry below, and every tool page ends with reference cards stating what each source supports and what it does not. A citation here is a claim about provenance, not a claim of clinical validation.
The activity-multiplier assumption, stated plainly
The TDEE multiplier set (1.2 / 1.375 / 1.55 / 1.725 / 1.9) is the weakest link in the whole site, and we mark it as such on the page where it is used: it is a rough mapping from self-reported activity to energy expenditure, not a systematically validated model. Where a stronger option exists, we take it — the TDEE page also runs the NASEM 2023 estimated-energy-requirement equation as a second reading, and the calibration content tells you how to replace both with a four-week measurement of your own trend. Honesty about which assumption is doing the work is part of the calculation.
Parameter–source registry (all nine tools)
model_id / equation_version / source_identifier / evidence_role / population_scope — each row links to the tool it powers.
Update policy
Every entry in the registry is versioned, and any change to an equation, a coefficient, a boundary, or a source triggers three obligations: the version string increments, a dated line appears in the update log below, and the regression suite must pass on the new implementation before anything ships. Equations are never "improved" silently — if the literature moves (a newer EER revision, a re-validated Navy equation), the old version stays visible in the log with the reason for retirement.
Content wording, rounding display, and styling changes do not bump equation versions; only changes that could alter a computed result do. When we cannot verify a proposed change against the primary source, the change does not ship — the burden of proof sits on the change, not on the reader.
2026-10-25 — Registry established at v1.0 for all nine tools, matching the specification oracle and acceptance samples.
Correct us
Found a discrepancy between a page and its source, a broken sample in the regression suite, or a measurement protocol we describe wrong? Email [email protected] with the page, the value you got, and what you expected. Valid reports get fixed, re-run through the regression suite, and logged above with a credit line if you want one. The calculators are small and statically verifiable precisely so that a correction can travel from your email to the live page in one review cycle.
| Tool | Model ID | Equation version | Source identifier | Evidence role | Population scope |
|---|---|---|---|---|---|
| tdee-calculator | tdee.static.mifflin | Mifflin–St Jeor 1990 v1.0 | PMID 2305711; multipliers declared rough mapping | Predictive equation (BMR) × assumption layer (multipliers) | Adults 10–100 y, 30–250 kg, 120–220 cm |
| tdee-calculator | tdee.eer.nasem2023 | NASEM 2023 EER v1.0 | DOI 10.17226/26818 (official coefficients) | Official-report equation, second reading | Adults; BMI < 18.5 out of scope per official guidance |
| calorie-calculator | calorie.goal.tdee7700 | TDEE + 7700 kcal/kg rule v1.0 | 7700 kcal per kg rule; floor 1500/1200 kcal (male/female) per clinical-practice convention | Arithmetic on TDEE model; floor is a safety clamp, not a recommendation | Adults; targets ≤ floor are clamped with an explicit notice |
| bmr-calculator | bmr.mifflin1990 · bmr.hb1984 · bmr.km1991 | Three-model comparison v1.0 | PMID 2305711; Roza & Shizgal 1984; PMID 1957828 (Cunningham 1991; commonly known as Katch–McArdle) | Predictive equations; KM requires body fat in 2–60% | KM valid only with a measured FFM input (body fat page) |
| macro-calculator | macro.split.atwater4949 | 4/4/9 American Atwater v1.0 | Atwater factors; AMDR default points (IOM 2005) | Energy-partition arithmetic; defaults are stated, not "research optimal" | Adults; conflicts (negative carb solve) surface as warnings, never silent fixes |
| protein-calculator | protein.gkg.range | 0.8–2.0 g/kg range v1.0 | IOM 2005 RDA 0.8; ISSN position 1.4–2.0; Morton 2018 (1.6) | Evidence-anchored range; value chosen by goal | Adults; renal disease and pregnancy excluded (see disclaimer) |
| carb-calculator | carb.amdr4565 | AMDR 45–65% v1.0 | IOM 2005 AMDR | Population reference intake range, grams output | Adults; fiber guidance noted, not individualized |
| calorie-deficit-calculator | deficit.plan.7700 | Deficit schedule v1.0 | 7700 kcal/kg; Hall 2011, DOI 10.1016/S0140-6736(11)60812-X | Initial-estimate projection with adaptation caveat | Adults; output labeled estimate, not commitment |
| body-fat-calculator | bf.navy1984.m · bf.navy1984.f | Hodgdon & Beckett 1984 v1.0 | NHRC Reports 84-11 / 84-29 (DTIC ADA143890 / ADA146456) | Anthropometric estimate vs. underwater weighing (SEE of a few points) | Adults; tape protocol dominates error |
| bmi-calculator | bmi.who8 | WHO 8-level v1.0 | WHO TRS 854 (1995), TRS 894 (2000); Keys 1972, PMID 4650929 | Population screening index + Prime + Ponderal companions | Adults; not applicable to children (percentile charts) |