← Blog

De wiskunde achter calorie-tracking

Elke calorie tracker doet rekenen namens jou. De meeste laten je de formules niet zien. Hier zijn ze, met uitgewerkte voorbeelden, in volgorde en elk voortbouwend op de vorige.

Deze post behandelt vijf lagen van berekening: hoe je basismetabolisme wordt geschat, hoe die schatting een dagelijks energiedoel wordt, hoe de app je werkelijke verbruik leert uit echte data, hoe voedingsitems schalen wanneer je een gedeeltelijke portie eet, en hoe een calorietekort zich vertaalt naar verlies van vet- en vetvrije massa. Elk getal is terug te voeren op een formule. Elke formule is terug te voeren op een bron.

Vijflaagse vergelijkingsstack: BMR voedt formule TDEE, die wordt verfijnd door adaptieve TDEE op basis van echte data, daarna omgezet in een tekort, en vervolgens geprojecteerd naar verandering in lichaamssamenstelling

Laag 1: BMR-schatting

Je Basal Metabolic Rate is de energie die je lichaam verbrandt in volledige rust: stil liggend, wakker, in een kamer met neutrale temperatuur. Dit is ongeveer 60-70% van je totale dagelijkse verbruik.

De meest gevalideerde formule is Mifflin-St Jeor (1990):

BMR (male)   = 10 x weight(kg) + 6.25 x height(cm) - 5 x age + 5
BMR (female) = 10 x weight(kg) + 6.25 x height(cm) - 5 x age - 161

Elke term vangt een fysiologische relatie. Zwaardere lichamen verbranden meer energie. Het gewichtsterm domineert. Langere lichamen hebben meer oppervlak en meer metabolisch actief weefsel. Het metabolisme daalt met de leeftijd. De sex-offset houdt rekening met verschillen in gemiddelde lichaamssamenstelling.

Uitgewerkt voorbeeld. Een man van 30 jaar, 82 kg, 178 cm:

10 x 82   = 820
6.25 x 178 = 1,112.5
5 x 30    = 150
sex offset = +5

BMR = 820 + 1,112.5 - 150 + 5 = 1,787.5 kcal

Dit is een populatiegemiddelde. Mifflin-St Jeor is afgeleid van indirecte calorimetrie-metingen bij 498 proefpersonen. Voor elk individu ligt de standaardfout rond ±200 kcal, wat betekent dat twee mensen met identieke gegevens een BMR kunnen hebben die 400 kcal uiteenloopt. De formule geeft je het midden van de belcurve, niet je persoonlijke meting.

Bron: Mifflin, M.D. et al. "A new predictive equation for resting energy expenditure in healthy individuals." American Journal of Clinical Nutrition, 1990.

Laag 2: van BMR naar TDEE

BMR is de ondergrens. Total Daily Energy Expenditure (TDEE) telt alles mee: lopen, werken, sporten, voedsel verteren, friemelen. De klassieke aanpak vermenigvuldigt BMR met een activiteitsfactor:

ActiviteitsniveauVermenigvuldigerWat het echt betekent
Sedentary1.200Bureauwerk, weinig lopen
Lightly Active1.375~8,000 stappen/dag of lichte training 2x/week
Moderately Active1.550~10,000 stappen + krachttraining 3x/week
Active1.725Fysiek werk of training 5x/week
Very Active1.900Zware training elke dag + actieve leefstijl

Voor ons uitgewerkte voorbeeld (BMR = 1,788 kcal, lightly active):

TDEE = 1,788 x 1.375 = 2,458 kcal

Het probleem zie je meteen zodra je het bekijkt: het verschil tussen niveaus is 0.175, wat neerkomt op ~310 kcal voor een BMR van 1,788. Dat is een hele banaan plus een eetlepel pindakaas. Als je het verkeerde activiteitsniveau kiest, en dat doen de meeste mensen, dan zit je TDEE-schatting er al honderden calorieën naast voordat je één maaltijd hebt gelogd.

Erger nog, de vermenigvuldigers kunnen NEAT (Non-Exercise Activity Thermogenesis) niet goed vangen: friemelen, houding, ijsberen, huishoudelijk werk. Alleen al NEAT verschilt per dag met 700+ kcal tussen mensen met identieke statistieken en trainingsgewoonten.

BMR / TDEE-calculator

Geslacht

Gewichtsterm--
Lengteterm--
Leeftijdsterm--
Geslachtscorrectie--

BMR--

Activiteit--

TDEE--

Laag 3: adaptieve TDEE

Statische formules schatten wat iemand zoals jij waarschijnlijk verbrandt. Adaptieve TDEE berekent wat jij echt hebt verbrand, door terug te rekenen vanaf wat er met je lichaam is gebeurd.

De kerninzichten: als je weet hoeveel calorieën je at en hoe je gewicht in de tijd veranderde, kun je je verbruik oplossen.

Het algoritme

Gegeven een venster van 28 dagen met data:

Stap 1. Bereken de gemiddelde calorie-inname over alleen de dagen met tracking. Dagen zonder voedingslog worden volledig uitgesloten, dus niet als nul geteld.

Stap 2. Smeer dagelijkse gewichtsmetingen glad met een 7-daagse Exponential Moving Average om ruis door water, glycogeen en natrium weg te filteren. Pas daarna een lineaire least-squares regressie toe op de gladgestreken reeks. De helling is je echte gewichtstrend in kg/dag.

Stap 3. Zet de gewichtshelling om naar calorieën:

caloric impact = daily weight slope x 7,700 kcal/kg

De 7,700 kcal/kg-waarde is de standaardbenadering voor de energiedichtheid van lichaamsweefsel. Een gewogen mix van vet met ~7,700 en vetvrije massa met ~1,800.

Stap 4. Schat TDEE:

TDEE = average daily intake - caloric impact

Als je afvalt, is het calorische effect negatief, dus komt TDEE hoger uit dan inname. Als je aankomt, komt het lager uit. Als je gewicht stabiel is, is TDEE gelijk aan je inname.

Stap 5. Beperk de dagelijkse aanpassing tot ±100 kcal ten opzichte van de vorige schatting. Zo voorkom je dat ruis tot wilde schommelingen leidt.

Uitgewerkt voorbeeld

Hier is een echte dataset van 28 dagen voor iemand die ongeveer 0.3 kg/week afvalt:

DagGewicht (kg)EMA (kg)CalorieënGelogd?
182.382.302,180Ja
482.582.352,210Ja
781.882.152,050Ja
1082.081.96--Nee
1481.781.722,100Ja
2180.981.122,180Ja
2481.080.932,120Ja
2880.780.722,050Ja

28-day adaptive TDEE example: raw weight dots bounce around while the EMA line reveals a clear downward trend, with a regression line showing -0.042 kg per day

De berekening:

Average intake (tracked days): 2,150 kcal/day
EMA weight slope (regression): -0.042 kg/day
Caloric impact: -0.042 x 7,700 = -323 kcal/day
Estimated TDEE: 2,150 - (-323) = 2,473 kcal

Dit getal weerspiegelt je echte metabolisme: NEAT, adaptatie, genetica, alles. Geen gokwerk over je activiteitsniveau.

Waarom 28 dagen

Daggewicht schommelt ±1 kg door vochtretentie, glycogeenvoorraden, voedselmassa onderweg en natriuminname. Voor iemand die 0.5 kg/week afvalt, is het verwachte signaal over 14 dagen ~1 kg, nauwelijks boven de ruisvloer. Een venster van 28 dagen pakt ~2 kg signaal tegen dezelfde ruis, en verdubbelt zo ongeveer de signaal-ruisverhouding.

Voor meer detail over vensterlengte, EMA-smoothing en convergentiegedrag, zie Why Your TDEE Calculator Is Probably Wrong.

Laag 4: macro-schaalvergroting

Wanneer je een voedingsitem logt, eet je zelden exact de portiegrootte uit de database. Macro scaling is de berekening die alles proportioneel aanpast:

scaling factor = consumed amount / serving size

Elke macro wordt met dezelfde factor vermenigvuldigd. Dit is lineaire schaalvergroting.

Uitgewerkt voorbeeld. Een database-item voor havermout: portie van 100g, 389 kcal, 13.2g eiwit, 66.3g koolhydraten, 6.9g vet. Je at 45g.

factor = 45 / 100 = 0.45

calories: 389 x 0.45 = 175.1 kcal
protein:  13.2 x 0.45 = 5.9g
carbs:    66.3 x 0.45 = 29.8g
fat:      6.9 x 0.45 = 3.1g

Dit is eenvoudig, maar er is een subtiel punt dat mensen in de war brengt: de macro's tellen niet altijd op tot de calorieën.

De Atwater-factoren (4 kcal/g eiwit, 4 kcal/g koolhydraten, 9 kcal/g vet) zijn benaderingen. De echte waarden verschillen per voedingsmiddel. Vezels leveren ongeveer 2 kcal/g, alcohol levert 7 kcal/g, en geen van beide is een standaardmacro. Wanneer een voedselfdatabase zowel totale calorieën als macro's vermeldt, komen die vaak uit onafhankelijke labmetingen. Na afronding van elke macro op één decimaal en toepassing van de Atwater-factoren kan de som 5-15 kcal per portie afwijken van de vermelde calorieën. Over een hele dag loggen stapelt dat op.

Dit is geen bug. Het is de inherente onnauwkeurigheid van het Atwater-systeem. Het totale aantal calorieën is nauwkeuriger dan de som van op macro's gebaseerde calorieën, omdat het totaal direct is gemeten via bombcalorimetrie of proximate analysis.

Laag 5: deficit-math en lichaamssamenstelling

De energiebalansvergelijking:

weight change = (intake - expenditure) / energy density of tissue

Een tekort van 500 kcal/dag zou 0.45 kg/week gewichtsverlies moeten opleveren als je de standaard 7,700 kcal/kg gebruikt. Maar die waarde gaat ervan uit dat al het verloren gewicht vet is. Dat is niet zo.

Het Forbes/Hall model voorspelt welk deel van gewichtsverlies vet is en welk deel vetvrije massa, op basis van hoeveel vet je draagt:

P-ratio = fat mass / (fat mass + 10.4)

P-ratio is het deel van de gewichtsverandering dat uit vet komt. De constante 10.4 is empirisch afgeleid uit onderzoeken naar lichaamssamenstelling (Forbes 1987, verfijnd door Hall 2007).

Meer lichaamsvet betekent een hogere P-ratio, dus meer van het verlies is vet. Minder lichaamsvet betekent dat meer vetvrije massa wordt opgeofferd. Daarom zijn agressieve tekorten bij een laag vetpercentage contraproductief: de wiskunde werkt tegen je.

Uitgewerkt voorbeeld. Een persoon van 80 kg met 22% lichaamsvet, met een tekort van 500 kcal:

Fat mass:       80 x 0.22 = 17.6 kg
P-ratio:        17.6 / (17.6 + 10.4) = 0.629
Mixed density:  0.629 x 7,700 + 0.371 x 1,800 = 5,510 kcal/kg
Daily loss:     500 / 5,510 = 0.091 kg/day
Daily fat loss: 0.091 x 0.629 = 0.057 kg/day
Weekly total:   0.64 kg
  of which fat: 0.40 kg (63%)
  of which lean: 0.24 kg (37%)

P-ratio outcome: a 500 kcal deficit at 22% body fat produces 0.64 kg per week of total loss, split 63% fat and 37% lean, not 0.45 kg of pure fat

Niet 0.45 kg/week puur vet. Het echte getal hangt af van je uitgangspunt.

Bij 35% lichaamsvet is de P-ratio 0.77: bijna 80% van het verlies is vet. Bij 12% lichaamsvet zakt die naar 0.54: bijna de helft van het verlies is vetvrije massa. Zelfde tekort, andere lichamen, andere uitkomsten.

P-Ratio Calculator

%

Vetmassa--
Vetvrije massa--
P-ratio--
Gemengde dichtheid--
Dagtotaal--
Dagelijks vet--
Dagelijkse lean--

Weektotaal--
waarvan vet--
waarvan vetvrij--

Bronnen: Forbes, G.B. "Lean body mass-body fat interrelationships in humans." Nutrition Reviews, 1987. Hall, K.D. "Body fat and fat-free mass inter-relationships." British Journal of Nutrition, 2007.


Waar je dit in de app ziet

Dit zijn de vergelijkingen die draaien in Onyx Tenet. Zo zien ze er in de praktijk uit.

De TDEE-kaart toont zowel de formule-schatting als de aangepaste waarde, met een confidence-badge en statistieken over datadekking. De TDEE Trajectory-grafiek laat zien hoe de schatting zich in de tijd ontwikkelt. In dit voorbeeld komt de adaptieve TDEE (2,163 kcal) dicht in de buurt van de formule-schatting (2,172 kcal), bevestigd door 26 wegingen en 28 getrackte dagen.

Onyx Tenet TDEE-kaart met aangepaste TDEE van 2,163 kcal, badge met HOGE betrouwbaarheid, schatting van de formule van 2,172 kcal, Watch-correctiefactoren en een TDEE-trendgrafiek over 30 dagen

De weeksamenvatting past de energiebalansvergelijking uit Laag 5 toe. Gemiddelde inname (1,991 kcal) minus gemiddelde TDEE (2,254 kcal) geeft een dagelijks tekort van 263 kcal, wat neerkomt op -0.24 kg/week gewichtsverandering. De macro's van elke dag zijn zichtbaar in de uitsplitsing hieronder.

Onyx Tenet wekelijkse samenvatting met een gemiddelde inname van 1,991 kcal, een gemiddelde TDEE van 2,254 kcal, een tekort van 263 kcal per dag en een verwachte gewichtsverandering van -0.24 kg per week

Elk getal is terug te voeren op een van de bovenstaande vergelijkingen. Geen black boxes.

Adaptive TDEE in Onyx Tenet is gratis. Het activeert automatisch na ongeveer 4 weken loggen en wegen. Geen abonnement vereist.

Gerelateerde artikelen