← ব্লগ

ক্যালরি ট্র্যাকিংয়ের গণিত

প্রতিটি ক্যালোরি ট্র্যাকার আপনার হয়ে হিসাব করে। বেশিরভাগই আপনাকে সেই সমীকরণগুলো দেখায় না। এখানে সেগুলো আছে, কাজ করা উদাহরণসহ, ধারাবাহিকভাবে। প্রতিটি আগেরটির ওপর দাঁড়িয়ে।

এই পোস্টে হিসাবের পাঁচটি স্তর আছে: আপনার বেসলাইন মেটাবলিজম কীভাবে অনুমান করা হয়, সেই অনুমান কীভাবে দৈনিক এনার্জি টার্গেটে রূপ নেয়, আসল ডেটা থেকে অ্যাপ কীভাবে আপনার বাস্তব ব্যয় শেখে, আংশিক পরিবেশন খেলে ফুড এন্ট্রি কীভাবে স্কেল হয়, এবং ক্যালোরি ঘাটতি কীভাবে ফ্যাট ও লিন টিস্যু ক্ষতিতে অনুবাদ হয়। প্রতিটি সংখ্যা একটি সমীকরণে ট্রেস করা যায়। প্রতিটি সমীকরণ একটি উদ্ধৃত উৎসে ট্রেস করা যায়।

পাঁচ-স্তরের সমীকরণ স্তূপ: BMR সূত্র TDEE-তে যায়, তারপর বাস্তব ডেটা থেকে adaptive TDEE দিয়ে সেটি আরও নিখুঁত হয়, এরপর deficit-এ রূপান্তরিত হয়, তারপর body composition পরিবর্তনে প্রক্ষেপিত হয়

স্তর 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 LevelMultiplierএর বাস্তব অর্থ
Sedentary1.200ডেস্ক কাজ, খুব কম হাঁটা
Lightly Active1.375~8,000 steps/day বা সপ্তাহে 2x হালকা ব্যায়াম
Moderately Active1.550~10,000 steps + সপ্তাহে 3x resistance training
Active1.725শারীরিক কাজ বা সপ্তাহে 5x training
Very Active1.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 ক্যালকুলেটর

লিঙ্গ

ওজন পদ--
উচ্চতার পদ--
বয়সের টার্ম--
লিঙ্গভিত্তিক সমন্বয়--

বেসাল মেটাবলিক রেট--

কার্যকলাপ--

TDEE--

স্তর 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 ওজন কমাচ্ছেন:

DayWeight (kg)EMA (kg)CaloriesTracked?
182.382.302,180Yes
482.582.352,210Yes
781.882.152,050Yes
1082.081.96--No
1481.781.722,100Yes
2180.981.122,180Yes
2481.080.932,120Yes
2880.780.722,050Yes

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

হিসাব:

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%)

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

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 দিয়ে নিশ্চিত।

Onyx Tenet TDEE কার্ড, যেখানে 2,163 kcal-এর অভিযোজিত TDEE, HIGH confidence ব্যাজ, 2,172 kcal-এর সূত্রভিত্তিক অনুমান, Watch correction factors, এবং 30 দিনের TDEE trajectory চার্ট দেখানো হয়েছে

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-এ দেখা যায়।

Onyx Tenet সাপ্তাহিক সারাংশে দেখানো হচ্ছে গড় গ্রহণ 1,991 kcal, গড় TDEE 2,254 kcal, প্রতিদিন 263 kcal ঘাটতি, এবং প্রতি সপ্তাহে -0.24 kg ওজন পরিবর্তনের অনুমান

উপরে থাকা প্রতিটি সমীকরণে প্রতিটি সংখ্যা ফিরে যায়। কোনো black box নেই।

Onyx Tenet-এ adaptive TDEE বিনামূল্যে। প্রায় 4 সপ্তাহ লগিং আর weigh করার পর এটা স্বয়ংক্রিয়ভাবে সক্রিয় হয়। কোনো subscription লাগে না।

সম্পর্কিত নিবন্ধ