{"id":13301,"date":"2025-10-01T12:24:02","date_gmt":"2025-10-01T16:24:02","guid":{"rendered":"https:\/\/macrofactor.com\/?p=13301"},"modified":"2025-11-17T17:14:21","modified_gmt":"2025-11-17T22:14:21","slug":"algorithm-accuracy","status":"publish","type":"post","link":"https:\/\/macrofactor.com\/algorithm-accuracy\/","title":{"rendered":"How Accurate is MacroFactor\u2019s Expenditure Algorithm?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">MacroFactor&#8217;s nutrition coaching algorithm is at the very heart of what makes the app so effective and unique. In this article, we\u2019ll explain how it works, how we evaluate its performance, how accurate it truly is, and how large of a benefit it provides relative to other approaches.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But, before we get too deep in the weeds, we need to first cover a bit of background information to briefly explain how the algorithm works, and how it differs from the approach taken by most other nutrition apps.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-typical-approach-of-estimating-energy-needs\">The typical approach of estimating energy needs<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Virtually all nutrition apps provide recommendations on the basis of the CICO principle: long-term weight change is principally determined by energy balance. If you consume more energy (\u201cCalories In\u201d: CI) than you expend (\u201cCalories Out\u201d: CO) over time, you\u2019ll be in a state of positive energy balance, and therefore you\u2019ll gain weight. Conversely, if you consume less energy than you expend, you\u2019ll be in a state of negative energy balance, and therefore you\u2019ll lose weight.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you\u2019re diligent about logging your food, it\u2019s not too hard to quantify \u201cCalories In\u201d with reasonable accuracy (<a href=\"https:\/\/macrofactor.com\/understanding-nutrition-data\/\">even if your food logging isn\u2019t perfect, or some foods have nutrition labeling errors<\/a>). The tricky part of the CICO equation is the \u201cCalories Out\u201d term.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To estimate \u201cCalories Out\u201d (i.e., your total daily energy expenditure, or TDEE), the most popular approach is to use a calculator or equation that estimates your energy expenditure on the basis of some combination of your height, weight, age, sex, body composition, and activity levels. This process <em>will<\/em> typically provide most people with a reasonable ballpark estimate of their energy expenditure, but <a href=\"https:\/\/help.macrofactor.com\/en\/articles\/126-why-is-my-expenditure-in-macrofactor-different-from-the-output-of-a-tdee-calculator\">you also shouldn\u2019t expect this value to be <em>extremely<\/em> accurate<\/a>. It\u2019ll be spot-on for some people, but individual errors of &gt;500 Calories are quite common, and errors exceeding 1,000 Calories per day aren\u2019t unheard of.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a364d87ed5fb&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a364d87ed5fb\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1508\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_1-scaled.png\" alt=\"Individual-level accuracy of TDEE prediction equations \" class=\"wp-image-13338\" srcset=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_1-scaled.png 2560w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_1-300x177.png 300w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_1-1024x603.png 1024w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_1-768x452.png 768w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_1-1536x905.png 1536w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_1-2048x1206.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>This graphic, and the simulation used to generate it, were originally published in <\/em><a href=\"https:\/\/help.macrofactor.com\/en\/articles\/126-why-is-my-expenditure-in-macrofactor-different-from-the-output-of-a-tdee-calculator\"><em>this article<\/em><\/a><em>.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An alternate approach is to estimate your energy expenditure using a wearable device (like a smartwatch), but research on wearables suggests that <a href=\"https:\/\/macrofactor.com\/wearables\/\">they\u2019re similarly inaccurate<\/a>, with <a href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/32897239\/\">a systematic review<\/a> reporting that in free-living settings, wearable devices under- or over-estimate energy expenditure by more than 10% a whopping 82% of the time.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a364d87ed9e5&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a364d87ed9e5\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"2035\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_2-scaled.png\" alt=\"Relative percentage error of energy expenditure estimates from wearable devices\" class=\"wp-image-13341\" srcset=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_2-scaled.png 2560w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_2-300x238.png 300w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_2-1024x814.png 1024w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_2-768x611.png 768w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_2-1536x1221.png 1536w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_2-2048x1628.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">But, as mentioned above, estimating energy expenditure using a TDEE equation is <em>by far<\/em> the most common approach used by other nutrition apps, so that\u2019s what we\u2019ll use as a point of comparison for the rest of this article.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once an app estimates your energy expenditure, it will typically recommend an energy intake target to you based on your goals. For example, using the typical energy density assumption of 3,500 Calories per pound (or 7,700 Calories per kilo), if you have a goal of losing a pound per week, your recommended energy intake target would be 500 Calories per day below your estimated TDEE. So, if your estimated energy expenditure is 2,500 Calories per day, the app would recommend an energy intake target of 2,000 Calories per day.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Some apps will explicitly show and tell you about these calculations, and some will keep them obscured, but this is the standard process that\u2019s used almost universally. (And if this isn\u2019t something a nutrition app does for you, these are the basic calculations most dieters will do themselves. This is also the basic process employed by LLMs and most nutrition coaches if you ask them for initial energy intake targets.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">From there, <em>most<\/em> apps don\u2019t update or adjust your energy intake targets over time, even if your energy intake target turns out to be way too high or too low to help you reach your goals. And, of the handful of apps that do recommend updates, the most common approach is to just increase or decrease calorie targets proportionally with body weight.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The MacroFactor approach<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When you first start using MacroFactor, the app will initially estimate your energy expenditure and provide energy intake targets using the same process described above, using a TDEE equation. The major difference between MacroFactor and other apps is that, as you log your food and weight over time, MacroFactor will <a href=\"https:\/\/macrofactor.com\/macrofactors-algorithms-and-core-philosophy\/\">continually update its estimate of your energy expenditure<\/a>, and therefore recommend updates to your nutrition targets to reflect expenditure changes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The expenditure algorithm itself <a href=\"https:\/\/macrofactor.com\/expenditure-v3\/\">is fairly complex<\/a>, but here\u2019s a simplified illustration of how it works:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When you start using MacroFactor, the app may initially estimate that your energy expenditure is 3,000 Calories per day. You have a goal to lose a pound per week, so the app recommends that you aim to consume 2,500 Calories per day.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, as you log your weight and nutrition, you\u2019re consistently eating 2,500 Calories per day, but you\u2019re not losing any weight. This strongly suggests that your initial energy expenditure estimate (and, consequently, your initial caloric intake targets) was too high: if you\u2019re maintaining your weight while eating 2,500 Calories per day, your energy expenditure is probably closer to 2,500 Calories per day than 3,000. So, your estimated expenditure will adjust downward, and your energy intake targets will decrease to reflect this new information, until your energy intake target <em>does<\/em> actually result in your desired rate of weight loss.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In other words, unlike other apps, MacroFactor is able to identify and correct errors in its nutrition recommendations. If your energy intake targets are too high or too low to help you reach your goals at your desired rate, MacroFactor\u2019s algorithms will make adjustments to get you back on track. And, crucially, these updates are continuous as your goals, lifestyle, and energy expenditure change over time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How we evaluate our algorithms<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">At MacroFactor, we\u2019re big fans of quantification. We don\u2019t just want to be able to say our algorithms work well in theory, we want to be able to measure how well they actually work in practice.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Accuracy versus predictive validity<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The default method of quantifying the accuracy of something like MacroFactor\u2019s expenditure algorithm is to run a validation study. For example, we could have 20 people live in a metabolic chamber for a few months while researchers fastidiously monitor their weight and provide them with meals prepared in the lab\u2019s kitchen with perfectly accurate nutrition information. Then, we\u2019d log all of the data in MacroFactor and compare how closely MacroFactor\u2019s estimated expenditure values matched the values derived from the metabolic chamber. While this would be the gold standard approach for quantifying the <em>accuracy<\/em> of MacroFactor\u2019s algorithms, it would be prohibitively expensive, and we actually care <em>way<\/em> more about a close cousin of accuracy: predictive validity. Predictive validity tells you how well your predictions match subsequent observations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MacroFactor\u2019s expenditure algorithm is a prediction engine. If MacroFactor estimates that you\u2019re burning 3,000 Calories per day, and you also consume 3,000 Calories per day, the app is tacitly predicting that your weight will remain stable. If you instead gain or lose weight, that suggests the prediction was incorrect to some degree. So, we can calculate the difference between your predicted rate of weight change (based on your logged energy intake and your estimated expenditure) and your actual rate of weight change to quantify the predictive validity of our algorithms.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a364d87ee002&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a364d87ee002\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1129\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_18-scaled.png\" alt=\"MacroFactor's adaptive coaching algorithm\" class=\"wp-image-13344\" srcset=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_18-scaled.png 2560w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_18-300x132.png 300w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_18-1024x452.png 1024w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_18-768x339.png 768w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_18-1536x677.png 1536w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_18-2048x903.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">We care the most about predictive validity with real-world data for two main reasons.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The first reason is that predictive validity tells us how well our algorithms <em>actually<\/em> work for our users. In the real world, people don\u2019t always log their food with perfect accuracy or weigh themselves every day under perfectly standardized conditions. Any estimation of accuracy under perfectly controlled laboratory conditions would almost necessarily overestimate how well the algorithms actually work for real users \u2014 it would just be an unrealistic vanity metric. What actually matters to us is knowing how well the algorithms can deal with the messiness of the real world.<sup><a href=\"#fn1\">1<\/a><\/sup><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The second reason is related to the first: When predictive validity and raw accuracy differ, optimizing for predictive validity means optimizing for <em>usefulness<\/em>, which is what we ultimately care about. Optimizing for accuracy at the expense of predictive validity would actually lead to <em>worse<\/em> recommendations for our users.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That may not sound particularly intuitive, but it\u2019s a simple principle to illustrate.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s assume that we can <em>know<\/em> with perfect certainty that you burn exactly 3,000 Calories per day. So, if you want to maintain your weight, you should aim to consume 3,000 Calories per day. Simple enough.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But, what if you don\u2019t log your energy intake with absolutely perfect accuracy? Maybe you eat a couple of foods every day that under-label their Calorie content. Maybe you eyeball portion sizes for some foods, or forget to log some sauces or condiments. You do a <em>pretty good<\/em> job of logging your food, but you ultimately end up typically consuming 3,200 Calories when you think you\u2019re eating 3,000. So, you <em>think<\/em> you\u2019re eating the right amount to maintain your weight, but the number on the scale starts gradually ticking up.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you just care about optimizing for <em>accuracy<\/em>, there\u2019s nothing that needs to change about the recommendation: You should aim to eat 3,000 Calories per day. Since we <em>know<\/em> you\u2019re burning 3,000 calories per day, that <em>is<\/em> the correct recommendation. But, practically speaking, it\u2019s a recommendation that\u2019s resulting in an undesired outcome (gaining weight instead of maintaining weight). The only way it <em>would<\/em> lead to your desired outcome is if you became utterly obsessive about logging your food with 100% perfect accuracy, which is almost never feasible (at least long-term) in the real world.<sup><a href=\"#fn1\">1<\/a><\/sup><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Since MacroFactor primarily cares about optimizing for predictive validity, we\u2019d see that you\u2019re slowly gaining weight when you\u2019re logging 3,000 Calories per day, which would suggest that your energy intake target should be less than 3,000 Calories per day to help you achieve your goal of weight maintenance. So, the app would settle on an estimate that you\u2019re burning around 2,800 Calories per day, and therefore, it would recommend that you should aim to consume 2,800 Calories per day to achieve your goal of weight maintenance.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You tend to underestimate your intake by 200 Calories per day (in this illustration), so when you aim to eat 2,800 Calories per day, you\u2019ll <em>actually<\/em> end up eating around 3,000 Calories per day and maintaining your weight. In other words, the recommendation to consume 2,800 Calories per day is technically a <em>less accurate<\/em> recommendation, but it\u2019s the recommendation that results in the desired outcome while simultaneously maximizing predictive validity.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In essence, accuracy and predictive validity are identical (in this context) if users <em>always<\/em> log their energy intake with absolutely zero error. But, if there are <em>any<\/em> errors in measuring energy intake, more accurate nutrition recommendations would necessarily lead to worse outcomes than recommendations that reflect and account for those errors.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For the sake of simplicity, I\u2019ll be using the term \u201caccuracy\u201d for the rest of this article. But, just know that \u201caccuracy\u201d refers to the accuracy of MacroFactor\u2019s implicit predictions related to prospective rates of weight change (i.e., predictive validity).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Assessing algorithmic performance<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">There are four key metrics we pay attention to when evaluating how well our algorithms perform:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Absolute monthly weight change prediction error: to what extent do users\u2019 actual rates of weight change differ from their predicted rates of weight change?\n<ul class=\"wp-block-list\">\n<li>We focus on absolute values (i.e., making all values positive) because the simple average is (essentially) zero<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>The correlation between actual and predicted rates of weight change<\/li>\n\n\n\n<li>Changes in cumulative accuracy over time<\/li>\n\n\n\n<li>The ability of the algorithms to avoid large errors<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">As we go along, most of these metrics will be fairly intuitive, but I think it\u2019s worth being explicit about how predicted rates of weight change are calculated.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Over a 30-day period, we calculate MacroFactor\u2019s cumulative estimate of your energy expenditure and then subtract your cumulative energy intake. Finally, we divide that value by 3,500, which is the implied energy content of each pound of weight change.<sup><a href=\"#fn1\">2<\/a><\/sup><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here\u2019s an example: At the start of a 30-day period, MacroFactor estimated that your expenditure was 3,100 Calories per day, and that estimate decreased linearly to 3,000 over those 30 days. So, MacroFactor is tacitly predicting that you burned 91,500 Calories during that 30-day period. Over the same 30 days, you consumed 84,500 Calories. So, MacroFactor is tacitly predicting that you expended 7,000 more Calories than you burned, meaning that you should have lost 7,000\/3,500 = 2lb. If you actually lost 2.3lb over that same 30-day period, the weight change prediction error is: -2.3 &#8211; (-2) = -0.3lb. In other words, your weight is 0.3lb lower at the end of the month than MacroFactor predicted, given your energy intake. Since we primarily focus on absolute values, this corresponds to an absolute monthly error of 0.3lb.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All of the analyses performed below use data from <em>new users<\/em> of the app who participated in our <a href=\"https:\/\/macrofactor.com\/mm-may-2025\/\">2025 transformation challenge<\/a>. This is a useful dataset for this article for a few reasons. First, all of the individual datasets cover the same length of time (100 days), so there are no issues related to sample sizes varying over time. Second, long-time users already understand how well the algorithms work. By focusing on new users, we can show how well you can expect the algorithms to work <em>for you<\/em> if you\u2019re not already using MacroFactor. Third, new user data helps to clearly demonstrate how long it takes for the algorithms to achieve peak performance.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For most of the subsequent analyses, we\u2019ll compare MacroFactor\u2019s approach to the common default approach of estimating energy expenditure using a TDEE equation or calculator. This also happens to be the approach used by most other food logging apps. This should help contextualize the performance metrics.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For these comparisons, expenditure estimates using the \u201cTDEE calculator\u201d approach are re-calculated on a daily basis (rather than using a single static value for the entire 100 days) to scale proportionally with weight gain or loss. Without this daily recalculation, the relative inaccuracy of this approach could just be attributed to one-time TDEE estimates becoming outdated (i.e., if your calculated TDEE <em>was<\/em> perfectly accurate today, that discrete value would probably be considerably too high two months from now if you lost 20lb), but I want to show the potential for error even if you used a TDEE calculator every single day to estimate your energy needs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, all of the metrics below use the data from users with scant evidence of <a href=\"https:\/\/help.macrofactor.com\/en\/articles\/241-what-is-partial-logging\">partial logging<\/a>. We emphasize to our users that they <a href=\"https:\/\/help.macrofactor.com\/en\/articles\/201-how-accurately-do-i-need-to-log-my-food\">don\u2019t need to log all of their food with perfect accuracy<\/a>, that it\u2019s totally fine to just <a href=\"https:\/\/help.macrofactor.com\/en\/articles\/200-what-should-i-do-when-i-can-t-accurately-log-a-meal\">make a good-faith estimate for meals that are tough to log<\/a>, and that <a href=\"https:\/\/help.macrofactor.com\/en\/articles\/140-do-i-need-to-log-everything-i-eat-and-drink-to-have-an-accurate-expenditure-and-use-macrofactor-s-coaching-features\">they don\u2019t even need to log absolutely every morsel of food that they consume<\/a>. Partial logging is the single cardinal sin we <a href=\"https:\/\/help.macrofactor.com\/en\/articles\/29-how-do-macrofactor-s-coaching-algorithms-deal-with-partially-logged-days\">ask users to avoid<\/a>, there are <em>plenty<\/em> of easy ways to avoid it, and we even try to <a href=\"https:\/\/help.macrofactor.com\/en\/articles\/248-coaching-module-partial-logging\">flag partially logged days<\/a> for users when they do their weekly check-in. So, we feel justified excluding this data from the analyses presented below.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To estimate partial logging frequency, we tagged days where logged energy intake was &lt;50% of the values from other logged days within the same week. So, for instance, if a user was eating around 2,000 Calories most days, but they had a day where they only logged 600 Calories, that would be flagged as a day that was <em>probably<\/em> partially logged. Days where users <a href=\"https:\/\/help.macrofactor.com\/en\/articles\/16-track-a-fasting-day\">logged zero calories<\/a> were not flagged, since these were likely to be days when users were intentionally fasting.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Obviously, this is an imperfect metric. There were almost certainly partially logged days that slipped through (i.e., if someone logged breakfast and lunch but didn\u2019t log dinner, they may have still logged ~60\u201370% as many Calories as were logged on surrounding days), and some accurately logged days that were incorrectly tagged as being partially logged (i.e., if you have a stomach bug, you may truly have a day or two where you only consume 500 Calories). But, we\u2019re dealing with enough data that a handful of misclassified users will have virtually no effect on the aggregate metrics. For a user\u2019s data to be included in the analyses presented below, they could have <em>at most<\/em> five days of nutrition data that were flagged for potential partial logging. Ultimately, less than 10% of users were excluded from these analyses due to evidence of consistent partial logging, so the analyses presented below will certainly still provide a fair assessment of algorithmic performance for typical users.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After excluding the handful of users with evidence of consistent partial logging, we were left with data from 748 challenge participants.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Update: November 2025<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Following the introduction of additional expenditure modifiers, the expenditure algorithm is now about 7% more accurate in the short term, and approximately 20% more accurate in the long term. You can <a href=\"https:\/\/macrofactor.com\/expenditure-modifiers\/\">read more about these improvements here<\/a>.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Monthly weight change prediction errors<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">As mentioned above, when you first start using MacroFactor, it will <em>initially<\/em> estimate your energy expenditure and Caloric needs using a process similar to any other app, by applying a series of predictive equations that account for factors like height, weight, age, sex, body composition, and activity levels. These initial recommendations are not \u201cthe algorithm.\u201d Rather, the algorithms kick in once you start logging your weight and nutrition data, and serve to refine MacroFactor\u2019s understanding of your unique energy requirements.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So, as an initial test of MacroFactor\u2019s algorithms, we can quantify how much more accurate MacroFactor\u2019s recommendations become over time as personalized algorithmic recommendations replace recommendations derived from population-based equations.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a364d87ee97f&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a364d87ee97f\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1590\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_3-scaled.png\" alt=\"Median monthly weight change absolute prediction error\" class=\"wp-image-13346\" srcset=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_3-scaled.png 2560w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_3-300x186.png 300w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_3-1024x636.png 1024w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_3-768x477.png 768w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_3-1536x954.png 1536w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_3-2048x1272.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In the graph above, the x-coordinate is the day at the beginning of each 30-day period. So, day 10 is the median weight change prediction error for days 10-39, day 20 is the median weight change prediction error for days 20-49, etc. The median prediction error decreases from approximately 1.9lb for the first 30-day period, to approximately 1.15lb from day 24 onward. So, it would appear that MacroFactor\u2019s algorithms have nearly twice the accuracy of population-based TDEE prediction equations (i.e., error rates decrease by ~40%) when we compare the typical errors observed during the first 30-day period to the errors observed after people have been using the app for at least 3-4 weeks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But, appearances can be deceiving. In fact, accuracy <em>more than<\/em> doubles. MacroFactor\u2019s algorithms begin updating their estimates of your energy expenditure on the third day after you start using the app. So, those estimates are gradually improving for basically the entirety of the initial 30-day period. Without those improvements, prediction errors for the initial 30-day period would be considerably larger. We can see this when we compare MacroFactor\u2019s accuracy to the accuracy of weight change predictions using the typical approach of just plugging your height, weight, age, sex, body composition, and activity levels into a TDEE formula or calculator (I\u2019ll just refer to this as the \u201cformula-based approach\u201d for the rest of this article).<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a364d87eecbd&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a364d87eecbd\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1741\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_4-scaled.png\" alt=\"Median monthly weight change absolute prediction error\" class=\"wp-image-13348\" srcset=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_4-scaled.png 2560w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_4-300x204.png 300w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_4-1024x696.png 1024w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_4-768x522.png 768w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_4-1536x1044.png 1536w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_4-2048x1393.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The formula-based approach had a median prediction error of about 2.6lb for the first 30 days. Rather than decreasing, these errors <em>increased<\/em> to a median prediction error of about 3.1lb for the last 30 days (likely due to <a href=\"https:\/\/www.strongerbyscience.com\/metabolic-adaptation\/\">metabolic adaptation<\/a>, which TDEE prediction equations don\u2019t account for).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So, after using MacroFactor for 3\u20134 weeks, the app\u2019s nutrition recommendations are about 120\u2013170% more accurate than the recommendations provided by a standard TDEE equation (i.e., typical errors are 55\u201363% smaller with MacroFactor).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Based on an assumed energy density of 3,500kcal per pound gained or lost, we can convert these weight change prediction errors into caloric terms (since, after all, we\u2019re discussing the accuracy of MacroFactor\u2019s algorithms, which estimate energy expenditure in terms of Calories).&nbsp;<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a364d87ef080&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a364d87ef080\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1899\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_5-scaled.png\" alt=\"Typical range of energy expenditure estimation errors\" class=\"wp-image-13350\" srcset=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_5-scaled.png 2560w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_5-300x223.png 300w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_5-1024x760.png 1024w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_5-768x570.png 768w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_5-1536x1139.png 1536w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_5-2048x1519.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">After 3\u20134 weeks of consistent use, MacroFactor\u2019s energy expenditure estimation errors typically fall within the range of 60\u2013240 Calories (median = 135 Calories), whereas formula-based estimation errors typically fall within the range of 155\u2013590 Calories (median = 335).<sup><a href=\"#fn1\">3<\/a><\/sup> Furthermore, relatively large errors in MacroFactor (errors in the 75th percentile) are <em>considerably<\/em> smaller than the median errors of formula-based TDEE estimates, and relatively small errors for formula-based TDEE estimates (errors in the 25th percentile) are still larger than the median errors for MacroFactor users.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-strength-of-associations\">Strength of associations<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">As another method of quantifying how well MacroFactor\u2019s algorithms estimate users\u2019 energy needs, we can calculate the strength of the association between predicted and observed rates of weight change over time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A correlation coefficient (Pearson\u2019s r) tells you the strength and direction of an association. A positive r-value denotes a direct association (meaning that as one value increases, the other value also increases), whereas a negative r-value denotes an inverse association (meaning that as one value increases, the other value decreases). Furthermore, values closer to 0 denote a weak association, whereas values closer to 1 or -1 denote a strong association.<\/p>\n\n\n\n<figure style=\"font-size:16px\" class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th colspan=\"2\"><strong>Standard interpretations for positive r-values<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>r-value<\/strong><\/td><td><strong>Interpretation<\/strong><\/td><\/tr><tr><td>0.00\u20130.19<\/td><td>very weak correlation<\/td><\/tr><tr><td>0.20\u20130.39<\/td><td>weak correlation<\/td><\/tr><tr><td>0.40\u20130.59<\/td><td>moderate correlation<\/td><\/tr><tr><td>0.60\u20130.79<\/td><td>strong correlation<\/td><\/tr><tr><td>0.80\u20131.00<\/td><td>very strong correlation<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Since MacroFactor\u2019s algorithms aim to predict users\u2019 rates of weight change based on their energy intake, strong performance would coincide with a large, positive r-value. Smaller r-values would suggest that we were doing a poor job of estimating energy needs, and negative r-values would mean we were doing an extremely poor job of estimating energy needs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Starting with our point of comparison, formula-based TDEE estimations were able to predict monthly rates of weight change with an r-value of 0.595. This is right in between a \u201cmoderate\u201d and a \u201cstrong\u201d correlation. Not too bad!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, MacroFactor\u2019s weight change predictions are <em>far<\/em> more strongly associated with users\u2019 observed rates of weight change, with a r-value of 0.869. This is comfortably a \u201cvery strong\u201d correlation. This also means that MacroFactor\u2019s equations explain more than twice as much variance in observed rates of weight change compared to predictions from TDEE formulas (r<sup>2<\/sup> = 0.755 for MacroFactor vs. r<sup>2<\/sup> = 0.354 for TDEE formulas).<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a364d87efeed&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a364d87efeed\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1656\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_6-scaled.png\" alt=\"Correlation between observed and predicted rates of monthly weight change (TDEE formula)\" class=\"wp-image-13352\" srcset=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_6-scaled.png 2560w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_6-300x194.png 300w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_6-1024x663.png 1024w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_6-768x497.png 768w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_6-1536x994.png 1536w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_6-2048x1325.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a364d87f01be&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a364d87f01be\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1656\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_7-scaled.png\" alt=\"Correlation between observed and predicted rates of monthly weight change (MacroFactor)\" class=\"wp-image-13354\" srcset=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_7-scaled.png 2560w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_7-300x194.png 300w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_7-1024x663.png 1024w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_7-768x497.png 768w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_7-1536x994.png 1536w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_7-2048x1325.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Of course, there\u2019s plenty of noise in monthly data, not to mention that each user has 70 individual data points represented in both of the graphs above (meaning that each data point isn\u2019t independent of all other data points, which is <em>technically<\/em> not advised for simple correlation analysis). So, let\u2019s take a look at how well MacroFactor and TDEE formulas were able to predict users\u2019 total weight change over the 100-day challenge period, with one data point per user.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a364d87f04c3&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a364d87f04c3\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1656\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_8-scaled.png\" alt=\"Correlation between observed and predicted weight change over 100 days\" class=\"wp-image-13356\" srcset=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_8-scaled.png 2560w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_8-300x194.png 300w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_8-1024x663.png 1024w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_8-768x497.png 768w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_8-1536x994.png 1536w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_8-2048x1325.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The correlation coefficients increase for both (r = 0.94 for MacroFactor vs. r = 0.61 for TDEE formulas), but now MacroFactor\u2019s predictions explain nearly 90% of the variance in observed weight change, while predictions from TDEE formulas still explain less than 40% of the variance.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cumulative accuracy<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Since we primarily focus on predictive validity when evaluating the performance of MacroFactor\u2019s algorithms, there\u2019s something of an upper limit on <em>assessed<\/em> performance over any finite time scale, because <em>short-term<\/em> weight changes don\u2019t always reflect changes in energy status.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To illustrate, let\u2019s just assume that MacroFactor\u2019s algorithms are literally perfect (I\u2019m not saying that they are \u2014 this is purely for illustrative purposes): they perfectly track with your energy expenditure, so they can always predict the size of your cumulative energy surplus or deficit over any time scale with zero error. Over relatively long time scales, your cumulative energy surplus or deficit <em>is<\/em> the primary determinant of weight change, but in the short term, your weight can fluctuate for reasons unrelated to energy balance. So, if you assessed how well this perfect algorithm could predict weight changes over any finite period of time, it would <em>never<\/em> get a \u201cperfect score.\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, if you assess the performance of this perfect algorithm over a month, some people are going to start or end that month weighing a couple of pounds more or less than their \u201ctrue\u201d weight simply due to dehydration, low glycogen stores, bloating, constipation, etc. Observed rates of weight change <em>will<\/em> differ \u2014 at least to some degree \u2014 from theoretically perfect predictions pegged to energy balance, just due to the inherent noise in weight data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, this apparent error due to the noisiness of weight data <em>should<\/em> be similar on an absolute basis over basically all finite time scales. In other words, the number on the scale may change by a pound or two more than it theoretically \u201cshould\u201d due to things like water weight, bloating, glycogen stores, etc., but these apparent errors should be similar in magnitude (on average) over a week, a month, a year, or a decade. So, when you instead calculate <em>per day<\/em> error rates, they should be expected to decrease over time. A pound of \u201cerror\u201d just resulting from the noisiness of weight data is 0.14lb of prediction error per day over the course of a week, 0.03lb of prediction error per day over the course of a month, and 0.003lb of prediction error per day over the course of a year.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So, by assessing the behavior of cumulative per-day error rates, we can gain confidence that the algorithms are actually doing a good job of helping people achieve their desired rate of weight change over time, and we can cut through some of the inherent noisiness of that weight data.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a364d87f0915&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a364d87f0915\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1741\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_9-scaled.png\" alt=\"Cumulative weight change prediction error per day\" class=\"wp-image-13358\" srcset=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_9-scaled.png 2560w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_9-300x204.png 300w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_9-1024x696.png 1024w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_9-768x522.png 768w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_9-1536x1044.png 1536w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_9-2048x1393.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Overall, this is the type of pattern we like to see: per-day error consistently decreasing over time. By the end of the 100-day challenge period, the median weight change prediction error per day was only 0.031lb, with an interquartile range (IQR) of 0.014\u20130.054lb per day. In other words, if you set a goal of gaining or losing some amount of weight, and you <em>perfectly<\/em> followed MacroFactor\u2019s recommendations for 100 days, you should generally expect your final weight to be within about 3.1lb of your goal.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">By comparison, if you continuously used a TDEE formula to estimate your energy expenditure (the process used by most other nutrition apps), instead of the per-day error rate gradually decreasing, the median per-day error rate essentially plateaus at about 0.085lb, with an IQR of 0.042\u20130.151lb per day.&nbsp;<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a364d87f0c58&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a364d87f0c58\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1741\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_10-scaled.png\" alt=\"Cumulative weight change prediction error per day\" class=\"wp-image-13388\" srcset=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_10-scaled.png 2560w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_10-300x204.png 300w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_10-1024x696.png 1024w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_10-768x522.png 768w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_10-1536x1044.png 1536w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_10-2048x1393.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In caloric terms, this suggests that the typical error over the course of a user\u2019s first 100 days with MacroFactor is about 4.4% of TDEE, or about 110 Calories per day. In other words, if your average expenditure for the first 100 days you use MacroFactor is estimated to be 2,500 Calories, you can be fairly confident that your actual average expenditure over that time span was between 2,390 and 2,610 Calories per day. Furthermore, the IQR for Caloric estimation errors covers the span of 50\u2013185 Calories per day, or 1.9\u20137.8% of TDEE. So, cumulative errors <em>smaller<\/em> than 50 Calories per day are more common than cumulative errors exceeding 200 Calories per day.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you instead continuously used a TDEE formula, you could expect a median error of approximately 300 Calories per day (around 12% of TDEE), with an IQR of 135\u2013525 Calories per day (5.4\u201321.1% of TDEE). In other words, there\u2019s a less than 1-in-4 chance that your Calorie targets would be as accurate as those of a typical MacroFactor user, and a greater than 1-in-4 chance that your Calorie targets would be more than 500 Calories too high or too low per day.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a364d87f0fb8&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a364d87f0fb8\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1741\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_11-scaled.png\" alt=\"Cumulative caloric estimation error per day\" class=\"wp-image-13390\" srcset=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_11-scaled.png 2560w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_11-300x204.png 300w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_11-1024x696.png 1024w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_11-768x522.png 768w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_11-1536x1044.png 1536w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_11-2048x1393.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">It\u2019s also worth mentioning that around a quarter of the cumulative error for MacroFactor users during their first 100 days of using the app comes from errors in their <em>initial<\/em> expenditure estimate (i.e., before the algorithms take over and converge on highly personalized recommendations after 3-4 weeks). Of the median error of 3.1lb over the first 100 days, approximately 0.8lb can be directly attributed to error in the initial estimates. Once the algorithms fully take over, the cumulative error is approximately 0.023lb per day, equivalent to a median Caloric estimation error of approximately 80 Calories per day, or 3.25% of TDEE. That is roughly the degree of ongoing accuracy that users can expect after their first 3-4 weeks of consistently using the app.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Within-individual comparisons of accuracy<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">All of the comparisons above paint MacroFactor\u2019s algorithms in a very favorable light, but they actually still <em>undersell<\/em> the accuracy of MacroFactor\u2019s algorithms for each individual user.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When you just compare the medians and interquartile ranges seen in the graphs and text above, it might look like MacroFactor should be more accurate for around 75\u201380% of people, with TDEE formulas being more accurate for around 20\u201325%. However, in actuality, MacroFactor is more accurate for <em>essentially<\/em> everyone.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead of just looking at the distribution of prediction errors for the entire cohort of users, we can instead make within-individual comparisons: for each user, how large was the absolute prediction error with MacroFactor compared with the absolute prediction error from a TDEE formula?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Overall, prediction errors were smaller with MacroFactor for 94.1% of users, whereas prediction errors would have been smaller with a TDEE formula for just 5.9% of users. However, even <em>that<\/em> split still undersells the accuracy of MacroFactor.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a364d87f13de&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a364d87f13de\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1329\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_12-scaled.png\" alt=\"Histogram of differences in 100-day weight change prediction errors (MacroFactor vs. TDEE formula) \" class=\"wp-image-13392\" srcset=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_12-scaled.png 2560w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_12-300x156.png 300w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_12-1024x531.png 1024w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_12-768x399.png 768w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_12-1536x797.png 1536w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_12-2048x1063.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The 5.9% of users who would have had nominally lower prediction errors from TDEE formulas were just users that would have gotten very accurate recommendations with both methods. In this small group of people, the average difference in 100-day prediction errors was just 0.66lb in favor of TDEE formulas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On the flip side, the 94.1% of users who got more accurate recommendations from MacroFactor\u2019s algorithms typically got <em>way<\/em> more accurate recommendations from MacroFactor\u2019s algorithms, compared with the recommendations that would have come from a TDEE formula. For these users, the average 100-day prediction error with MacroFactor was 7.48lb smaller than the average 100-day prediction error from TDEE formulas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In other words, there\u2019s a ~94% chance that MacroFactor\u2019s algorithms will predict your energy needs more accurately than a TDEE formula would over a 100-day period. Furthermore, if you happen to be in the ~6% that would get slightly more accurate recommendations from the TDEE formula, the difference between the two would be practically imperceptible (a difference in predicted weight change error of 0.66lb over 100 days is equivalent to a difference in Calorie recommendations of about 23 Calories per day). In essence, the only time that TDEE formulas \u201cwin out\u201d is when they just so happen to produce recommendations that are virtually identical to MacroFactor\u2019s recommendations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But, for the ~94% of people who got more accurate recommendations from MacroFactor, the benefits were typically quite large, with an average difference in weight change prediction errors of 7.48lb over 100 days. That means that, for the vast majority of people, MacroFactor\u2019s nutrition recommendations are more accurate than the recommendations of a TDEE formula by about 262 Calories per day, on average. Furthermore, the larger the difference between MacroFactor\u2019s estimate of your energy needs and a TDEE formula\u2019s estimate of your energy needs, the more likely it is that MacroFactor\u2019s estimate is considerably more accurate.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a364d87f1789&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a364d87f1789\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1689\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_13-scaled.png\" alt=\"100-day absolute weight change prediction errors\" class=\"wp-image-13394\" srcset=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_13-scaled.png 2560w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_13-300x198.png 300w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_13-1024x676.png 1024w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_13-768x507.png 768w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_13-1536x1014.png 1536w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_13-2048x1352.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">All in all, MacroFactor\u2019s algorithms estimate your energy needs nearly three times more accurately than estimates derived from the types of TDEE formulas that other apps solely rely on.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Avoiding large errors<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The final thing we assess when evaluating the algorithms is their ability to ensure that <em>everyone<\/em> can be confident in their recommendations. It\u2019s all well and good for <em>most<\/em> users to receive accurate recommendations from the app, but we\u2019d be extremely disappointed if a sizable minority was still receiving bad recommendations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Our metric here is simple: How frequently do the observed weight change prediction errors imply that the app\u2019s energy expenditure estimate is off by 10% or more?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ten percent is our benchmark for one simple reason: MacroFactor users often want to know if they should put more trust in the app\u2019s estimate of energy needs versus their smartwatch (or other wearable device).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/macrofactor.com\/wearables\/\">As we\u2019ve covered previously<\/a>, wearables are <em>notoriously<\/em> bad at estimating energy expenditure. That\u2019s a near-unanimous finding in the scientific literature, with a <a href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/32897239\/\">systematic review<\/a> finding that wearables under- or over-estimate energy expenditure in free-living humans by at least 10% in 82% of the studies that have tackled the question.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So, as a motivating metric to aim for, we want to be able to flip those numbers: Instead of generating errors <em>larger<\/em> than 10% at least 82% of the time, we want MacroFactor to generate errors <em>smaller<\/em> than 10% at least 82% of the time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We\u2019re doing pretty well on that front.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When we assess errors on a rolling 30-day basis, implied expenditure estimation errors exceeding 20% of TDEE are very rare (occurring in less than 5% of user-months following the initial 3-4 weeks of calibration). A <em>little over<\/em> three-quarters of implied monthly errors are smaller than 10% (75.9%, to be exact) after day 30, so we do still fall slightly short of our 82% goal. Furthermore, a little over 45% of implied monthly errors are smaller than 5% of TDEE.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a364d87f1c46&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a364d87f1c46\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1656\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_14-scaled.png\" alt=\"Frequency of monthly expenditure estimation errors below 20%, 10%, and 5% of TDEE\" class=\"wp-image-13396\" srcset=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_14-scaled.png 2560w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_14-300x194.png 300w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_14-1024x663.png 1024w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_14-768x497.png 768w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_14-1536x994.png 1536w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_14-2048x1325.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">However, when we look at periods of time exceeding a month, we do reach our goal of producing errors smaller than 10% more often than wearables produce errors larger than 10%. Over 100 days, errors exceeding 20% occur less than 2% of the time, around 55% of users have cumulative errors below 5%, and nearly 84% of users have errors below 10% of TDEE.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a364d87f1f6b&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a364d87f1f6b\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1656\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_15-scaled.png\" alt=\"Frequency of cumulative expenditure estimation errors below 20%, 10%, and 5% of TDEE\" class=\"wp-image-13398\" srcset=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_15-scaled.png 2560w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_15-300x194.png 300w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_15-1024x663.png 1024w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_15-768x497.png 768w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_15-1536x994.png 1536w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_15-2048x1325.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">General notes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Although we excluded users with strong evidence of consistent partial logging from the analyses above, I thought it might still be worth showing the impact partial logging can have. As you can see in the graph below, <em>occasional<\/em> partial logging (for example, slipping up and partially logging one day per month) isn\u2019t <em>that<\/em> much worse than never partial logging. However, as partial logging rates exceed 5% of days, and <em>certainly<\/em> as partial logging rates exceed 10% of days, accuracy decreases considerably.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a364d87f22aa&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a364d87f22aa\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1664\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_16-scaled.png\" alt=\"Frequency of cumulative expenditure errors of <10%\" class=\"wp-image-13400\" srcset=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_16-scaled.png 2560w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_16-300x195.png 300w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_16-1024x666.png 1024w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_16-768x499.png 768w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_16-1536x998.png 1536w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images_16-2048x1331.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">I should also note that all of the analyses above <em>only<\/em> screened out people with extensive evidence of partial logging. We didn\u2019t exclude people based on their demographic characteristics (age, sex, activity levels, etc.), or for not logging every single day of eating, weighing infrequently, or occasionally having logging data that looked fairly implausible (for example, 300lb men not losing weight while logging 1,500 Calories per day).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The purpose of this analysis <em>wasn\u2019t<\/em> to show the theoretical upper limits of our algorithms\u2019 performance with pristine, highly curated data. The purpose was to show how well the algorithms work for a broad, representative sample of typical users, some of whom <em>don\u2019t<\/em> always log with perfect accuracy or consistency. Even with imperfect data, the algorithms are still able to consistently generate excellent recommendations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But, if you <em>are<\/em> someone who weighs everything down to the gram and never misses a day of logging, you can reasonably expect that the algorithms will be even more accurate for you than the analyses presented in this article would suggest. However, the algorithms still work very well even if you aren\u2019t overly obsessive with your logging habits, as long as you <em>do<\/em> avoid partial logging.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Takeaways<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Since this is an article on the MacroFactor website, I\u2019m sure you expected us to conclude that our algorithms work very well. If so, your expectations were correct. The only way to measure accuracy is to measure error, so the analyses were all presented in terms of the errors the algorithms produce. The magnitude of those errors tells us two things:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>The algorithms <em>aren\u2019t<\/em> perfect. There <em>is<\/em> still some degree of error that\u2019s not simply attributable to initial estimation errors or the inherent noisiness of weight data.<\/li>\n\n\n\n<li>Our algorithms are quantifiably <em>much<\/em> better than anything else on the consumer market at estimating energy expenditure (for the purpose of recommending nutrition targets to help you reach your goals).<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Just to drive the second point home, here\u2019s a final head-to-head comparison of MacroFactor versus the two most popular methods of estimating energy expenditure: TDEE formulas and wearable devices. Since the only metric we have for wearables is the frequency of errors smaller than 10%, that\u2019s the metric we\u2019ll need to use for the comparison.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a364d87f2743&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a364d87f2743\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1851\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images18-scaled.png\" alt=\"Frequency of errors below 10% with MacroFactor, TDEE formula, and wearables\" class=\"wp-image-13402\" srcset=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images18-scaled.png 2560w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images18-300x217.png 300w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images18-1024x740.png 1024w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images18-768x555.png 768w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images18-1536x1111.png 1536w, https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/09\/Accuracy-Images18-2048x1481.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">By this metric, MacroFactor is about twice as accurate as TDEE formulas, and about 4-5 times more accurate than wearable devices. Not too shabby.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ultimately, we care very deeply about the quality of our algorithms, because they\u2019re at the heart of the MacroFactor experience, and they\u2019re one of the main reasons why people use and trust MacroFactor instead of some other nutrition app. Our main goal is to help our users reach <em>their<\/em> goals, and being able to consistently provide accurate nutrition recommendations is central to that aim. That\u2019s <em>why<\/em> we\u2019ve invested so much effort into developing our market-leading algorithms, and it\u2019s why we\u2019re still constantly researching ways to improve them even further.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"h-footnotes\">Footnotes<\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li id=\"fn1\">To perfectly account for your energy intake, you\u2019d need to burn some of each individual food you consume in a bomb calorimeter to adjust for nutrition labeling inaccuracies, and you\u2019d also need to <a href=\"https:\/\/www.cell.com\/trends\/endocrinology-metabolism\/fulltext\/S1043-2760(20)30134-X\">collect and burn all of your feces<\/a> to account for the chemical energy in food that you don\u2019t absorb. Even if you weigh everything you eat to the nearest gram, never eat at restaurants, etc., I can promise you that you still have some non-trivial degree of energy intake estimation error.<br><\/li>\n\n\n\n<li>The same basic process works for any discrete period of time. We just tend to focus on monthly data because it\u2019s a convenient and common unit of time, and analyses over shorter or longer time periods don\u2019t lead to materially different conclusions.<br><\/li>\n\n\n\n<li>Formula-based errors increased over time, even when accounting for changes in body weight, <em>likely<\/em> due to the fact that most participants in the MacroFactor challenge were losing weight, and were thus experiencing progressively greater <a href=\"https:\/\/help.macrofactor.com\/en\/articles\/256-i-ve-started-exercising-more-why-isn-t-my-expenditure-increasing\">energy compensation<\/a> and <a href=\"https:\/\/macrofactor.com\/weight-loss-bmr\/\">metabolic adaptation<\/a> over time. Unlike a static formula, MacroFactor can dynamically adapt to these changes. But, for people in a state of energetic maintenance, you shouldn\u2019t necessarily expect formula-based estimation errors to increase over time. I didn\u2019t want to call attention to the increased error magnitudes with formula-based estimations in the text of the article since these increased errors probably have limited generalizability.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Most apps rely on static calorie formulas. MacroFactor\u2019s adaptive algorithm learns from your data to deliver far more accurate targets. Here\u2019s how it works, how we measure its accuracy, and why it consistently outperforms other methods.<\/p>\n","protected":false},"author":2,"featured_media":13819,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"[]","jetpack_post_was_ever_published":false},"categories":[1543],"tags":[],"class_list":["post-13301","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-app-insights"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.8 (Yoast SEO v27.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How Accurate is MacroFactor\u2019s Expenditure Algorithm? - MacroFactor<\/title>\n<meta name=\"description\" content=\"Learn how MacroFactor\u2019s nutrition coaching algorithm works, how we measure its accuracy, and why it outperforms other nutrition apps.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/macrofactor.com\/algorithm-accuracy\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How Accurate is MacroFactor\u2019s Expenditure Algorithm?\" \/>\n<meta property=\"og:description\" content=\"Learn how MacroFactor\u2019s nutrition coaching algorithm works, how we measure its accuracy, and why it outperforms other nutrition apps.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/macrofactor.com\/algorithm-accuracy\/\" \/>\n<meta property=\"og:site_name\" content=\"MacroFactor\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-01T16:24:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-17T22:14:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/10\/Frame-32.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"1200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Greg Nuckols\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Greg Nuckols\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"32 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How Accurate is MacroFactor\u2019s Expenditure Algorithm? - MacroFactor","description":"Learn how MacroFactor\u2019s nutrition coaching algorithm works, how we measure its accuracy, and why it outperforms other nutrition apps.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/macrofactor.com\/algorithm-accuracy\/","og_locale":"en_US","og_type":"article","og_title":"How Accurate is MacroFactor\u2019s Expenditure Algorithm?","og_description":"Learn how MacroFactor\u2019s nutrition coaching algorithm works, how we measure its accuracy, and why it outperforms other nutrition apps.","og_url":"https:\/\/macrofactor.com\/algorithm-accuracy\/","og_site_name":"MacroFactor","article_published_time":"2025-10-01T16:24:02+00:00","article_modified_time":"2025-11-17T22:14:21+00:00","og_image":[{"width":1800,"height":1200,"url":"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/10\/Frame-32.png","type":"image\/png"}],"author":"Greg Nuckols","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Greg Nuckols","Est. reading time":"32 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/macrofactor.com\/algorithm-accuracy\/#article","isPartOf":{"@id":"https:\/\/macrofactor.com\/algorithm-accuracy\/"},"author":{"name":"Greg Nuckols","@id":"https:\/\/macrofactor.com\/#\/schema\/person\/e37d684b76f5d4415c0cc2cd16749199"},"headline":"How Accurate is MacroFactor\u2019s Expenditure Algorithm?","datePublished":"2025-10-01T16:24:02+00:00","dateModified":"2025-11-17T22:14:21+00:00","mainEntityOfPage":{"@id":"https:\/\/macrofactor.com\/algorithm-accuracy\/"},"wordCount":6281,"publisher":{"@id":"https:\/\/macrofactor.com\/#organization"},"image":{"@id":"https:\/\/macrofactor.com\/algorithm-accuracy\/#primaryimage"},"thumbnailUrl":"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/10\/Frame-32.png","articleSection":["App Insights"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/macrofactor.com\/algorithm-accuracy\/","url":"https:\/\/macrofactor.com\/algorithm-accuracy\/","name":"How Accurate is MacroFactor\u2019s Expenditure Algorithm? - MacroFactor","isPartOf":{"@id":"https:\/\/macrofactor.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/macrofactor.com\/algorithm-accuracy\/#primaryimage"},"image":{"@id":"https:\/\/macrofactor.com\/algorithm-accuracy\/#primaryimage"},"thumbnailUrl":"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/10\/Frame-32.png","datePublished":"2025-10-01T16:24:02+00:00","dateModified":"2025-11-17T22:14:21+00:00","description":"Learn how MacroFactor\u2019s nutrition coaching algorithm works, how we measure its accuracy, and why it outperforms other nutrition apps.","breadcrumb":{"@id":"https:\/\/macrofactor.com\/algorithm-accuracy\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/macrofactor.com\/algorithm-accuracy\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/macrofactor.com\/algorithm-accuracy\/#primaryimage","url":"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/10\/Frame-32.png","contentUrl":"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/10\/Frame-32.png","width":1800,"height":1200,"caption":"Frame"},{"@type":"BreadcrumbList","@id":"https:\/\/macrofactor.com\/algorithm-accuracy\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/macrofactor.com\/"},{"@type":"ListItem","position":2,"name":"How Accurate is MacroFactor\u2019s Expenditure Algorithm?"}]},{"@type":"WebSite","@id":"https:\/\/macrofactor.com\/#website","url":"https:\/\/macrofactor.com\/","name":"MacroFactor","description":"Reach your diet goals with the MacroFactor app, the smartest macro tracker and diet coach.","publisher":{"@id":"https:\/\/macrofactor.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/macrofactor.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/macrofactor.com\/#organization","name":"MacroFactor","url":"https:\/\/macrofactor.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/macrofactor.com\/#\/schema\/logo\/image\/","url":"https:\/\/macrofactor.com\/wp-content\/uploads\/2022\/03\/Black-MF-logo-1.png","contentUrl":"https:\/\/macrofactor.com\/wp-content\/uploads\/2022\/03\/Black-MF-logo-1.png","width":685,"height":641,"caption":"MacroFactor"},"image":{"@id":"https:\/\/macrofactor.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.instagram.com\/macrofactorapp"]},{"@type":"Person","@id":"https:\/\/macrofactor.com\/#\/schema\/person\/e37d684b76f5d4415c0cc2cd16749199","name":"Greg Nuckols","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/0c52dfe6ec297b061d4e06104063b446069b4bd7f5467f168f1b0bbdba1be9da?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0c52dfe6ec297b061d4e06104063b446069b4bd7f5467f168f1b0bbdba1be9da?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0c52dfe6ec297b061d4e06104063b446069b4bd7f5467f168f1b0bbdba1be9da?s=96&d=mm&r=g","caption":"Greg Nuckols"}}]}},"lang":"en","translations":{"en":13301},"jetpack_featured_media_url":"https:\/\/macrofactor.com\/wp-content\/uploads\/2025\/10\/Frame-32.png","jetpack_sharing_enabled":true,"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/macrofactor.com\/wp-json\/wp\/v2\/posts\/13301","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/macrofactor.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/macrofactor.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/macrofactor.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/macrofactor.com\/wp-json\/wp\/v2\/comments?post=13301"}],"version-history":[{"count":14,"href":"https:\/\/macrofactor.com\/wp-json\/wp\/v2\/posts\/13301\/revisions"}],"predecessor-version":[{"id":14245,"href":"https:\/\/macrofactor.com\/wp-json\/wp\/v2\/posts\/13301\/revisions\/14245"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/macrofactor.com\/wp-json\/wp\/v2\/media\/13819"}],"wp:attachment":[{"href":"https:\/\/macrofactor.com\/wp-json\/wp\/v2\/media?parent=13301"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/macrofactor.com\/wp-json\/wp\/v2\/categories?post=13301"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/macrofactor.com\/wp-json\/wp\/v2\/tags?post=13301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}