Methodology · Metabolism calculator

The method behind the metabolism calculator

From resting expenditure to macronutrient breakdown — the rules retained, and why.

I built this calculator because the ones I tested on the market failed on my real cases. The example that came up most: a 100 kg client at over 30% body fat, prescribed 200 g of protein a day. A quantity almost impossible to hold across a day, and one that adds pointless calories on top — because the dose is set on a weight that fat inflates, not on the mass that actually needs feeding.

The calculator turns a few profile inputs into a concrete target: a daily calorie intake and its macronutrient breakdown. The point is to build a meal plan that lines up with the person's goals from those figures.

The first part establishes the calorie chain, in three steps:

Those three steps are enough for a standard profile. They break down at the extremes. That is where the second part comes in, the more technical one: splitting that total into macronutrients — the rules I found in no other tool. A strict dosing order, protein then fat then carbohydrate with what remains, and bounds on each macro to rule out absurdities like 200 g of protein imposed on a body that has no use for it.

Then come the safeguards: pre-written messages that appear according to the inputs, to steer profiles outside the general case toward an alternative rather than hand them a result that does not fit. The last part leaves calculation aside — it sets the legal and ethical frame of the tool: who it is for, and what it does not replace.

What follows lays out these rules in that order, from the simplest to the most complex.

Vue d’ensemble de la méthode Les quatre étapes du calcul, du métabolisme de base à la répartition des macronutriments 1 BMR MÉTABOLISME DE BASE Deux équations validées : Mifflin–St Jeor par défaut Katch-McArdle si % de masse grasse connu 2 TDEE DÉPENSE TOTALE Trois questions : • pas quotidiens • temps assis • jours d’activité → facteur d’activité 3 Objectif ADAPTATION CALORIQUE Maintien = TDEE, aucun ajustement Prise (bulk) + 400 kcal Perte (cut) − 400 kcal 4 Macros RÉPARTITION Règles dédiées pour : • Protéines • Lipides • Glucides • Fibres
Overview — the four steps of the calculation.

1 Step

Basal metabolic rate

Basal metabolic rate (BMR) is energy expenditure at rest: the calories the body burns over 24 hours with no activity at all. It is the first value the calculator estimates, since everything downstream rests on it.

Two equations are available. The choice between them turns on a single input: whether body fat percentage is given.

Without body fat: Mifflin–St Jeor.

This is the default equation. Published in 1990 by Mifflin and St Jeor, it asks for four inputs only — sex, age, height, weight. I retain it for two reasons. Simplicity: everyone knows those four variables, with no measurement or equipment. Scientific consensus: since publication it has displaced older equations such as Harris–Benedict (1919) and remains the recommended predictive estimate for healthy adults, validated on large samples. On a profile with no body composition data, a more complex formula would add nothing more reliable.

With body fat: Katch–McArdle.

As soon as the user enters body fat, the calculator switches to Katch–McArdle. This equation, put forward by physiologists Frank Katch and William McArdle in 1996, works on lean mass rather than total weight — the tissue that is metabolically active. Muscle burns energy at rest, fat far less. Knowing the share of each allows a closer estimate.

The switch corrects in both directions.

Katch–McArdle recomputes BMR from actual composition, and the correction can go up or down.

On an average profile, around 18% body fat, the two equations converge. A man of 80 kg, 178 cm, 30 years old: Mifflin gives 1,770 kcal, Katch 1,790 — a 20 kcal gap.

The gap shows at the extremes. The same man at 85 kg but 9% body fat: Mifflin 1,830 kcal, Katch 2,040. Katch raises BMR by 210 kcal, because at equal weight this subject carries far more muscle. The other way, on a profile at 32% body fat, Katch brings BMR back down about sixty calories below Mifflin.

Against a BMR of 1,800 to 2,000 kcal, these gaps stay minor — a few percent. But they matter: 200 kcal at the base carries through to total expenditure and then to the target. Entering body fat therefore anchors the estimate on the body's real composition, beyond the scale reading alone.

2 Step

Real expenditure: from rest to daily life

Basal metabolic rate covers expenditure at rest only. To get real expenditure across a day — the TDEE (Total Daily Energy Expenditure) — BMR is multiplied by an activity factor.

TDEE = BMR × activity factor

Everything hinges on the choice of that factor. Most calculators ask the user to classify himself: "sedentary", "moderately active", "very active". The problem is well known in the field: almost everyone overrates himself. An office worker who hits the gym twice a week calls himself "active" while sitting ten hours the rest of the time. The factor comes out too high, the TDEE inflated, and the calorie target wrong from the start.

I replaced self-assessment with three factual questions. The user describes his behaviour; the calculator infers the level.

Three questions, three distinct measures.

Each question captures a different component of expenditure. None overlaps with the others.

Each answer is worth 0, 1 or 2 points. The total runs from 0 to 6.

From score to factor.

The total score sets the activity factor applied to BMR.

ScoreLevelFactor
0Sedentary1.20
1–2Lightly active1.30
3–4Moderately active1.45
5Very active1.60
6Extremely active1.75

The cut-offs on each question and the progression of the factors were set by iteration, testing the grid against real profiles until each tier matched a credible level of expenditure.

Example.

The man from section 1 — 80 kg, Mifflin BMR 1,770 kcal. He walks 10,000 steps a day (1), sits 6h (1), trains 0 times over the week (0): score 2, factor 1.30. His TDEE comes out at 1,770 × 1.30 = 2,300 kcal. The goal is then calculated from that base.

3 Step

Adapting to the goal

TDEE is what the body spends to hold its weight. The calorie target follows from it according to the aim. Three cases.

Maintenance.

The target is TDEE, with no adjustment. You eat what you spend.

Muscle gain.

The target is TDEE + 400 kcal. A moderate surplus. Too wide a surplus does not build more muscle, it mostly adds fat to lose again later; 400 kcal are enough to support muscle building without overshoot.

Weight loss.

The trickiest case. I set the deficit at 400 kcal. A moderate deficit, sustainable over time, that preserves lean mass — beyond it, comfort and adherence suffer. For low-expenditure profiles, where 400 kcal would still weigh too heavily, the safety calorie floor (section 4) prevents dropping below a minimum. The two work together: the fixed deficit bounds the cut from above, the floor bounds intake from below.

Example.

The man followed since section 1 — TDEE 2,300 kcal, goal loss. Deficit 400 kcal → target 1,900 kcal, above the male floor (1,400). Intake retained: 1,900 kcal.

4 Step

The safety calorie floor

Step 3 produces a target. This section adds a minimum below which the target never drops, whatever deficit is computed. It applies to weight loss only.

Why a floor.

On a low-expenditure profile, a 400 kcal deficit can push the target under the vital minimum. A small sedentary woman whose TDEE sits near 1,400 kcal would land at 1,000 kcal after the deficit — too low to cover basic needs, which eats into lean mass and breaks adherence. The floor prevents that: below the minimum, the target is raised back to it.

Why at this level.

The values often cited in the literature — around 1,200 kcal for women, 1,500 for men — proved too high on part of my client base. At the standard floor, their deficit became too small and loss would not start. Coming down about a hundred kcal gives the deficit room to work, without falling into dangerous intakes. The choice is empirical: it comes from real cases where the higher floor blocked progress, not from a theoretical target.

This floor targets the general case. Some profiles fall outside it — an elite athlete needing to cut fast before a deadline, for instance — and general recommendations do not apply to them. But those profiles are almost always already supervised. The tool does not try to cover them: for them, it flags its limits (section 7) rather than producing a target that does not fit.

Mechanism.

The floor is the last lock in the calorie chain. It applies after the deficit:

Final intake = max(target after deficit ; applicable floor)

When the floor wins, the real deficit falls under the theoretical 400 kcal: safety takes priority over speed of loss.

Example.

A sedentary woman, TDEE 1,400 kcal, goal loss. Deficit 400 → target 1,000 kcal. The female floor (1,100) takes over: intake retained 1,100 kcal, a real deficit of 300 kcal. For the man followed from the start (1,900 kcal, floor 1,400), the floor does not come into play — he stays at 1,900.

5 Step

The reference weight

Up to here the whole calculation dealt with calories. From here macronutrients are dosed, and the first question is: on which weight?

The reflex would be to take the scale reading. For protein that is wrong. The role of protein in a deficit is to preserve muscle. Fat mass does not need protein to be maintained. Dosing protein on the total weight of someone carrying a lot of fat therefore overstates his needs: the calculation preserves a tissue that asks for nothing.

The reference weight corrects this. It is the weight protein is calculated on — not necessarily the scale reading. Fat is always calculated on current weight (section 6); this section concerns protein only.

Precedence.

If body fat is given, it decides (lean mass or total weight, according to the threshold). The declared build — athletic / average / overweight — only serves when body fat is absent.

Athletic or average profile → current weight.

Little or no excess fat to exclude. The scale reading is a reliable base, used as is.

Declared overweight → adjusted weight.

When the user declares fat to lose without giving a percentage, dosing does not run on raw weight. An adjusted weight is used, taken from clinical nutrition (adjusted body weight):

Adjusted weight = ideal weight + 0.25 × (current weight − ideal weight)
Ideal weight = 23 × height² (in m)

A BMI of 23 places the ideal weight in the middle of the WHO health range (18.5–24.9): a plausible target for the frame. The 0.25 coefficient reflects a simple clinical assumption — about a quarter of the excess weight above ideal is active tissue (supporting muscle, organs), the rest is fat. Only a quarter of that excess therefore counts toward the weight used to dose protein.

Safeguard: if current weight is at or below ideal weight, the "overweight" declaration is ignored and the calculation returns to current weight. This avoids the absurdity of a lean person declaring overweight by mistake.

Body fat given (precise mode) → lean mass above a threshold.

When composition is known, the treatment depends on the fat level.

Summary of the protein reference weight:

InputReference weight
Body fat ≥ 22% M / 30% WLean mass
Body fat < thresholdCurrent weight
No body fat, athletic or averageCurrent weight
No body fat, overweight (and current > ideal)Adjusted weight
Le poids de référence pour les protéines Sur quel poids doser les protéines, selon ce que le calculateur connaît de la composition ÉTAPE 4 · RÉPARTITION DES MACROS OUI NON OUI NON Athlétique / Moyenne Surpoids OUI NON — garde-fou % de masse grasse renseigné ? BF% ≥ 22 % (H) / 30 % (F) ? Profil déclaré ? Poids actuel > poids idéal (IMC 23) ? Masse maigre poids × (1 − %MG) Poids actuel le poids de la balance Poids ajusté PI + 0,25 × (Pa − PI) EXEMPLE — homme 1,80 m, 100 kg sur la balance, en perte · trois profils, trois poids de référence 100 kg → 70 kg 2,4 g/kg → 170 g de protéines 100 kg → 100 kg 2,0 g/kg → 200 g (au plafond) 100 kg → 80 kg 2,0 g/kg → 160 g de protéines
The reference weight by profile — the same 100 kg on the scale leading to three results.

Example.

Woman, 1.65 m, 90 kg, declared overweight, goal loss.

A 35 g protein gap — about 140 kcal, which go back into carbohydrate and fat instead of protein she would not put to use. The calorie target does not move: the reference weight corrects the breakdown, not the total.

6 Step

The macronutrient breakdown

The calorie target is set. This step cuts it into protein, fat and carbohydrate. Two principles govern it.

Principle 1 — dose in g/kg, not as a percentage of calories.

The classic percentage split (40/30/30 and the like) ties macros to the calorie total, not to the body. Two people on the same intake but of opposite frames receive the same grams of protein, which makes no sense: protein need depends on the mass to maintain, not on the calorie count. Protein and fat are therefore calculated in g/kg — protein on the reference weight (section 5), fat on current weight — and carbohydrate takes what remains.

Principle 2 — an order of priority: protein → fat → carbohydrate.

This order is a hierarchy. Protein first: it preserves lean mass, non-negotiable in a deficit. Fat next: below a threshold, it compromises hormone production. Carbohydrate last: it absorbs the remaining calories. Not the least important, but the adjustment variable.

Protein

Base ratios, applied to the reference weight:

GoalMenWomen
Loss2.01.8
Maintenance1.61.4
Gain1.81.6

When the reference weight is lean mass (body fat ≥ 22% men / 30% women, section 5), each ratio is raised by +0.4 g/kg. Dosing on lean mass excludes fat from the calculation: a higher protein density can therefore be applied to that tissue without overloading total intake.

GoalMen (lean mass)Women (lean mass)
Loss2.42.2
Maintenance2.01.8
Gain2.22.0

An absolute ceiling applies in every case, including lean-mass mode: 200 g men / 150 g women. Protein synthesis saturates around 1.6–2.2 g/kg (Morton et al., 2018). The lean-mass ratios draw on the Helms meta-analysis (2014) and ISSN recommendations for deficit phases.

Fat

Calculated on current weight, never on an adjusted weight: adipose tissue does not waive hormonal needs, which bear on the real body.

Goalg/kg
Loss1.0
Maintenance1.0
Gain1.1

Fixed bounds: floor 60 g men / 50 g women, ceiling 120 g men / 100 g women. The floor is a hormonal safety threshold — the literature places the drop in testosterone around 0.5–0.6 g/kg in men, with cycle disruption in women below a comparable level.

Carbohydrate

What remains, once protein and fat are taken out of the intake:

Carbohydrate = (intake − protein × 4 − fat × 9) / 4

Floor: 80 g. Below it, basic function and performance drop off.

The cascade — when carbohydrate falls under 80 g

On a profile in a tight deficit (low calories, high protein and fat), the remainder left to carbohydrate can fall under the floor. That is not allowed to stand: calories are recovered from the other macros, in a strict order.

  1. Lower fat to its floor (60 / 50). The fat margin above the hormonal threshold is drawn on first.
  2. If that is not enough, lower protein to 1.6 g/kg — the muscle-preservation threshold, never below.
  3. Recompute carbohydrate.

This order is the priority hierarchy taken backwards: the least critical margin is sacrificed first. If, after those two steps, carbohydrate stays under 80 g, the calorie intake itself is too low — it is already bounded by the floor from section 4, and a message flags it (section 7).

La cascade des glucides Quand les glucides tombent sous le plancher, on récupère des calories dans un ordre strict ÉTAPE 4 · RÉPARTITION DES MACROS NON NON NON OUI OUI OUI Glucides = reste des calories (apport − P×4 − L×9) / 4 Glucides ≥ 80 g ? ① Baisser les lipides jusqu'au plancher (60 H / 50 F) Glucides ≥ 80 g ? ② Baisser les protéines jusqu'à 1,6 g/kg (jamais en dessous) Glucides ≥ 80 g ? Apport trop bas déjà borné par le plancher → message (section 7) Répartition validée EXEMPLE CONCRET Femme · 1,65 m · 90 kg · perte · apport 1 400 kcal poids de référence 70 kg (poids ajusté) · poids actuel 90 kg Calcul initial Protéines 1,8 × 70 ≈ 125 g (500 kcal) Lipides 1,0 × 90 = 90 g (810 kcal) Glucides = (1 400 − 500 − 810) / 4 ≈ 22 g 22 g < 80 g → cascade déclenchée ① Lipides ramenés au plancher 90 g → 50 g (450 kcal) Glucides = (1 400 − 500 − 450) / 4 ≈ 112 g 112 g ≥ 80 g → on s'arrête ② baisse des protéines : non nécessaire ici RÉPARTITION FINALE 125 g protéines · 50 g lipides · 112 g glucides Fibres : 15 × 1,4 ≈ 21 g · contrôle : 500 + 450 + 448 ≈ 1 400 kcal La marge lipidique a été sacrifiée pour ramener les glucides au-dessus du seuil — les protéines n'ont pas eu à bouger.
The carbohydrate cascade — the logic on the left, the worked example on the right.

Fibre

15 g per 1,000 kcal of intake. Indexed on calories rather than g/kg, because fibre need follows total food volume, not body mass.

Example — standard breakdown

The man followed from the start: 80 kg, 178 cm, declared "average" (no body fat), goal loss, intake 1,900 kcal. Average build → reference weight = current weight = 80 kg.

Check: 640 + 720 + 540 = 1,900 kcal. The full chain: 1,770 (BMR) → 2,300 (TDEE) → 1,900 (target) → 160 P / 80 F / 135 C.

Example — the cascade fires

Woman, 1.65 m, 90 kg declared overweight → reference weight 70 kg (adjusted weight, section 5), current weight 90 kg. Loss, intake low at 1,400 kcal.

7 Step

Safeguards and contextual messages

The calculator can display messages alongside the result. The principle governing them: a message appears only under a precise condition, and never otherwise. Each message matches a situation actually detected in the calculation, and disappears as soon as it does not apply.

Two rules complete this principle:

Five messages, in three families.

The two profile disclaimers (direct exit route)

They flag that the profile falls outside the general case the tool is built to cover. That is where redirection is legitimate.

Disclaimer A — very active profile, outside loss Trigger: activity score 6/6 and goal ≠ loss. Your activity level is very high. At that rate, your real expenditure can exceed the calculator's estimate: take this intake as a starting point and adjust it against your weight over two to three weeks. To set these numbers precisely against your practice rather than blind, personalized coaching goes straight to the point. [→ CTA]
Disclaimer B — very low body fat Trigger: body fat < 10% (men) / < 17% (women). Hidden if A shows. At this level of body fat, you are on an atypical profile — athlete or specific preparation — where general recommendations reach their limits. A standard calculation does not replace individual follow-up at this stage. If that is your situation, let's talk directly and build something suited to your goal. [→ CTA]

The two calculation signals (light exit route)

They explain a decision the tool took during the calculation. The user has a valid result; the message gives context.

Low carbohydrate — the cascade fired Trigger: initial carbohydrate under 80 g, cascade activated (section 6). On your profile, carbohydrate was brought to its minimum and the other macros adjusted to hold the target. This is a demanding deficit: workable, but it asks for discipline and for watching your energy and recovery. To make this kind of plan hold over time, coaching adapts it to your daily life. [→ discreet link]
Floor reached — intake raised to the safety threshold Trigger: final intake brought back to the calorie floor (section 4). Your intake was raised to a safety threshold. Going lower would not take off more: it would mostly weaken your muscle mass and your energy. Loss will therefore be more gradual than the deficit aimed for — that is deliberate, and more durable. If it does not start despite this, the reflex is not to cut further but to review the whole picture: let's talk. [→ discreet link]

The precision indicator (permanent, no exit route)

It warns of nothing: it tells the user which calculation mode is in use and invites him to refine it. Two states, according to whether body fat is given.

Standard mode The calculation rests on your weight, height, age and sex (Mifflin–St Jeor equation). Enter your body fat percentage to switch to precise mode — the estimate will then rest on your actual lean mass.
Precise mode Your body fat percentage is taken into account: metabolism is estimated on your lean mass (Katch–McArdle) and your protein is dosed on that same tissue. This is the closest estimate the tool produces.

8 Step

The frame and safety

The seven previous sections describe what the tool calculates. This one describes what it refuses to do.

Adults only — a hard block

Under 18, the calculator computes nothing. No warning displayed above a result that shows anyway: the result does not appear at all. Access is cut upstream, with a redirection message.

The choice is deliberate. A growing body does not have the same needs as an adult, and none of the equations used here is validated for adolescents.

A minor's redirection does not point to my coaching. It steers him toward a trusted adult or a health professional.

Message displayed to a minor This tool is for adults only.
Before 18, the body is still growing and its needs are not calculated this way. The equations used here are not valid for a developing profile.
If you have questions about your diet, talk to a trusted adult, a doctor or a health professional.

No data collected

The calculator runs 100% in the browser. The data entered — weight, height, age, composition — is neither stored nor sent to a server. The calculation happens on the device, and nothing leaves it.

This is not medical advice

The tool produces an estimate, not a prescription. The equations are statistical averages: they know nothing of a current treatment, a thyroid disorder, kidney disease or a pregnancy. For those situations, a health professional takes precedence over any automatic calculation.

Legal frame

The tool's legal notice covers the applicable French frame (LCEN), limitation of liability, the age restriction, data confidentiality and intellectual property. It states that the tool does not substitute for medical advice.


Scientific references