カロリートラッキングの数式のしくみ
すべてのカロリートラッカーは、あなたの代わりに計算しています。たいていは、その式を見せません。ここでは、順番に、具体例つきで、前の式を土台にしながら示します。
この投稿では、計算の5層を扱います。基礎代謝の推定。その推定から日々のエネルギー目標を出す方法。実際のデータからアプリが消費量を学習する仕組み。部分量を食べたときに食品記録をどうスケールするか。そして、カロリー赤字が脂肪と除脂肪組織の減少にどうつながるか。すべての数値は式にたどれます。すべての式は出典にたどれます。
レイヤー1: BMRの推定
基礎代謝率は、あなたの体が完全安静で消費するエネルギーです。じっと横たわり、起きていて、室温が中立な部屋にいる状態です。これは1日の総消費量のおよそ60〜70%を占めます。
最も検証されている式は、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
各項は生理学的な関係を表しています。体重が重いほど消費エネルギーは増えます(体重項が支配的です)。身長が高いほど表面積が増え、代謝的に活発な組織も多くなります。代謝は年齢とともに低下します。性別による補正は、平均的な体組成の違いを反映します。
具体例。 30歳男性、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
これは集団平均です。Mifflin-St Jeorは、498人の間接熱量測定データから導かれました。個人レベルでは、標準誤差はおよそ±200 kcalです。つまり、同じ条件の2人でもBMRが400 kcal違うことがあります。この式が返すのはベルカーブの中心であって、あなた個人の実測値ではありません。
出典: Mifflin, M.D. ほか. "A new predictive equation for resting energy expenditure in healthy individuals." American Journal of Clinical Nutrition, 1990.
レイヤー2: BMRからTDEEへ
BMRは下限です。総消費エネルギー量(TDEE)は、それ以外すべてを足し込みます。歩くこと、働くこと、運動すること、食べ物を消化すること、そわそわ動くこと。従来の方法では、BMRに活動係数を掛けます。
| 活動レベル | 係数 | 実際の意味 |
|---|---|---|
| Sedentary | 1.200 | 座り仕事、歩行は最小限 |
| Lightly Active | 1.375 | 1日約8,000歩、または週2回の軽い運動 |
| Moderately Active | 1.550 | 1日約10,000歩 + 週3回の筋力トレーニング |
| Active | 1.725 | 身体を使う仕事、または週5回のトレーニング |
| Very Active | 1.900 | 毎日のハードトレーニング + 活動的な生活 |
先ほどの例(BMR = 1,788 kcal、Lightly Active)の場合。
TDEE = 1,788 x 1.375 = 2,458 kcal
問題は、見ればすぐにわかります。レベル間の差は0.175で、BMRが1,788 kcalなら約310 kcalに相当します。バナナ1本にピーナッツバター大さじ1を足したくらいです。活動レベルを間違えると(しかも多くの人がそうします)、1食も記録していない段階でTDEEの推定が数百 kcalずれます。
さらに悪いのは、この係数ではNEAT(Non-Exercise Activity Thermogenesis: 非運動性活動熱産生)を捉えきれないことです。そわそわ動くこと、姿勢を保つこと、歩き回ること、家事。NEATだけで、体格や運動習慣が同じ人同士でも1日700 kcal以上の差が出ます。
BMR / TDEE計算機
Mifflin-St Jeor式
レイヤー3: 適応型TDEE
静的な式は、あなたのような人がたぶんどれだけ消費するかを見積もります。適応型TDEEは、あなたの体で実際に起きたことを逆算して、あなたが実際に消費した量を計算します。
核となる考え方はこれです。摂取したカロリー量と、体重の変化がわかれば、消費量を解けます。
アルゴリズム
28日間のデータがあるとします。
ステップ1. 記録がある日のみで平均摂取カロリーを出します。食事ログのない日は完全に除外します。0としては数えません。
ステップ2. 日々の体重測定を7日指数移動平均(EMA)で平滑化し、水分、グリコーゲン、ナトリウム由来のノイズを除きます。そのうえで、平滑化した系列に最小二乗法の線形回帰を当てます。傾きが、kg/日の本当の体重トレンドです。
ステップ3. 体重の傾きをカロリーに変換します。
caloric impact = daily weight slope x 7,700 kcal/kg
7,700 kcal/kgという値は、体組織のエネルギー密度に対する標準的な近似です。脂肪がおよそ7,700、除脂肪が約1,800の加重平均です。
ステップ4. TDEEを推定します。
TDEE = average daily intake - caloric impact
減量中なら、カロリー影響はマイナスなので、TDEEは摂取量より高く出ます。増量中なら低く出ます。体重が安定していれば、TDEEは摂取量と等しくなります。
ステップ5. 日々の補正は、前回推定値から±100 kcalに制限します。これで、ノイズの多いデータが大きく揺れるのを防ぎます。
具体例
これは、週あたり約0.3 kg減っている人の、実際の28日データです。
| 日 | 体重 (kg) | EMA (kg) | カロリー | 記録あり? |
|---|---|---|---|---|
| 1 | 82.3 | 82.30 | 2,180 | Yes |
| 4 | 82.5 | 82.35 | 2,210 | Yes |
| 7 | 81.8 | 82.15 | 2,050 | Yes |
| 10 | 82.0 | 81.96 | -- | No |
| 14 | 81.7 | 81.72 | 2,100 | Yes |
| 21 | 80.9 | 81.12 | 2,180 | Yes |
| 24 | 81.0 | 80.93 | 2,120 | Yes |
| 28 | 80.7 | 80.72 | 2,050 | Yes |
計算はこうです。
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
この数値は、あなたの実際の代謝を反映しています。NEAT、適応、遺伝、すべて込みです。活動レベルを推測する必要はありません。
なぜ28日か
日々の体重は、水分保持、グリコーゲン貯蔵、消化管内の食物量、ナトリウム摂取によって±1 kgぶれます。週0.5 kg減の人なら、14日間の期待シグナルは約1 kgで、ノイズ床を少し上回る程度です。28日間なら、同じノイズに対して約2 kgのシグナルを拾えます。つまり、信号対雑音比がおよそ2倍になります。
ウィンドウ長、EMA平滑化、収束の挙動について詳しくは、Why Your TDEE Calculator Is Probably Wrong を見てください。
レイヤー4: マクロのスケーリング
食品を記録するとき、データベースの正確な1食分を食べていることはほとんどありません。マクロのスケーリングは、すべてを比例的に調整する計算です。
scaling factor = consumed amount / serving size
すべてのマクロに同じ係数を掛けます。線形スケーリングです。
具体例。 オートミールのデータベース記録: 100gあたり389 kcal、たんぱく質13.2g、炭水化物66.3g、脂質6.9g。あなたは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
これは単純ですが、人が混乱しやすい微妙な点があります。マクロの合計が必ずしもカロリーと一致するわけではありません。
Atwater係数(たんぱく質4 kcal/g、炭水化物4 kcal/g、脂質9 kcal/g)は近似値です。真の値は食品ごとに異なります。食物繊維はおよそ2 kcal/g、アルコールは7 kcal/gで、どちらも標準的なマクロではありません。食品データベースで総カロリーとマクロの両方が載っている場合、それらは独立した実験室測定から来ていることがよくあります。各マクロを小数1位に丸めてAtwater係数を適用すると、合計は表示カロリーと1食あたり5〜15 kcalずれることがあります。これが1日の記録全体に積み重なります。
これはバグではありません。Atwaterシステムに本来ある不精密さです。総カロリー値は、マクロから計算したカロリーの合計より正確です。総量は、爆弾熱量計や近似分析で直接測定されるからです。
レイヤー5: 赤字の計算と体組成
エネルギーバランスの式はこうです。
weight change = (intake - expenditure) / energy density of tissue
標準の7,700 kcal/kgを使うなら、500 kcal/日の赤字は週0.45 kgの減量を生むはずです。ですが、その数値は減った体重のすべてが脂肪だと仮定しています。実際には違います。
Forbes/Hall model は、あなたの脂肪量に基づいて、減少した体重のうち脂肪と除脂肪組織がどれくらいかを予測します。
P-ratio = fat mass / (fat mass + 10.4)
P-ratioは、体重変化のうち脂肪由来の割合です。定数10.4は、体組成研究から実証的に導かれたものです(Forbes 1987、Hall 2007で改良)。
体脂肪が高いほどP-ratioは高くなり、減少分のより多くが脂肪になります。体脂肪が低いほど、より多くの除脂肪組織が失われます。低体脂肪で大きな赤字を作るのが逆効果なのはこのためです。数学が不利に働きます。
具体例。 体重80 kg、体脂肪率22%、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%)
純粋な脂肪が週0.45 kg減るわけではありません。実際の数値は、開始地点で変わります。
体脂肪率35%ならP-ratioは0.77で、減少分のほぼ80%が脂肪です。体脂肪率12%なら0.54まで下がり、減少分のほぼ半分が除脂肪組織になります。同じ赤字でも、体が違えば結果も違います。
P比率計算機
体組成
エネルギー配分
予測減量
出典: 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.
アプリ内でどこに表示されるか
これらの式は、Onyx Tenet の内部で動いています。実際の見え方はこうです。
TDEEカードには、式による推定値と適応後の値の両方が表示され、信頼度バッジとデータカバレッジ統計が付きます。TDEE Trajectoryチャートでは、推定が時間とともにどう変化したかを見られます。この例では、適応型TDEE(2,163 kcal)が式による推定値(2,172 kcal)にかなり近く、26回の体重測定と28日の記録で裏づけられています。

週間サマリーでは、レイヤー5のエネルギーバランス式を使います。平均摂取量(1,991 kcal)から平均TDEE(2,254 kcal)を引くと、1日あたり263 kcalの赤字になり、体重変化は週-0.24 kgと予測されます。各日のマクロは、下の内訳で確認できます。

すべての数値は、上のどれかの式にたどれます。ブラックボックスはありません。
Onyx Tenetの適応型TDEEは無料です。記録と体重測定を約4週間続けると、自動で有効になります。サブスクリプションは不要です。