Lunch Variety Tracker: Plan a Week, Score the Variety
A week of packed lunches drifts. Monday is a sandwich, Tuesday is a sandwich with a different filling, and by Thursday the whole box has narrowed to bread, cheese and one fruit that everybody has refused since October. The problem is rarely that the lunches are bad. It is that they are the same lunch wearing different clothes, and nothing on the shopping list makes that visible. This tracker reads a week of lunches written one per line, sorts every food into one of five groups, and turns the week into a single score with the reasoning attached. You set the number of days, how many fruit and vegetable types you want to see, how many protein types, and whether a repeated food counts once or every time. What comes back is the count of distinct types in each group, the number of food groups the week covers, a warning when two days are identical, and a shopping list of specific foods to add next week. The score is a planning aid, not a rule: it tells you what a week actually contains, so you can decide what to change.
How to use it
How to use this tracker: type the lunches as you actually pack them, one per line, in the order of the week. Write food names, not descriptions, so a line reads Turkey sandwich with apple slices and carrot sticks rather than the usual packed lunch again. The parser sorts every recognised food into one of five groups, and the words you use decide what it can sort, so plain names beat clever ones.
Set the two targets before you read the score. The fruit and vegetable target is the number of distinct types you want to see across the whole week, not the number of pieces, and the protein target works the same way. Ten pieces of apple is one type, while apple, carrot and orange is three, and that distinction is the whole point of the tracker.
Choose whether a repeated food counts once or every time. Counting once gives the real variety picture, because the third turkey sandwich in a week does not add a new food to the week. Counting every time gives the volume picture, which is useful when you are working out how much to buy and how many pieces of fruit the week needs.
Finish with the repeated day warning and the list of what to add next week. Two identical days in a row is the single biggest source of lost points, and the suggestions name foods that are not yet in the week, so you can go straight to the shop list instead of scrolling a food database.
Three common mistakes
- Common mistake: reading the score as a verdict on your planning. The score measures what the week contains, not what the food is worth, and a week of 86 out of 100 with two identical days is a better week than a week of 72 where every day is different. Use the number to find the gap, then use the food list to fill it, and stop there.
- Watch out for counting pieces instead of types. Six grapes, a grape bunch and a grape yogurt all count as one grape type in the tracker, because it is reading the word and not the portion. This is deliberate: the thing that limits variety in a packed lunch is the food itself, not how many pieces of it there are on the plate.
- Key point that gets missed: the five food groups matter more than the number of distinct foods. A week with 14 different foods can still score badly if there is no dairy in it at all, and the coverage line is worth 25 points on its own. When the score is low, look at the group line first, because a missing group is a bigger problem than a missing mango.
- Easy to get wrong: writing the line in a way the parser cannot read. A line such as the usual packed lunch again carries no food names, so the day is counted as empty and the score drops for the wrong reason. If a day comes back as unrecognised, rewrite it with plain names: sandwich, apple, cheese, crackers. The parser knows about 70 common lunch foods.
How the variety score is built
The score has four parts, each one visible in the result so you can see exactly where the points came from and which part to work on next week. Nothing is weighted by opinion: each part has a fixed maximum and the maximum is met when the week hits the target you set.
- Fruit and vegetable types, worth 30 points, scaled against the target you entered. Nine types against a target of twelve gives 22.5 points.
- Protein types, worth 30 points on the same basis. Six types against a target of seven gives 25.7 points.
- Food groups covered, worth 25 points, in five steps of five. A week that hits all five groups gets the full 25.
- Lunch variety, worth 15 points, one slice of it for every day of the week that is not a repeat of another day. Six distinct days out of seven gives 12.9 points.
Add them up and the default week comes to 86.1 out of 100. The useful part is not the total, it is the shape: a week with 25 out of 30 on protein and 12 out of 30 on fruit has a specific shopping list attached to it, and that is a problem you can solve on Sunday rather than complain about on Wednesday.
Why types are counted instead of days
Two weeks can have the same number of different lunches and completely different levels of variety. One week is seven different sandwiches, which is seven lunches and three food types. The other week is five lunches with fruit in every one of them, which is five lunches and nine fruit and vegetable types. The first week scores better on the surface and is worse in the lunchbox, because a child who sees a sandwich every day stops opening the box with any interest at all.
- A food type is counted once per week, so the fourth carrot of the week does not add a point.
- Changing the filling without changing the base does not count as a new type, because the base is what fills the box.
- Adding a fruit or vegetable to an existing sandwich counts, because that is the swap that actually changes the week.
- The counter is not about hiding repetition. If you want to know how much fruit you need to buy, switch the repeat counter to every time it appears.
The tracker also separates the two ideas that people usually merge: how many different foods the week contains, and how many days are identical. The score uses both, and the warning names the days that are the same.
How a lunch line is read
The parser is a small word table, not a nutrition database. It lowercases the line, splits it into words, then walks through the words looking for two-word phrases first and single words second. That order matters, because string cheese has to be recognised as one dairy item rather than as a cheese item preceded by a stray word.
- Two-word phrases are checked first: peanut butter, string cheese, snap peas, pumpkin seeds, pita wedges, olive oil, cherry tomatoes, apple sauce.
- Single words cover the staples, proteins, dairy, fruit, vegetables and fats, with simple plural handling so carrots and grapes are recognised.
- Each recognised food is placed in one group: staple, protein, vegetable and fruit, dairy, or healthy fat.
- Anything unrecognised is left out rather than guessed at, so a day with nothing recognised is flagged instead of being scored as an empty lunch.
- Words like and, with, slices, sticks, wedges and bites are ignored, so the descriptive part of the line does not affect the result.
The table covers about 70 foods that turn up in real lunchboxes. It is deliberately narrow: a tracker that classifies everything is a tracker that classifies nothing useful.
FAQ
What counts as a different lunch in this tracker?
Why is my score low when every lunch looked different to me?
Should a repeated food count once or every time?
What if the tracker does not recognise a food I wrote?
How many different foods should a week of lunches have?
Limits of this tool
- Limits: the tracker reads words, not nutrition values. It recognises about 70 common lunch foods across five groups and cannot weigh portions or judge portion sizes.
- Not for: medical diets, allergy filtering or calorie counting. The score says nothing about whether a lunch is suitable for a child with a specific condition.
- When this stops: with more than about 14 days, or with lunches written as dish names instead of food names, the word table stops being able to describe the week.
- Scope: the score measures variety across the lines you typed. It does not know what came back uneaten, what the school canteen served, or what the child actually preferred.