The minimum fat intake per day in MacroDiet is max(0.6 g/kg of body weight, 20% of the calorie target) — the algorithm computes both and never sets fat below the larger one. The 20% figure is the bottom of the Institute of Medicine's acceptable macronutrient range for fat (20–35% of energy);1 the body-weight rule stops a low calorie target from dragging fat down with it.

This article explains why a floor exists at all, shows the two ways of computing one, and walks through what the floor does to the rest of the split when calories are low.

Why fat has a floor

Fat is the macro that shrinks first when a diet gets tight, because it is the most energy-dense and the easiest to cut from a plate. A macro calculator that simply assigned fat a percentage of the remaining calories would, on a small enough budget, drive fat toward zero. Reference bodies do not describe a diet like that: the Institute of Medicine places adult fat intake in a range of 20–35% of energy.1

So the algorithm treats the bottom of that range as a hard line. This is a rule about what the formula sets, not a claim about what happens to a person below it — the floor's job is to keep the output inside the published range.

In plain terms: the floor exists so that a small calorie budget cannot produce an unreasonable fat number.

Two ways to set it (table)

There are two common approaches, and MacroDiet uses one of them.

RuleFormula60 kg / 165 cm80 kg / 178 cm100 kg / 185 cm
Body weight (MacroDiet)0.6 g/kg36 g48 g60 g
Share of calories (MacroDiet)20% of target ÷ 9 at 1,600 / 2,000 / 2,400 kcal36 g44 g53 g
MacroDiet floormax of the two rows36 g48 g60 g
Height (alternative)(height − 150) × 0.5 + 3038 g44 g48 g

The body-weight rule is the constant MIN_FAT_G_PER_KG = 0.6; the calorie rule is MIN_FAT_PCT_OF_CALORIES = 0.20. The height rule is included because you will meet it in other apps; it produces similar numbers for average builds and lower numbers for heavier people, which is why MacroDiet pairs a weight rule with a calorie rule instead.

20 g40 g60 g80 g50 kg60 kg70 kg80 kg90 kg100 kg110 kg120 kg20% of 1,600 kcal = 36 g20% of 2,000 kcal = 44 g20% of 2,400 kcal = 53 g0.6 g/kg → 72 g at 120 kgFloor = max(both). The rising rule wins above roughly 73 kg at 2,000 kcal.
Fig. The minimum-fat rule the macro formula applies: fat is never set below the higher of 0.6 g per kg of body weight (the rising line) and 20% of total calories (the flat lines, shown for 1,600, 2,000, 2,400 kcal). Whichever line is higher at your body weight and calorie target is the floor. Arithmetic from the algorithm's constants, not a nutritional recommendation.

Fat as the balancing macro

Outside keto, fat is set as a share of the calories left after protein: 35% on the balanced style, 20% low-fat, 50% low-carb (the constant FAT_PCT_OF_REMAINING). Only then is the floor checked. If the share came out below the floor, fat is raised to the floor and the calculator reports "minimum fat floor applied".

Take a 75 kg person at 2,000 kcal, moderate protein (120 g, 480 kcal), so 1,520 kcal remain:

StyleShare of remainingFat before floorFloor max(45, 44)Fat set
Balanced35%59 g45 g59 g
Low-fat20%34 g45 g`45 g` (floor applied)
Low-carb50%84 g45 g84 g

The low-fat style is where the floor usually bites: 20% of the *remaining* calories is less than 20% of *all* calories once protein has been taken out, so the calorie rule almost always lifts it.

On keto the logic flips — carbohydrate is fixed at 30 g and fat is the remainder — so fat is far above any floor and the check is never needed. Keto macros explained covers that branch.

What happens at very low calories

The calorie floor for a losing goal is 1,500 kcal for a male profile and 1,200 kcal for a female profile (standard mode). At 1,200 kcal, 20% is only 27 g of fat, so for anyone over 45 kg the body-weight rule wins: a 70 kg person's floor is 42 g, which is 378 kcal31.5% of the target.

Carbohydrate absorbs that. With moderate protein on a losing goal (70 × 1.8 = 126 g, 504 kcal) and fat at the 42 g floor, carbohydrate is (1,200 − 504 − 378) ÷ 4 = 80 g. Every gram of fat that the floor adds costs 2.25 g of carbohydrate, because 9 ÷ 4 = 2.25.

In plain terms: on a tight budget the algorithm protects protein and fat and lets carbohydrate take the whole cut — which is why low-calorie targets always come out low in carbs, whatever style is selected.

The short version

The floor is max(0.6 g/kg, 20% of calories), built from the bottom of the Institute of Medicine's 20–35% range for fat.1 Fat is first set as a share of the post-protein calories by diet style, then lifted to the floor if needed, and carbohydrate is the remainder that shrinks. The macro calculator shows the floor being applied whenever it binds.

Educational overview only — not medical advice. Zyra is a training and nutrition tracking tool; the numbers here are the algorithm's rules and published reference values, not an individual prescription.