Back to AllotmentAllotment

Methods

Every figure on this site is an estimate built from published data. This page says which data, how it is joined, what the joins can get wrong, and what the numbers do not cover. Where something is uncertain it is marked in the margin rather than left for you to find.

Climate impact

Figures come from the AEP emission factor library: Agribalyse for retail foods and Agri-Footprint for farm-gate ingredients, both cradle-to-retail in kgCO2e per kilogram as purchased.

The library does not record an Agribalyse release number. Its factors carry a source year of 2025, after the November 2024 release of Agribalyse 3.2, so the values are current; what it will not have is any food added in a release after the refresh. We say “Agribalyse” without a version rather than name one the data does not carry.

Agribalyse splits climate change three ways using the European Environmental Footprint method, which divides emissions by the origin of the gas: fossil, biogenic, and land use change. That is not the same split as the GHG Protocol’s FLAG categories, and the difference bites. All nitrous oxide, the main greenhouse gas from fertiliser and manure and the dominant farming emission for every crop, is filed under “fossil”. Read literally, Agribalyse maize is 0.2% farming emissions and 89% fuel, where the same crop in a FLAG-classified database is 39% farming.

So for Agribalyse rows a share of the fossil column is moved into farming emissions. The share is the proportion of nitrous oxide to fossil carbon for that kind of food, taken from Poore & Nemecek 2018 and applied by food group: beef 0.46, dairy 0.20, cereals 0.16, vegetables 0.11, fish 0.05. Totals are unchanged; only the split moves. Both the original and adjusted columns are kept on every record.

Group averages, not measurements of the row. Agribalyse models French supply and is used here as a proxy for UK food. Farm-gate and retail rows have different system boundaries; the library prefers retail rows and records the stage, but there is no per-row inclusion matrix yet, so a mixed comparison is possible. And because the library carries no release number, a saved plan cannot yet be pinned to the exact factor version that produced it.

Land

Square metres multiplied by a year, per kilogram at retail weight, from Poore & Nemecek 2018, a review of 570 life-cycle assessments covering more than 38,000 farms. Occupying ground for a season is not the same as occupying it permanently, which is why the unit has a year in it.

The fair share drawn on the bar is arithmetic, not a boundary: about 5.0 billion hectares of cropland and permanent pasture (FAO), shared between 8.1 billion people (UN 2024), is roughly 6,173 m2 each, or 118.7 m2 a week.

The maps show where the science was done, the locations of the studies behind a food’s figure, and never where any particular food came from. Nothing here knows the provenance of your shopping. The studies are also unevenly spread: roughly four in ten are European and fewer than one in ten African.

A share of farmland in use, not the planetary boundary for land-system change, which is expressed as forest cover remaining and does not divide into a shopping basket. Land only reaches a food through a Poore & Nemecek product match, so a plan’s land figure typically covers a third to a half of its weight; the covered share is stated with the figure, and comparisons are withheld below a quarter.

Nutrition

From CoFID, the UK Composition of Foods Integrated Dataset, matched to each ingredient with a quality score out of 10 that is shown on the ingredient.

Thirteen nutrients are checked. Nine are floors to reach: protein, fibre, calcium, iron, magnesium, potassium and vitamins A, C and E. Four are limits not to exceed: saturated fat, free sugars, sodium, and total fat at 35% of energy after SACN. The nine and the first three are the NRF9.3 profile. Five more base rates were added on 21 September 2026, vitamin B12, folate, zinc, vitamin B6 and riboflavin, against UK reference intakes, because the composition tables carry them for about nine tenths of the recipe weight; a plan is judged on eighteen checks. Three more are shown against their references but never planned against or counted: vitamin D, because food alone rarely reaches 10 µg and SACN advises a supplement in autumn and winter; iodine and selenium, because the tables carry them for only 61% and 50% of the recipe weight and a missing trace is not a zero. Floors and limits are scored in opposite directions and never merged into one score.

Free sugars are added sugars plus those in honey, syrups and fruit juice, after SACN 2015, capped at 5% of energy. Sugars locked inside whole fruit, vegetables, pulses and nuts are excluded, because an apple is not a spoonful of sugar. The composition tables carry only total sugars, lactose and galactose, so which of an ingredient’s sugars are free is decided per ingredient by what it is: whole plant foods are exempt unless something has released them (juiced, puréed, dried fruit, candied, made into jam), and everything else keeps its full figure because its record mixes intrinsic and added sugar in one number. The error therefore runs towards counting too much, which is the safe direction for a limit. This is not the same as the American “added sugars”, which excludes fruit juice.

A check has three outcomes, not two: met, missed, or not assessed. Where too little of a plan’s weight carries a value for a nutrient, no claim is made in either direction and it is never counted as a pass. The page shows checks met out of checks that could be made, and names the gaps beside it.

Where a food’s record does not carry a nutrient it is treated as not known, not as zero. It still sums as zero, since there is nothing else to add, but the row says what share of the plan’s weight was unknown, and a nutrient known for less than half a dish is left out of that dish’s density score rather than counted as absence. Vitamin C is typically known for 89% of a dish’s weight, vitamin A 91%.

Recipes do not list salt amounts, and the quantity solver excludes salt, so sodium was running at 0.84 of each recipe’s published figure and under half for one recipe in five. The difference between the two is now added back as an “added salt” line, at 400 mg of sodium per gram of salt.

Every dish and ingredient also carries its score on the UK Nutrient Profiling Model (2004/05), the arithmetic behind “HFSS”: points for energy, saturated fat, total sugars and sodium per 100 g, minus points for the fruit, vegetable and nut share, fibre and protein, with four or more scoring as “less healthy” (one or more for a drink). The fruit, vegetable and nut share is calculated from the ingredient list, as the model’s guidance directs: fruit, vegetables, pulses and nuts count, potatoes do not, and dried or concentrated forms count at twice their weight. A dish is scored per 100 g as the recipe gives it, which is ingredients as bought with yield factors applied, so water lost in cooking moves the score a little; the share does not move, being a ratio of weights. No verdict is given where the record lacks one of the four inputs the model limits. The word HFSS is never used as a label: that is a legal status which also needs the food to be in a regulated product category and offered for sale.

General population reference intakes for adults, not individual requirements. Not reviewed by a registered dietitian. Nothing here is suitable for children, pregnancy, medical conditions or therapeutic diets. Vitamin D, iodine and selenium are shown but not counted; nobody has reviewed the nutrient specification. Which sugars are free is decided from what an ingredient is, not from a measurement, because no composition table carries the split; where it cannot tell, it counts them.

Cost

From DEFRA Family Food: purchases to March 2024, published November 2025. A purchase-weighted UK average across all retailers, matched to foods at food-code level with a match quality out of 10. Where a food has no match, a price is estimated from its category and the figure is marked as estimated.

These are average prices from that period, not today’s shelf prices, and they are not adjusted for inflation. They estimate the value of the ingredients a recipe uses, which is not what a shop costs: you may use a third of a packet and still have to buy the packet. Pack sizes, promotions and pantry carry-over are not modelled.

Recipes and their weights

Recipes are from BBC Good Food. Where a recipe publishes its ingredient weights, those are used exactly as published.

Where it does not, the weights are reconstructed: the amounts are solved so that the recipe’s computed energy, protein, fat, carbohydrate and saturated fat land on its own published figures, within portion limits for each kind of ingredient and anchored to a typical portion. A recipe whose reconstruction cannot reach its published energy is dropped rather than shown.

A close fit is not independent proof that the weights are right. Several combinations of amounts can satisfy the same nutrient totals while differing in cost and emissions, and the fit can absorb a matching error rather than reveal it. We have found exactly that, with dried lentils matched where cooked were meant and dry beans where a drained tin was. Salt is excluded from the fit because it is added at the pan, not listed.

What the plan is compared against

For climate, dishes from this collection. Each rung of the comparison is a week built by the same planner, on the same emission factors, the same ingredient matches and the same energy target as your plan: a week of vegan dishes here, of vegetarian dishes here, and so on up to no restriction at all. Nothing is converted between models, because there is only one model.

The page used to compare a plan against measured British diets from Scarborough et al. 2023. That was withdrawn. Those diets are costed on Poore & Nemecek and our plans on Agribalyse; on the identical DEFRA shopping basket the two differ by a factor of about 2.2, so the page was dividing our number by somebody else’s and calling the difference a saving. It reported a real 55% as 88%.

Each rung is the median of several nutritionally adequate weeks, drawn with no preference for a low footprint, so it describes the group rather than the search. Weeks that fail the adequacy check are rejected and counted, and the page says how many of each rung’s draws survived, because a group that rarely produces an adequate week is telling you something. The planetary share remains as a second reference: a per-person allocation, useful for scale and openly a normative choice rather than an entitlement.

For land, the measured diets stay. Our land figures are themselves Poore & Nemecek, so that comparison shares a database with what it compares to. It was never the mismatched one.

The rungs describe this collection, not the country. A week of vegan dishes from a general cookbook is not what vegans eat, and a bias shared by every recipe here cancels out and becomes invisible. A plan built by this tool usually lands below every rung because it was chosen to. The rungs are ordinary weeks of each kind, not the best ones. For land, sharing a database does not repair the fact that a Poore & Nemecek match reaches only a quarter to a third of a plan’s weight; the rest is assumed to behave the same.

How a week is chosen

The planner picks whole dishes, not loose ingredients, so a week is made of things people actually cook. Nutrient floors, limits and the energy band are penalties rather than hard walls, which lets the search cross an infeasible region instead of getting stuck outside it. Where a target cannot be met, the plan says which one and by how much rather than quietly dropping it.

In the ranking, a dish counts as a meal only if it carries a meal course and provides at least 10 g of protein and 250 kcal a serving. Without that, per-calorie arithmetic put root vegetable mash at the top of a table of dinners.

“On the frontier” means nothing else in the library beats a dish on climate, cost and nutrition at once. That is a statement about this library under these filters, not a universal best. Ties are common and small differences are not meaningful.

Swaps and allergens

Substitutions are hand-written, not inferred from category similarity: plant milk is not in the same category as dairy, and tofu is not in the same category as fish. Each one states what it does to energy, protein, cost and climate impact, including when the trade is bad.

Every swap also declares what it introduces, soya for a dairy or fish swap and nuts for an almond drink, and says so at the point of choosing.

There is no allergen filter. A swap says what it adds; it does not certify what the rest of the dish contains, and it cannot speak to cross-contamination or a specific product. If you are avoiding something, read the recipe and the package. Diet labels on recipes are the publisher’s, not ours.

What this does not do

It does not price your shop, know what is in your cupboards, or model pack sizes. It is not dietary advice and has not been reviewed by a dietitian. It covers greenhouse gases and land only, not water, biodiversity, nutrient pollution, fisheries, soil or animal welfare, so a plan inside its climate and land figures is not thereby sustainable in the round.

No claim here is a measured outcome. Nobody has yet cooked one of these weeks and recorded what they bought and ate, which is the evidence that would turn an estimate into a result.

Last reviewed 13 September 2026. Corrections and decisions are recorded as they are made; if a figure here looks wrong, it is worth telling us, because it probably is worth knowing.