macrofactor

MacroFactor’s Algorithms and Core Philosophy

This article breaks down the two most important aspects of MacroFactor: how the app actually works, and the overall philosophy that infuses the app.
expenditure algorithm pages in MacroFactor

This article addresses the two most important aspects of MacroFactor: how the app actually works, and the overall philosophy that infuses the app.

The first part of this article will discuss the algorithm we use to adjust calorie and macronutrient targets. If you understand how the algorithm works, you’ll understand the utility of MacroFactor and the logic behind the app’s weekly calorie and macronutrient adjustments. 

The second part of this article will discuss why MacroFactor is the way it is, and why it feels the way it feels. A lot of new users report that, for reasons they can’t quite put their finger on, other nutrition trackers stress them out, but MacroFactor doesn’t. That’s not an accident. It’s the result of decisions driven by our core philosophy, which more-or-less boils down to, “what if nutrition apps didn’t try to guilt people into losing weight?” With that in mind, the second part of the article will discuss some of the key design and functionality decisions flowing from this philosophy.

How MacroFactor Actually Works

Our algorithms are purely deterministic, and rest on a simple premise: changes in body mass over time reflect changes in stored chemical energy in the body, which are directly linked to energy balance (the difference between energy consumed and energy expended). Thus, deterministic algorithms make the most sense for an app that seeks to make appropriate adjustments to calorie and macronutrient targets to help people gain or lose weight at their desired rate, or maintain weight over time despite fluctuations in energy expenditure.

When you first start using MacroFactor, you’re taken through a brief series of questions that aims to do two things: 1) get a rough estimate of your energy expenditure, and 2) get you set up with an initial set of calorie and macronutrient targets that suit your goals, needs, and preferences. For now, let’s ignore the actual calorie and macronutrient targets, because estimating energy expenditure is really the primary thing the rest of the app revolves around.

This initial estimate of daily energy expenditure is based on two factors: the app uses the Cunningham equation to estimate your basal metabolic rate (the amount of energy your body would use in a day, merely to stay alive), and a series of custom activity multipliers to estimate your maintenance energy needs (the amount of energy you’d need, per day, to neither gain nor lose weight, given your activity level).

The initial estimate is a rough estimate, but it’s the best starting point before the app has more data. However, even though this initial estimate of daily energy expenditure is easily the least important bit of information for our algorithms, we still put a lot of thought into it. Most other fitness products use the Harris-Benedict equation to estimate basal metabolic rate; the Cunningham equation “feels” too simplistic because its estimate of basal metabolic rate is only based on one variable (lean body mass) rather than the four variables used by Harris-Benedict (sex, age, height, and weight), but it performs about as well the Harris-Benedict equation in most populations, and may be particularly useful for people with greater than average lean mass.

We also developed our own set of custom activity factors, which can be seen below. The standard activity multipliers have a notable drawback: they don’t separate activity associated with day-to-day life (work, school, or any waking time spent not engaging in purposeful exercise) from exercise activity (purposeful, moderate-to-intense weight lifting, cardio, etc.). So, if you have a sedentary job, but you lift weight six days per week, which activity multiplier should you choose? Or how about someone with a reasonably active job or lifestyle, who doesn’t engage in any purposeful exercise? The standard activity multipliers don’t account for a lot of different lifestyles, whereas MacroFactor’s remove quite a bit of unnecessary confusion.

common physical activity correction factors
macrofactor physical activity correction factors

At this point, you have a starting energy expenditure estimate in the app. It’s the best estimate available with limited information, but it’s not a great estimate because these types of estimates are inherently imprecise. Even when accounting for lean body mass, basal metabolic rates differ considerably between individuals, and the amount of energy expended when performing a given level of physical activity will also differ considerably between individuals. MacroFactor’s initial estimate of energy requirements will hit the nail squarely on the head for some people, but it will be “wrong,” to varying degrees, for most people. If it wasn’t, that would imply that accurately estimating the energy requirements of individuals at a given point in time was quite easy; if that were the case, there would be no reason for MacroFactor to exist. This initial estimate of energy expenditure will change. Don’t get too attached to it.

Once the app has generated a rough starting point, you just need to log your weight (ideally daily) and food intake (as thoroughly and accurately as is reasonable for you). Your initial energy expenditure estimate will “stick around” for a few days while the app’s algorithms get to know you. After a week of using the app, your energy expenditure estimate will start moving. After about 14-30 days (depending on how consistently you track your weight and nutrition, and how close your initial energy expenditure estimate was to your “true” energy expenditure), the rate at which your energy expenditure estimate changes day-to-day should slow down. That’s when the app’s algorithms have figured you out. From there, everything should be smooth sailing. Your estimated energy expenditure will increase or decrease over time as your actual energy expenditure increases or decreases over time, and we should be able to make excellent calorie and macronutrient recommendations and adjustments to help you reach your goals.

expenditure screen in dark mode in MacroFactor

Now, let’s dig into the nuts and bolts of the algorithm.

The first key variable is your weight trend. Body weight is a pretty “noisy” measurement in the short term – you may wake up a few pounds or kilos heavier or lighter than normal because you ate a lot of sodium yesterday, you had a hard exercise session and depleted some glycogen, you have more or less undigested food in your intestinal tract than normal, or for any number of other reasons. However, over the longer term, there’s a lot of signal in all of that noise: long-term changes in weight reflect changes in chemical energy stored in the body, in the form of fats and proteins. So, the app aims to isolate the signal, but remove the noise.

Weight Trend screen in dark mode in MacroFactor

This article in the MacroFactor knowledge base explains how the weight trending algorithm works conceptually, but in more concrete terms, the app uses an averaging approach that accounts for the influence of weight values over a pretty long time scale, while placing more weight on more recent values. 

With this more sophisticated approach to weight trending, you “care” about data over a fairly long time period, but you “care” more about relatively recent data than relatively old data, because more recent data is more informative about the system you’re trying to describe. This is pretty easy to understand conceptually. Since scale weight is noisy day-to-day, we don’t want to trust it completely, but if I were to ask you, “how much do you weigh?”, the number on the scale this morning would certainly be more informative than the number on the scale a week ago, and the number on the scale a week ago would certainly be more informative than the number on the scale a month ago. However, older data isn’t completely uninformative. If you’re been approximately the same weight for a few weeks, but you randomly woke up five pounds heavier today, your relatively stable weight over the past few weeks probably tells you more about your “true” weight than the number on the scale this morning.

For measuring real changes in weight (and therefore stored chemical energy) over time, this approach to weight trending accomplishes two things: 1) it doesn’t overreact to short-term fluctuations in weight, but 2) it isn’t slow to pick up on real trends as they develop.

If you’re trying to maintain your weight, and you’re a bit heavier or lighter than average for a day (or two, or three, or possibly even four), the app’s algorithms don’t “care” too much, especially if your weight is moving back toward its longer-term baseline. But, if you’re still quite a bit heavier or lighter than normal (relatively speaking) by day four or five, especially if the downward or upward trend is accelerating, the app will pick up on the trend and start adjusting. This same logic applies if you’re gaining or losing weight, except we’re interested in deviations from the longer-term trend, rather than the longer-term baseline.

In short, the app uses a pretty sophisticated approach to weight trending, which allows it to pick up the signal (true changes in weight over time), while filtering out the noise (short-term fluctuations in weight that don’t reflect real changes in chemical energy storage).

Now, we’re getting very close to our destination: explaining how MacroFactor adjusts calorie and macronutrient targets week to week.

Remember, changes in weight reflect changes in stored chemical energy over time. Luckily, stored chemical energy can be described by the amount of heat that would be released if that energy was utilized. In other words: calories.

This means the app can estimate the caloric content of weight gained or lost once it has identified your weight trend, and that reveals how large of a calorie deficit or surplus you’ve been in. If the app knows that information, and knows your energy intake over time (i.e. if you’ve been consistently and accurately logging your nutrition intake), it can estimate your daily energy expenditure with a high degree of accuracy. This estimate of your daily energy expenditure, based on your actual body weight and nutrition data, will be far more accurate and reliable than the energy expenditure estimate you started with (based on an equation that just considered your lean body mass and activity level).

From there, calorie and macronutrient recommendations and adjustments are a breeze. When you set up a new goal, the app simply looks at the rate at which you’d like to gain or lose weight, converts that rate of weight gain or loss to the size of the calorie surplus or deficit it represents, and adds or subtracts that figure from your daily energy expenditure. Once a goal is locked in, week-to-week adjustments move in concert with changes in your energy expenditure.

Edit Goal screen in dark mode in MacroFactor

So, for example, if your activity levels increase, that increase will be reflected by the combination of your nutrition and weight trend data: either your weight will keep changing (or not changing) at the rate it was previously while your calorie intake increases, or your weight trend will bend downward (increasing at a slower rate, decreasing if it was previously flat, or decreasing at a faster rate if it was already decreasing) while your calorie intake remains constant. When this happens, your calculated energy expenditure will increase, and your calorie recommendations will increase. The opposite is also true; if metabolic adaptation occurs while you’re trying to lose weight, that will also be reflected by the combination of your nutrition and weight data, which will decrease your calculated energy expenditure, in turn decreasing your calorie targets.

Once calorie recommendations have been set or adjusted, macronutrient recommendations and adjustments are also a cinch. They’re largely (or completely) based on preference. If you’re on a “collaborative” program, the algorithm will adjust your weekly calorie budget, and you’ll have all the freedom in the world to set and adjust your own macronutrient targets from there. If you’re using a “coached” plan – the default for new users – your protein targets will be based on the type of exercise you do (no serious exercise, just endurance training, just resistance training, or a combination of endurance and resistance training), and your preferences (whether you want to be near the bottom, middle, or upper end of the advisable range for the type of exercise you do). Carbohydrate and dietary fat targets are purely preference-based. When calorie adjustments occur, the recommendations will respect your macronutrient preferences, to the greatest extent possible. If, for whatever reason, you have a very low calorie target, the app’s algorithms prioritize maintaining fat intake at a safe level for normal metabolic and hormonal health, followed by maintaining protein intake to preserve lean mass, followed by carb intake. 

This may have been a more thorough explanation than you were expecting, but this level of detail is worthwhile for several reasons.

First, we’re committed to being as transparent as is reasonable. That’s an easy thing for someone to bullshit about in the hopes that it will create positive brand associations, but if our willingness to divulge a large chunk of our “secret recipe” doesn’t illustrate that we’re serious about our commitment, I don’t know what will.

Second, this explanation should illustrate how the “adherence neutral” coaching adjustments are possible. Some other apps with functionality that’s similar to MacroFactor require the users to have more-or-less perfect adherence to calorie and macro targets in order to receive weekly calorie and macro adjustments. Since that’s an established pattern within this niche, we’ve seen quite a bit of skepticism about whether “adherence neutral” calorie and macro adjustments are even possible; if you don’t actually need to require an extreme degree of adherence to make appropriate program adjustments, why would you? Is the MacroFactor team lying about the capabilities of their algorithms to get a competitive edge?

However, now that you understand how MacroFactor works, the reason it doesn’t require perfect adherence should be pretty obvious: what it’s actually doing is solving for energy expenditure. If you can do a good job of solving for energy expenditure (and you can therefore track changes in energy expenditure over time), the final step of actually recommending and adjusting calorie and macro targets is simple. In the app’s system for estimating energy expenditure, “adherence” is irrelevant. The algorithms don’t even need to know your goal (much less whether you’re sticking to it); you could use MacroFactor for the simple purpose of tracking your energy expenditure over time, with no weight-related goals at all. As long as you track your weight and nutrition, accurately and consistently, MacroFactor will have no trouble calculating your energy expenditure, so it will have no problem generating and adjusting calorie and macronutrient targets for any weight-related goal.

In this long-term expenditure graph, the ups and downs correspond with periods of different goals, different activity levels, etc. For scale, this covers about six months.
In this long-term expenditure graph, the ups and downs correspond with periods of different goals, different activity levels, etc. For scale, this covers about six months.

Third, it’s worthwhile for illustrating the sorts of scenarios where the app’s algorithms may struggle, versus situations where they may be expected to struggle, but actually perform really well.

Assuming you track your weight and nutrition data accurately and consistently, there are two scenarios where the app’s algorithms really struggle. First, if you have a relatively large, persistent change in body weight that doesn’t reflect actual changes in energy storage, the app may provide reasonably inappropriate calorie and macro adjustments for a week (or possibly two weeks, if the weight change is large enough). For example, if you’re someone who gains a significant amount of weight when you start using creatine, that change in weight doesn’t reflect significant changes in energy storage; the app would (erroneously) believe your energy expenditure was dropping, and decrease your calorie recommendations. The same would apply if you switched from a very low-carb diet to a high-carb diet (and stayed on a high-carb diet), or if you went from consuming virtually no dietary fiber to a considerable amount of dietary fiber (and kept consuming a considerable amount of dietary fiber). Conversely, if you switched from a high-carb to a low-carb diet (and lost weight due to glycogen depletion), the opposite would occur – calorie recommendations may be a bit too high for a week or two.

The algorithms also struggle in the face of a very large, somewhat protracted, anomalous increase in energy expenditure. For example, if you’re a recreational cyclist, and you embark on a once-per-year, weeklong cycling excursion where you’re burning a couple thousand additional calories per day, our algorithms won’t know that this true increase in energy expenditure is a momentary aberration, rather than the “new normal.” Once you get home and return to your normal schedule, it may take a couple of weeks for your estimated energy expenditure to return to normal.

We don’t mind admitting that our algorithms don’t produce absolutely perfect recommendations in every conceivable scenario, for several reasons. First, transparency. Second, we don’t want users to be surprised by (or unprepared for) one of these situations. Third, MacroFactor has a very simple solution for these rare scenarios: just don’t do your weekly check-in for a week (or two). Once the rare event has been “priced in,” your energy expenditure estimate will stabilize, and you can start checking in again.

Conversely, MacroFactor’s algorithms will handle most situations splendidly.

Did you eat a huge meal with a ton of carbs and sodium, so you wake up several pounds/kilos heavier than normal? That’s totally fine, and I hope it was delicious! Your weight will trend back down, the algorithms won’t over-react, and you won’t get slapped with a huge reduction in recommended calories.

Are you up a couple pounds/kilos on the scale for a few days each month due to your period? No worries! The algorithms will handle it beautifully. 

Were you unable to track your weight and nutrition for several days (or even several weeks)? That’s completely okay. We don’t expect you to track your macros when you’re sick, or take your scale (and ESPECIALLY not your food scale) on vacation. Just start tracking again when it makes sense, and the app will carry forward your last “high confidence” energy expenditure value to get things rolling again.

Were you far more active than normal for a single day? That’s also totally fine; it takes a large, multi-day excursion from the norm for your energy expenditure estimate to start trending up due to large increases in activity. The algorithm will handle this just fine.

Want to just take a break from your diet for a day? Or a week? Or two weeks? There have been a lot of questions about how to take a “diet break” using MacroFactor. You could absolutely change your goal from “lose” to “maintain” for the duration of your diet break, or you could simply stick with your current weight loss goal in the app, but use your estimated energy expenditure as your new calorie target, and basically ignore your macronutrient targets for a while.

Furthermore, there’s one scenario where the algorithms theoretically struggle, but where they actually behave quite well, for practical purposes. Remember, the algorithms do struggle in situations where notable changes in weight don’t necessarily reflect changes in energy storage. However, there’s one such situation where this is actually useful: when you start a new weight loss or weight gain phase. When you transition into a caloric deficit from a prior state of maintenance or a caloric surplus, your weight will generally drop quite a bit, pretty quickly. This initial change primarily reflects a bit of glycogen depletion, combined with a decrease in intestinal contents. The opposite occurs when you transition into a caloric surplus. When this happens, the algorithms will initially think you’re losing or gaining weight a bit faster than desired, and therefore increase or decrease (respectively) your calorie targets a bit. Over the next week or two, your calorie targets will ease themselves to the appropriate levels of your desired rate of weight gain or loss. In effect, this behavior grants you a week or two to “ease into” your weight loss or weight gain phase. It’s a behavior that’s theoretically slightly “incorrect,” but practically, it grants people a bit of time to adapt their lifestyle to their new goal, rather than being tossed in the deep end all at once.

Finally, explaining the algorithms serves the purpose of illustrating why certain things are possible with the app, and for explaining certain behaviors of the coaching algorithm that may initially appear to be counterintuitive.

Because our energy expenditure calculation is at the heart of MacroFactor, and since the energy expenditure calculation is based solely on weight and nutrition data, the algorithm can “get to know you” from day 1 if you have prior, high-quality data you can fill in. If you don’t, no worries! Everything will be fine-tuned in 14-30 days. But if you have 14-30 days of prior data, you can enter it in on the “Habits” tab to get everything humming along nicely, right out of the gate. As a note: if you back-fill old weight and nutrition data, create a new macro program so that your calorie and macronutrient targets will reflect your updated energy expenditure value, rather than our initial, imprecise estimate.

Finally, the nature of MacroFactor’s algorithms helps explain calorie and macro updates that some users find to be counterintuitive. For example, in our Facebook group, users will occasionally make posts along the lines of, “I went over my calorie targets last week, but in my last check-in, the app increased my calories this week, instead of decreasing them. What’s going on?” Those are completely understandable questions, because that’s how some apps (and a lot of nutrition coaches) operate. The thinking more-or-less goes: “if I was over my calorie target last week, I’m going to be forced to ‘make up’ for it next week.” However, that’s not how MacroFactor’s system operates at all!

At the start of each week, the app gives you targets that will help you gain or lose weight at your desired rate, based on everything known about you at the time. Over the next week, the app gathers more information. At your next check-in, it makes adjustments based on updated information, with the goal of helping you gain or lose weight, at your desired rate, over the following week. Each week is, therefore, its own self-contained unit. The goal of the algorithm is to help you meet your goal for that week, and that week alone.

So, in the example above, MacroFactor is not going to force people to “make up for” deviating from their calorie and macro targets for the week! It’s just going to use what you actually ate, and how your weight actually changed to make recommendations for the next week. For example, if the app thought you needed to eat 2500kcal/day to lose weight at your desired rate, but you consistently ate 2600kcal/day, and you wound up losing weight at your desired rate, why would it bump your calorie target down to 2400kcal/day to “make up for” eating 100kcal/day more than your previous targets? We just learned that 2600kcal/day is a more appropriate target than 2500kcal/day was, so of course the app is going to bump your calorie targets up! The same logic applies across the board – the app’s algorithms are constantly updating and refining their estimate of your energy expenditure, and using that information to adjust your targets for the next week. Ultimately, it’s all just information. Recommendations are informative, not punitive.

That’s actually an excellent segue into…

Our core philosophy

Our philosophy is simple: we want to help you reach your goals, while taking as much stress as possible out of food logging. In a lot of insidious little ways, other food loggers seem to be designed to cause stress and encourage neurotic behaviors. We’ve designed MacroFactor, top-to-bottom, to break that mold.

The most obvious way we try to take the stress out of logging is via the way our core feature functions: adherence-neutral calorie and macro adjustments. You’re completely in control of every step of the process. You set a goal, and the app tells you how to get there, but it’s totally fine if you don’t follow the advice. MacroFactor will make appropriate adjustments to your calorie and macro targets based on what you log, regardless of how close you came to hitting your targets from the previous week.

MacroFactor’s algorithms don’t function any worse if you deviate from your targets. There are plenty of reasons you may want to deviate from your calorie and macro targets – a big social event, a coworker bringing doughnuts into the office, a new restaurant opening in town, or simply not feeling like thinking too hard about your nutrition for a day – and the app’s algorithms will take them all in stride, continuing to provide appropriate recommendations and adjustments for you and your goals.

You don’t have to eat like a robot and perfectly adhere to your daily or weekly targets for MacroFactor to make appropriate adjustments to your weekly calorie and macro targets over time. We believe that you shouldn’t have to work for your nutrition app; we believe your nutrition app should work for you. MacroFactor will tell you how to reach your goals, but everything else is in your hands.

However, our philosophy of reducing stress extends well beyond our adherence-neutral calorie and macro adjustments.

For starters, independent of the “adherence-neutral” framework used for calorie and macro adjustments, simply having targets that are clearly derived from your actual data really puts many people’s minds at ease. 

One of the things that’s stressed me out when trying to lose weight previously was the feeling that I was never quite sure if my personal calorie targets were correct. Were they unnecessarily low, which could make me less sharp, more lethargic, and more likely to lose muscle while dieting? Were they too high, meaning I’d take longer to reach my goal weight than intended? When would I need to update my targets, based on reductions in energy expenditure that naturally occur when dieting?

I personally know enough about nutrition that I had the capacity to answer those questions, and I should have felt confident in my answers … but I just didn’t. Dieting can fuck with your head. 

And for some people, it goes the opposite direction. “Hardgainers” are often unsure if they’re actually eating enough to gain weight at the rate they want. With that in mind, when you have calorie and macro targets that make sense, and are clearly being informed and updated based on your actual nutrition and weight data, that can remove virtually all of the guesswork (and therefore a lot of the stress) from a diet.

For another example of how MacroFactor aims to take some of the stress out of food logging: When you’re setting your first goal in MacroFactor, you’ll notice that the app doesn’t encourage you to select any particular goal. You can aim to gain weight, lose weight, or maintain your current weight, and nothing about our user interface tries to hassle you into choosing any particular goal. This is quite unlike many other macro tracking apps that are designed with the assumption that everyone is aiming to lose weight. 

The app’s weight trending feature was also designed to reduce stress. If your weight is trending the way you want it to, but the scale gives you “bad” news one day (you’re trying to gain weight and your weight is below normal, or you’re trying to lose weight and your weight is above normal), it’s not hard to start catastrophizing. However, the nice, smooth, gradual procession of the weight trending line will put your mind at ease. The weight trend is also very resilient in the face of large weight swings that are short-lived. As you log your weight in MacroFactor, you realize more and more that your trended weight reported in the app is more indicative of reality than the day-to-day vicisitudes of the scale. 

One of the first things users notice about MacroFactor is the way the app handles things when you go over your calorie or macro targets for a day. And by that, I mean: nothing happens. You won’t see a warning on the screen shaming you for exceeding your calorie target or your carbohydrate target, or anything of that nature. MacroFactor doesn’t turn any numbers red (and we all know that on the user interface of a nutrition app, red means “bad”) when you exceed a particular target.

Before and After Going Over Calories

The numbers on the screen change, but that’s it: just neutral information with no implied judgments attached.

There are a few main reasons for that.

First, it’s just a stupid design decision. A user presumably has a particular calorie goal because that calorie goal is in line with some weight goal; it will help them maintain weight, gain weight at the desired rate, or lose weight at the desired rate. With that in mind, there’s a similar “cost” associated with any deviation from the target. Being under your calorie target has undesired effects (losing weight faster than desired, losing weight when the goal is to maintain weight, or gaining weight slower than desired), and being over your calorie target has undesired effects (losing weight slower than desired, gaining weight when the goal is to maintain weight, or gaining weight faster than desired). If an app uses pop-ups and changes to the user interface (turning numbers red) that indicate a user has done something bad when they exceed their targets, but the app doesn’t do anything when a user is below their targets, it’s giving its true intentions away: the app is not trying to help people reach their goals on their terms. It’s just trying to cajole everyone into losing weight. And if the user already wants to lose weight, the app’s interface is trying to cajole them into losing weight faster than they said they want to. If the purpose of a nutrition app is truly to help the user reach their goals, there are only two defensible options: shame people for any deviations from their targets, or don’t shame people at all. We think the latter is the superior option, because:

a) shame doesn’t work

b) expecting people to hit a particular target on the head every day is wildly unrealistic and completely unnecessary and

c) we’re not assholes.

Second, MacroFactor doesn’t use pop-ups or UI changes to tell people they’re doing something “bad,” because what you want to do is your own damn business, and it’s not an app’s job to judge you for it. Again, this is most relevant when people are trying to lose weight. When you put yourself in the shoes of someone who’s trying, and struggling, to lose weight, it becomes pretty obvious that design decisions that shame people for exceeding their calorie and/or macro targets are incredibly unhelpful. When you’re trying really hard to stick to a diet, you probably already feel a little bad when you exceed your calorie target for the day, simply because our society attaches so much stigma to weight and difficulties losing weight; speaking for myself, I certainly don’t need an app to tell me to feel even worse. I’m already suitably disappointed in myself, thank you very much. Furthermore, when you purposefully deviate from your diet – you’re celebrating a special occasion, going out with friends, or simply not in the mood to worry about it for a day – the last thing you need is an app telling you, “sorry. No fun for you. You wanted to relax and have a good time, but guess what? You fucked up, buddy.” For what it’s worth, I’ve never had that bad of a relationship with food or that bad of a relationship with my body – the notifications and red numbers were generally little more than an annoyance – but some of our users have told us that those UI decisions in other apps have really messed with their heads.

We don’t expect people to eat like robots, and we don’t shame people for the choices they make. One user called this approach, “depressingly revolutionary.” We’ll take it.

This philosophy of aiming to remove unnecessary stress influences virtually every decision we make. We aim to give you all of the information and guidance you need to reach your goals, without trying to shame you or force your hand.

Finally, you may be wondering why this article covers both our algorithm and our philosophy. At first, they may seem like strange bedfellows or, at minimum, strange topics to discuss in the same article. After all, the algorithm is the most data-driven, technical part of the app, which seems very divorced from our feel-good “don’t be mean to people” philosophy.

However, our philosophy, and the decisions flowing from our philosophy, are crucial for ensuring the algorithm works as well as possible, for as many users as possible.

One thing that a lot of our users report is that they’re simply doing a better job of logging their nutrition since they started using MacroFactor, and I think there’s a reason for that. The most common systematic food logging error people make is under-counting – they don’t log all of their foods, they underestimate portion sizes, etc. I think there are several reasons for that, but a major factor, for people coming from a calorie-counting background, is that they’re used to being met with negative feedback when they eat more than they’re “supposed” to eat. I assume that the intention of such feedback is to convince people to eat less, and maybe it accomplishes that goal to some degree, for some people (though, to be clear, that’s not always the best goal). However, it also encourages logging less – logging with less consistency, logging with less accuracy, and simply logging fewer calories, to avoid being met by feedback that says, in so many words, “you fucked up.”

When people start using MacroFactor, and they find there’s no penalty for exceeding calorie targets, and there’s no design elements or pop-ups or warnings telling them they did something wrong, that removes a fairly significant disincentive against accurate food logging. Furthermore, when you log everything, and log accurately (which means logging more calories for most people, most of the time), our algorithm responds appropriately by increasing calorie targets. Especially when you’re dieting, being told to eat more is generally preferable to being told to eat less, so beyond removing a disincentive, our system passively (but pretty strongly) incentivizes accurate food logging.

That’s where our algorithm and our philosophy meet. If we were jerks, our algorithms would be analyzing less accurate data from more users, and would therefore be making worse recommendations. A kinder approach to food logging doesn’t just make for happier users because their interactions with the app are more pleasant. A kinder approach also makes for happier users because it tangibly improves the recommendations the app can provide, and therefore makes it more likely that more people will reach their goals (and we’re glad to see that other people agree).

Confidently control your nutrition

Download and start your free trial to get your custom macro plan and food logging access today.

Related articles

Reverse Dieting: Hype Versus Evidence
Reverse Dieting: Hype Versus Evidence

This article will explore the actual research related to reverse dieting, which tells a much different story than the hyped-up anecdotes you’ll see on social media. It will also explain why “dynamic maintenance” is a more flexible and less tedious strategy that offers every single benefit that reverse dieting actually delivers.

Scroll to Top