ক্যালরি ট্র্যাকিংয়ের গণিত
প্রতিটি ক্যালোরি ট্র্যাকার আপনার হয়ে হিসাব করে। বেশিরভাগই আপনাকে সেই সমীকরণগুলো দেখায় না। এখানে সেগুলো আছে, কাজ করা উদাহরণসহ, ধারাবাহিকভাবে। প্রতিটি আগেরটির ওপর দাঁড়িয়ে।
এই পোস্টে হিসাবের পাঁচটি স্তর আছে: আপনার বেসলাইন মেটাবলিজম কীভাবে অনুমান করা হয়, সেই অনুমান কীভাবে দৈনিক এনার্জি টার্গেটে রূপ নেয়, আসল ডেটা থেকে অ্যাপ কীভাবে আপনার বাস্তব ব্যয় শেখে, আংশিক পরিবেশন খেলে ফুড এন্ট্রি কীভাবে স্কেল হয়, এবং ক্যালোরি ঘাটতি কীভাবে ফ্যাট ও লিন টিস্যু ক্ষতিতে অনুবাদ হয়। প্রতিটি সংখ্যা একটি সমীকরণে ট্রেস করা যায়। প্রতিটি সমীকরণ একটি উদ্ধৃত উৎসে ট্রেস করা যায়।
স্তর 1: BMR অনুমান
আপনার Basal Metabolic Rate হলো সম্পূর্ণ বিশ্রামে আপনার শরীর যত এনার্জি খরচ করে: নড়াচড়া না করে, জেগে থেকে, তাপমাত্রা-নিরপেক্ষ ঘরে। এটি মোট দৈনিক ব্যয়ের প্রায় 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
প্রতিটি টার্ম একটি শারীরবৃত্তীয় সম্পর্ক ধরে। ভারী শরীর বেশি এনার্জি খরচ করে (ওজনের টার্মটি সবচেয়ে প্রভাবশালী)। লম্বা শরীরের পৃষ্ঠতল বেশি এবং বেশি মেটাবলিকভাবে সক্রিয় টিস্যু থাকে। বয়স বাড়ার সঙ্গে মেটাবলিজম কমে। sex offset গড় শরীরের গঠনের পার্থক্যকে ধরে।
Worked example. 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 জনের indirect calorimetry মাপ থেকে তৈরি করা হয়েছিল। কোনো নির্দিষ্ট ব্যক্তির ক্ষেত্রে standard error প্রায় ±200 kcal, অর্থাৎ একই পরিসংখ্যান থাকলেও দুইজনের BMR 400 kcal পর্যন্ত আলাদা হতে পারে। ফর্মুলাটি আপনাকে bell curve-এর মাঝামাঝি মান দেয়, আপনার ব্যক্তিগত মাপ নয়।
Source: Mifflin, M.D. et al. "A new predictive equation for resting energy expenditure in healthy individuals." American Journal of Clinical Nutrition, 1990.
স্তর 2: BMR থেকে TDEE
BMR হলো নিচের সীমা। Total Daily Energy Expenditure (TDEE) বাকি সবকিছু যোগ করে: হাঁটা, কাজ করা, ব্যায়াম, খাবার হজম, নড়াচড়া। প্রচলিত পদ্ধতিতে BMR-কে activity factor দিয়ে গুণ করা হয়:
| Activity Level | Multiplier | এর বাস্তব অর্থ |
|---|---|---|
| Sedentary | 1.200 | ডেস্ক কাজ, খুব কম হাঁটা |
| Lightly Active | 1.375 | ~8,000 steps/day বা সপ্তাহে 2x হালকা ব্যায়াম |
| Moderately Active | 1.550 | ~10,000 steps + সপ্তাহে 3x resistance training |
| Active | 1.725 | শারীরিক কাজ বা সপ্তাহে 5x training |
| Very Active | 1.900 | প্রতিদিন কঠোর training + সক্রিয় জীবনযাপন |
আমাদের উদাহরণে (BMR = 1,788 kcal, lightly active):
TDEE = 1,788 x 1.375 = 2,458 kcal
সমস্যাটা আপনি একবার দেখলেই স্পষ্ট: level-এর মধ্যে লাফ 0.175, যা 1,788 BMR-এর জন্য ~310 kcal। এটা একটা কলা আর এক টেবিলচামচ পিনাট বাটারের সমান। আপনি যদি ভুল activity level বেছে নেন (এবং বেশিরভাগ মানুষই নেন), তবে একটাও খাবার লগ করার আগেই আপনার TDEE অনুমান শত শত ক্যালোরি ভুল হবে।
আরও খারাপ হলো, multipliers NEAT (Non-Exercise Activity Thermogenesis) ধরতে পারে না: নড়াচড়া, ভঙ্গি, পায়চারি, ঘরকন্না। NEAT-ই শুধু একই পরিসংখ্যান আর exercise habit থাকা ব্যক্তিদের মধ্যে 700+ kcal/day পর্যন্ত বদলে যেতে পারে।
BMR / TDEE ক্যালকুলেটর
Mifflin-St Jeor সমীকরণ
স্তর 3: adaptive TDEE
Static formula বলে দেয় আপনার মতো কেউ সম্ভবত কত খরচ করে। Adaptive TDEE উল্টো পথে গিয়ে হিসাব করে, আপনার শরীরে আসলে কী হয়েছে তা থেকে আপনি কত খরচ করেছেন।
মূল ধারণা: আপনি কত ক্যালোরি খেয়েছেন আর সময়ের সঙ্গে আপনার ওজন কীভাবে বদলেছে তা জানলে, expenditure বের করা যায়।
অ্যালগরিদম
28 দিনের একটি data window ধরে:
Step 1. শুধু tracked day-গুলোর calorie intake-এর average নিন। যেসব দিনে food log নেই, সেগুলো পুরোপুরি বাদ যাবে (zero হিসেবে ধরা হবে না)।
Step 2. পানি, glycogen, আর sodium-এর noise কমাতে 7-day Exponential Moving Average দিয়ে daily weight reading smooth করুন। তারপর smoothed series-এর ওপর least-squares linear regression ফিট করুন। slope-ই হলো kg/day-এ আপনার আসল weight trend।
Step 3. Weight slope-কে calories-এ রূপান্তর করুন:
caloric impact = daily weight slope x 7,700 kcal/kg
7,700 kcal/kg হলো body tissue-এর energy density-এর standard approximation (fat প্রায় 7,700 আর lean প্রায় 1,800-এর weighted mix)।
Step 4. TDEE অনুমান করুন:
TDEE = average daily intake - caloric impact
আপনি যদি ওজন কমান, caloric impact negative, তাই TDEE intake-এর চেয়ে বেশি আসে। ওজন বাড়লে কম আসে। ওজন স্থিতিশীল হলে TDEE intake-এর সমান।
Step 5. দৈনিক adjustment-কে আগের estimate থেকে ±100 kcal-এ clamp করুন। এতে noisy data থেকে হঠাৎ বড় ওঠানামা আটকায়।
Worked example
এখানে এমন একজনের 28 দিনের বাস্তব dataset আছে, যিনি সপ্তাহে প্রায় 0.3 kg ওজন কমাচ্ছেন:
| Day | Weight (kg) | EMA (kg) | Calories | Tracked? |
|---|---|---|---|---|
| 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, adaptation, genetics, সবকিছু। activity level আন্দাজ করার দরকার নেই।
কেন 28 দিন
পানি ধরে রাখা, glycogen stores, চলমান খাবারের ভর, আর sodium intake-এর কারণে দৈনিক ওজন ±1 kg পর্যন্ত ওঠানামা করে। যে ব্যক্তি সপ্তাহে 0.5 kg কমাচ্ছেন, তার জন্য 14 দিনের expected signal প্রায় 1 kg। এটা noise floor-এর সামান্য ওপরে। 28 দিনের window একই noise-এর বিপরীতে প্রায় 2 kg signal ধরে, signal-to-noise ratio মোটামুটি দ্বিগুণ করে।
window length, EMA smoothing, আর convergence behavior নিয়ে আরও জানতে দেখুন Why Your TDEE Calculator Is Probably Wrong।
স্তর 4: macro scaling
আপনি যখন কোনো food entry লগ করেন, database-এ থাকা exact serving size সাধারণত খান না। Macro scaling হলো সেই হিসাব, যা সবকিছু proportionally ঠিক করে:
scaling factor = consumed amount / serving size
প্রতিটি macro-ই একই factor দিয়ে গুণ হয়। এটা linear scaling।
Worked example. Oats-এর একটি database entry: 100g serving, 389 kcal, 13.2g protein, 66.3g carbs, 6.9g fat. আপনি খেয়েছেন 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
এটা সোজা, কিন্তু একটা সূক্ষ্ম বিষয় মানুষকে বিভ্রান্ত করে: macros সবসময় calories-এর সঙ্গে মেলে না।
Atwater factors (protein 4 kcal/g, carbs 4 kcal/g, fat 9 kcal/g) হলো approximation। আসল মান food ভেদে বদলায়। Fiber প্রায় 2 kcal/g যোগ করে, alcohol 7 kcal/g যোগ করে, আর কোনোটাই standard macro নয়। কোনো food database-এ total calories আর macros দুটোই থাকলে, সেগুলো প্রায়ই আলাদা lab measurement থেকে আসে। প্রতিটি macro one decimal place-এ round করার পর Atwater factors প্রয়োগ করলে, তালিকাভুক্ত calories থেকে যোগফল প্রতি serving-এ 5-15 kcal এদিক-ওদিক হতে পারে। পুরো দিনের logging-এ এটা জমে যায়।
এটা bug নয়। এটা Atwater system-এর স্বাভাবিক imprecision। মোট calorie figure, macro-derived calories-এর যোগফলের চেয়ে বেশি accurate, কারণ total সরাসরি bomb calorimetry বা proximate analysis দিয়ে মাপা হয়।
স্তর 5: deficit math and body composition
Energy balance equation:
weight change = (intake - expenditure) / energy density of tissue
স্ট্যান্ডার্ড 7,700 kcal/kg ব্যবহার করলে 500 kcal/day deficit থেকে সপ্তাহে 0.45 kg ওজন কমার কথা। কিন্তু এই সংখ্যা ধরে নেয় হারানো সব ওজনই fat। তা নয়।
Forbes/Hall model দেখায়, আপনার শরীরে কত fat আছে তার ওপর ভিত্তি করে ওজন হ্রাসের কত অংশ fat আর কত অংশ lean tissue হবে:
P-ratio = fat mass / (fat mass + 10.4)
P-ratio হলো weight change-এর যে অংশ fat থেকে আসে তার ভগ্নাংশ। 10.4 ধ্রুবকটি body composition study থেকে empirically নির্ধারিত (Forbes 1987, Hall 2007-এ refined)।
শরীরে fat যত বেশি, P-ratio তত বেশি, অর্থাৎ ক্ষতির বড় অংশ fat। শরীরে fat কম হলে lean tissue বেশি হারায়। তাই কম body fat-এ aggressive deficit উল্টো ফল দেয়: গণিতই আপনার বিরুদ্ধে যায়।
Worked example. 22% body fat-সহ 80 kg একজন ব্যক্তি, 500 kcal deficit-এ:
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/week pure fat নয়। আসল সংখ্যা নির্ভর করে আপনি কোথা থেকে শুরু করছেন তার ওপর।
35% body fat-এ P-ratio হলো 0.77. ক্ষতির প্রায় 80% fat। 12% body fat-এ এটা নেমে যায় 0.54-এ. ক্ষতির প্রায় অর্ধেক lean tissue। একই deficit, আলাদা শরীর, আলাদা ফল।
পি-রেশিও ক্যালকুলেটর
শরীরের গঠন
শক্তি বণ্টন
প্রক্ষেপিত ক্ষতি
Sources: 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 card-এ formula estimate আর adapted value দুটোই দেখায়, সঙ্গে confidence badge আর data coverage stats। TDEE Trajectory chart-এ estimate সময়ের সঙ্গে কীভাবে বদলেছে তা আঁকা হয়। এই উদাহরণে adaptive TDEE (2,163 kcal) formula estimate (2,172 kcal)-এর খুব কাছাকাছি, যা 26টি weigh-in আর 28 tracked day দিয়ে নিশ্চিত।

Weekly summary Layer 5-এর energy balance equation প্রয়োগ করে। Average intake (1,991 kcal) থেকে average TDEE (2,254 kcal) বাদ দিলে দৈনিক deficit হয় 263 kcal, যা সপ্তাহে -0.24 kg weight change প্রজেক্ট করে। প্রতিদিনের macros নিচের breakdown-এ দেখা যায়।

উপরে থাকা প্রতিটি সমীকরণে প্রতিটি সংখ্যা ফিরে যায়। কোনো black box নেই।
Onyx Tenet-এ adaptive TDEE বিনামূল্যে। প্রায় 4 সপ্তাহ লগিং আর weigh করার পর এটা স্বয়ংক্রিয়ভাবে সক্রিয় হয়। কোনো subscription লাগে না।