- You do not need to track every product in the supermarket
- Start with your 20 most frequently purchased foods
- You buy them frequently
- They account for a meaningful part of your budget
- Their prices seem to change often
- You regularly compare brands or package sizes
- You sometimes buy them in bulk
- The basic grocery price book
- Why unit price belongs in every price book
- Calculate unit price
- Choose one comparison unit for each food
- Rice
- Pasta
- Meat
- Yogurt
- Milk
- Eggs
- Bread
- Canned foods
- NIST’s unit-price principle is useful here
- Always record package size
- Always record the date
- Track the store too
- Do not compare stores from memory
- Track the exact product when differences matter
- Brand can have its own column
- Keep categories broad enough to manage
- Add a “latest price” field
- Add a “normal price” only after you have enough observations
- You can use an average
- Median can be useful when one price is unusual
- Keep a “lowest observed price” column
- Add a “highest recent price” if it helps
- Use a rolling window
- Frequent products need shorter comparison windows
- Update prices when you actually encounter them
- Your receipt can do most of the work
- Photographing shelf labels can also help
- Use store unit prices when trustworthy, but know the calculation yourself
- Standardize measurement units before entering the data
- Count-based foods need a different unit
- Bread needs a deliberate comparison basis
- Canned foods may need drained-price tracking
- Meat may need an edible-cost field
- A useful price book can have two levels
- Level 1: Shelf price book
- Level 2: Household value book
- Do not overload the first version
- A good second version might look like this
- Why record whether a price was promotional?
- Separate temporary discounts from normal price
- Normal/latest price
- Lowest promotional price observed
- Do not use the advertised percentage off as your historical price
- Track loyalty prices separately when access matters
- Track store brands and national brands separately
- Add an “acceptable substitute” category
- Your price book should reflect your household, not a generic cheapest-food list
- Price book data can reveal where store switching matters
- Store A
- Store B
- Calculate the household impact of a price difference
- Add monthly usage only if it helps
- Build a “core basket”
- Do not confuse a personal basket with official inflation data
- Calculate your own basket change
- Do not let changing package sizes distort basket comparisons
- Keep package history when sizes change
- Do not overwrite old prices
- Price list versus price book
- Do not predict a “sale cycle” too early
- The next article should handle the sale decision
- Do not automatically buy whenever the price reaches a historical low
- Price history and inventory should work together
- Build the price book around repeat decisions
- A paper price book can work perfectly
- Rice
- A spreadsheet is better for larger price books
- Unit price formula for a spreadsheet
- Do not put grams and kilograms into the same quantity column without conversion
- A simple conversion table
- Grams to kilograms
- Kilograms to grams
- Milliliters to liters
- Liters to milliliters
- Add conditional alerts only after the data is useful
- Calculate difference from your recent normal price
- Calculate increase from a past price
- Avoid false precision
- Round consistently
- Track prices after coupons accurately
- A useful structure is “regular observed” and “paid”
- Membership stores require context too
- Make the price book personal to your stores
- Add location only when necessary
- Produce requires a lighter system
- Seasonal produce needs context
- Meat needs product-specific records
- Eggs need package size
- Coffee needs weight
- Oil needs volume
- Frozen foods need comparable package contents
- Use notes for product differences that matter
- A complete example price book
- Latest Store A regular price
- Recent promotional price
- Latest Store B price
- Lowest recorded unit price
- Create a product summary
- Do not delete detailed history after creating the summary
- A monthly update is enough for many products
- Try a four-week starter project
- Week 1
- Week 2
- Week 3
- Week 4
- Do not wait until you have months of data to use it
- Your price book becomes more valuable gradually
- One month
- Three months
- Six months
- One year
- A grocery price book is not a reason to postpone every purchase
- Use the book to improve planning, not create shopping anxiety
- Common mistakes
- Tracking package price without package size
- Ignoring unit price
- Forgetting the date
- Forgetting the store
- Overwriting previous prices
- Tracking every grocery product
- Using inconsistent units
- Mixing different products without context
- Treating one low price as the permanent normal price
- Treating one unusual high price as the new normal
- Assuming the biggest package is cheapest
- Assuming the lowest unit price means you should buy it
- Treating a promotional price as the ordinary price
- Ignoring package shrinkage
- Recording only prices and never reviewing them
- Making the spreadsheet so complicated that you stop updating it
- Frequently Asked Questions
- Build a price memory you do not have to keep in your head
How to Build a Grocery Price Book
A grocery price book is simply a record of what the foods you regularly buy actually cost.
For each item, I recommend recording at least:
Product
Store
Date
Package size
Package price
Unit price
That small amount of information can answer questions that are surprisingly difficult to answer from memory.
Is $5.49 a good price for the rice you normally buy?
Was the same yogurt cheaper at another store?
Did the cereal stay at the same package price while the box became smaller?
Is the large package genuinely cheaper per unit?
Has your normal chicken price changed during the last few months?
Without a record, you are often guessing.
With a price book, you can compare the current shelf price with your own purchasing history.
NIST defines unit pricing as expressing a product’s price per standard unit of measure, such as price per gram, liter, or ounce. NIST identifies unit pricing as a useful tool for comparing different products and package sizes on a consistent basis.
That is the foundation of a useful grocery price book.
You do not need to track every product in the supermarket
This is where many price book systems become unnecessarily complicated.
You do not need prices for:
4,000 grocery products
if your household regularly buys:
40 to 80 core items.
Start with foods that meaningfully affect your grocery budget or that you purchase repeatedly.
For example:
- Rice
- Pasta
- Oats
- Bread
- Eggs
- Milk
- Yogurt
- Chicken
- Ground meat
- Beans
- Lentils
- Frozen vegetables
- Common fresh produce
- Canned tomatoes
- Cooking oil
- Cheese
- Coffee
- Frequently purchased snacks
You can expand the list later.
A small price book that you actually update is more useful than a perfect spreadsheet you stop using after one shopping trip.
Start with your 20 most frequently purchased foods
If you are building a price book for the first time, I would begin with:
20 products
rather than your entire grocery history.
Choose foods that meet at least one of these conditions:
You buy them frequently
For example:
Milk every week.
They account for a meaningful part of your budget
For example:
Meat or coffee.
Their prices seem to change often
For example:
Produce or eggs.
You regularly compare brands or package sizes
For example:
Rice, cereal, pasta, yogurt, or canned foods.
You sometimes buy them in bulk
For example:
Oats, rice, meat, or frozen foods.
Once the system becomes useful, add more items gradually.
The basic grocery price book
A simple price book can look like this:
| Item | Store | Date | Package size | Package price | Unit price |
|---|---|---|---|---|---|
| Rice | Store A | Aug 10 | 2 kg | $7.00 | $3.50/kg |
| Oats | Store B | Aug 11 | 1 kg | $4.50 | $4.50/kg |
| Yogurt | Store A | Aug 10 | 750 g | $5.25 | $0.70/100 g |
| Chicken | Store C | Aug 12 | 1.5 kg | $10.50 | $7.00/kg |
This is enough to create a useful historical price record.
Why unit price belongs in every price book
Imagine you record only:
Rice = $6
Next month you see:
Rice = $5.50
It looks cheaper.
But what if:
Old package:
2 kg for $6
New package:
1.5 kg for $5.50
Old unit price:
Calculation Rule
New:
$5.50 ÷ 1.5 ≈ $3.67/kg
The package price decreased.
The rice became more expensive per kilogram.
A price book that records only package price would give you the wrong impression.
NIST emphasizes unit pricing because consistent price per unit information lets shoppers compare value independently of container size.
Calculate unit price
Use:
Calculation Rule
Example:
Rice:
2 kg
$7
Unit price:
Calculation Rule
Another package:
5 kg
$16
Unit price:
Calculation Rule
The larger package is:
$0.30 cheaper per kilogram
provided both products are suitable for your needs.
Choose one comparison unit for each food
Do not record rice as:
$/kg
one week and:
$/100 g
the next unless your system automatically converts them.
Choose one standard unit for each product category.
For example:
Rice
Price per kilogram
Pasta
Price per kilogram
Meat
Price per kilogram or pound
Yogurt
Price per 100 g
Milk
Price per liter or gallon
Eggs
Price per egg or dozen
Bread
Price per loaf, slice, or weight
Canned foods
Price per can or per usable weight, depending on your purpose
Consistency makes your historical records comparable.
NIST’s unit-price principle is useful here
NIST explains that unit-price labels commonly combine the product name, package size, total price, and price per standard unit. The purpose is to make quantity and price relationships easier to compare.
Your personal price book can use the same structure.
Instead of relying only on today’s shelf label, you preserve that information over time.
Always record package size
This deserves its own column.
Suppose your price book says:
Coffee, $9.99
Six months later:
Coffee, $9.99
You might conclude:
Price unchanged.
But perhaps:
Old package:
500 g
New package:
450 g
Old unit price:
$9.99 ÷ 500 × 100 ≈ $2.00 per 100 g
New:
$9.99 ÷ 450 × 100 ≈ $2.22 per 100 g
The price per package remained identical.
The price per food quantity increased by approximately:
11%
Package size protects your price book from this kind of hidden change.
Always record the date
A price without a date slowly becomes meaningless.
Suppose your sheet says:
Eggs = $4
Was that:
- Last week?
- Six months ago?
- Two years ago?
Food prices change over time, and individual categories can move differently.
For example, USDA’s July 2026 Food Price Outlook reports substantial variation in recent price changes among food-at-home categories rather than one uniform movement across all grocery foods.
BLS reported that U.S. food-at-home prices were 2.7% higher in June 2026 than in June 2025.
The purpose of recording a date is not to predict inflation.
It is simply to know whether the price you are comparing with is:
recent enough to still be useful.
Track the store too
The same product may have different prices at:
- Supermarkets
- Discount stores
- Warehouse clubs
- Local markets
- Online retailers
Record:
where you actually found the price
instead of mixing every price into one generic number.
For example:
| Item | Store | Unit price |
|---|---|---|
| Rice | Store A | $3.60/kg |
| Rice | Store B | $3.30/kg |
| Rice | Store C | $3.75/kg |
Now you know where rice has recently been cheapest among the stores you actually visit.
Do not compare stores from memory
Without a price book, shoppers often remember:
“Store B is cheaper.”
But perhaps Store B is cheaper for:
- Rice
- Oats
- Frozen vegetables
while Store A is cheaper for:
- Milk
- Yogurt
- Chicken
A price book replaces broad store assumptions with product-specific information.
Track the exact product when differences matter
Do not record:
Yogurt
if you regularly buy several different yogurts.
Instead record something identifiable such as:
Plain Greek yogurt, Brand A, 750 g
or:
Store-brand plain yogurt
The goal is not to create a product database.
It is simply to avoid comparing products that are too different to make the historical price useful.
Brand can have its own column
A useful structure is:
| Category | Brand/product | Store | Size | Price | Unit price | Date |
|---|---|---|---|---|---|---|
| Oats | Store brand | A | 1 kg | $4.00 | $4.00/kg | Aug 10 |
| Oats | Brand X | A | 1 kg | $5.50 | $5.50/kg | Aug 10 |
| Oats | Store brand | B | 1.5 kg | $5.40 | $3.60/kg | Aug 12 |
Now you can compare:
brand
store
and:
package size
without losing context.
Keep categories broad enough to manage
A category system might include:
- Meat and fish
- Dairy and eggs
- Grains
- Pantry
- Frozen
- Produce
- Canned foods
- Beverages
- Snacks
This can make a spreadsheet easier to filter.
But do not spend hours designing categories before you record a single price.
The price data matter more than the taxonomy.
Add a “latest price” field
Once you have several records for the same product, identify:
Latest price
Example:
Rice history:
May 3: $3.20/kg June 8: $3.40/kg July 10: $3.50/kg August 12: $3.45/kg
Latest:
$3.45/kg
That gives you the most recent comparison point.
Add a “normal price” only after you have enough observations
Do not see one package at:
$4
and declare:
normal price = $4
Collect several ordinary purchases first.
For example:
$4.20 $4.30 $4.15 $4.25 $4.20
Your normal recent price appears to be around:
$4.20 to $4.25
This is more useful than relying on one observation.
You can use an average
If prices are reasonably stable:
Calculation Rule
Example:
$4.20 $4.30 $4.15 $4.25
Average:
($4.20 + $4.30 + $4.15 + $4.25) ÷ 4
= $4.225
Approximately:
$4.23
You could record:
Calculation Rule
Median can be useful when one price is unusual
Suppose prices are:
$4.10 $4.20 $4.25 $4.30 $7.50
The average becomes:
$4.87
But most observations are close to:
$4.10 to $4.30
The unusual $7.50 observation pulls the average upward.
For a simple household price book, you could instead use the middle price:
$4.25
as a rough typical value.
You do not need advanced statistics.
The goal is to understand what you normally pay.
Keep a “lowest observed price” column
For frequently purchased foods, record:
Lowest recent unit price
Example:
Normal rice:
$3.50/kg
Lowest recorded:
$2.90/kg
Latest:
$3.60/kg
That information can be useful later when evaluating promotions.
But do not automatically conclude that every price near:
$2.90
requires stocking up.
The next article in this series, How to Know Whether a Grocery Sale Is Actually a Good Deal, will cover that decision separately.
A price book tells you:
what prices you have observed.
It does not automatically tell you:
how much you should buy.
Add a “highest recent price” if it helps
For some volatile foods, tracking the range can be useful.
Example:
Chicken:
Low:
$6.20/kg
High:
$8.50/kg
Latest:
$7.10/kg
This shows that today’s $7.10 price sits inside your recent range.
Again, the price book is descriptive.
It records your purchasing environment.
Use a rolling window
A price from five years ago may be interesting but not very useful for deciding whether today’s price is normal.
Consider keeping:
recent 3 months
recent 6 months
or:
recent 12 months
as your active comparison period.
You can keep older records in an archive.
The right window depends on how frequently you buy the product.
Frequent products need shorter comparison windows
Milk bought weekly might have:
10 recent observations
within a few months.
A specialty ingredient bought twice per year may need:
several years
of history before you have many observations.
Do not force every product into the same tracking schedule.
Update prices when you actually encounter them
You do not need to perform a full supermarket price survey every week.
Update the book when:
- You purchase the product
- You seriously consider purchasing it
- You notice a meaningful price change
- A package size changes
- You switch stores or brands
This makes maintenance much easier.
Your receipt can do most of the work
After shopping, use the receipt to record:
- Product
- Total price
- Store
- Date
Then check the package or receipt details for:
- Quantity
- Weight
- Volume
- Count
Calculate the unit price.
This turns your ordinary shopping history into a price database.
Photographing shelf labels can also help
If you are comparing several stores, you can temporarily capture:
- Product
- Package size
- Total price
- Unit price shown by the retailer
Then add only the useful prices to your book later.
Do not fill your phone with hundreds of shelf-label photos that never become usable data.
The goal is a decision system, not documentation for its own sake.
Use store unit prices when trustworthy, but know the calculation yourself
If a shelf clearly shows:
$0.40 per 100 g
you can record it.
But learning the formula lets you verify confusing labels.
Use:
Calculation Rule
NIST’s current guidance emphasizes that clear and consistent unit pricing improves consumers’ ability to compare quantity and price relationships.
Standardize measurement units before entering the data
Suppose Product A is:
$0.30 per 100 g
Product B:
$3.20/kg
Convert A:
$0.30 × 10:
$3/kg
Now compare:
A:
$3/kg
B:
$3.20/kg
A is cheaper.
If your price book uses:
$/kg
for rice, enter:
$3/kg
not:
$0.30/100 g
This keeps sorting and comparison easy.
Count-based foods need a different unit
For eggs:
Price per egg can be useful.
Example:
12 eggs:
$4.20
Cost per egg:
Calculation Rule
18 eggs:
$5.76
Cost:
Calculation Rule
The 18-pack costs more but is cheaper per egg.
You might record both:
package price
and:
price per egg
Bread needs a deliberate comparison basis
You might track:
price per loaf
if you always buy roughly the same loaf.
But if loaf sizes change substantially, price by weight can be more reliable.
For example:
Loaf A:
700 g for $3.50
$5/kg
Loaf B:
500 g for $3
$6/kg
The $3 loaf looks cheaper until weight is considered.
Canned foods may need drained-price tracking
If you regularly drain a canned food, total package weight can overstate how much food you actually use.
You could record:
price per drained 100 g
for products where this meaningfully affects the comparison.
This is especially useful when comparing different can sizes or packing-liquid ratios.
Do not add this complexity to every canned product unless it helps your decisions.
Meat may need an edible-cost field
If you frequently compare bone-in and boneless cuts, a normal unit-price column may not be enough.
You could add:
estimated edible cost/kg
Example:
Bone-in shelf price:
$5/kg
Working edible yield:
60%
Edible cost:
Calculation Rule
The previous articles in this series explain edible yield and bone-in comparisons in detail.
Your price book can store the final usable figure if you frequently make that comparison.
A useful price book can have two levels
Level 1: Shelf price book
Track:
- Product
- Store
- Size
- Price
- Unit price
- Date
Level 2: Household value book
Optionally add:
- Edible yield
- Cost per edible unit
- Cost per household serving
- Cost per gram of protein
- Actual-use notes
Most households can begin with Level 1.
Add Level 2 only for products where it changes purchasing decisions.
Do not overload the first version
I would not start with:
20 columns.
Start with six:
Item
Store
Date
Package size
Price
Unit price
Then use the price book for several weeks.
Add columns only when you discover a real question you cannot answer.
A good second version might look like this
| Item | Brand | Store | Date | Size | Price | Unit price | Sale? | Notes |
|---|---|---|---|---|---|---|---|---|
| Rice | Store brand | A | Aug 10 | 2 kg | $7.00 | $3.50/kg | No | Regular |
| Rice | Store brand | B | Aug 13 | 5 kg | $16.00 | $3.20/kg | No | Large bag |
| Rice | Brand X | A | Aug 14 | 2 kg | $6.00 | $3.00/kg | Yes | Promotion |
That is already enough for strong comparisons.
Why record whether a price was promotional?
Suppose your lowest recorded price is:
$2.50/kg
but it happened once during a major promotion.
Your ordinary price is:
$3.50/kg
If you record only:
lowest = $2.50
you may spend months refusing to buy because every normal price looks expensive.
Marking:
regular
or:
promotion
provides useful context.
The goal is not yet to judge whether the promotion was truly good.
It is to remember what kind of price you observed.
Separate temporary discounts from normal price
Your price book might show:
Normal/latest price
$4.00
Lowest promotional price observed
$3.20
This is more useful than replacing the normal price with:
$3.20
after one sale.
Do not use the advertised percentage off as your historical price
Suppose a sign says:
25% off
but you do not know:
- Original package size
- Actual previous price
- Unit price
Record:
the actual current selling price
and calculate:
the actual unit price
The percentage claim is secondary.
The next article will cover sale evaluation in more detail.
Track loyalty prices separately when access matters
Suppose:
Regular price:
$5
Loyalty-member price:
$4
If you have access to the loyalty price, recording:
$4
as your paid price is reasonable.
But note:
loyalty
so you remember that the price may not apply universally.
Similarly, separate:
- Coupon price
- Membership price
- Regular shelf price
when the distinction affects future purchases.
Track store brands and national brands separately
Suppose:
Store-brand oats:
$3.50/kg
Brand A:
$5/kg
If you are happy buying either product, both belong in the same broader oats category.
But keep the product identity so you know what generated each price.
Your cheapest acceptable product may be more relevant than the cheapest price for one exact brand.
Add an “acceptable substitute” category
For some foods, you may care about:
any plain canned tomatoes
rather than one exact brand.
You could create:
Category:
Canned tomatoes
and record multiple acceptable products.
Then your grocery decision becomes:
Which acceptable option has the best unit price today?
For foods where brand matters strongly, keep them separate.
Your price book should reflect your household, not a generic cheapest-food list
If your household never buys:
Product X
its low price is irrelevant.
Track:
- Foods you actually eat
- Brands you would actually buy
- Stores you realistically visit
- Package sizes you can realistically use
A theoretically cheaper option is not useful if it does not fit your household.
Price book data can reveal where store switching matters
Suppose:
Store A
Rice: cheaper by $0.20 Chicken: cheaper by $0.30 Milk: same
Store B
Yogurt: cheaper by $0.50 Coffee: cheaper by $3.00
You may discover that:
coffee
is the only difference large enough to influence which store you choose.
This is more useful than chasing pennies across town.
Calculate the household impact of a price difference
Suppose rice differs by:
$0.20/kg
Your household uses:
2 kg per month.
Monthly difference:
$0.40
Annualized:
$4.80
Now suppose coffee differs by:
$3 per package
and you buy one package monthly.
Annual difference:
$36
Your price book can help you prioritize meaningful differences.
Add monthly usage only if it helps
An optional column:
Average monthly use
allows:
Calculation Rule
This can distinguish:
cheap product
from:
important budget product.
A small price difference on something you buy constantly may matter more than a large difference on something you buy once per year.
Build a “core basket”
Once you have enough data, choose perhaps:
10 to 20 important recurring products
and call them your:
core grocery basket
For example:
Rice Oats Milk Eggs Chicken Yogurt Bread Oil Frozen vegetables Beans
Track their current unit prices.
This gives you a quick picture of how your own grocery environment is changing.
Do not confuse a personal basket with official inflation data
Your price book measures:
the specific products your household buys
Official price indexes measure much broader baskets.
For example, BLS reported a 2.7% year-over-year rise in U.S. food-at-home prices through June 2026, while USDA’s current data show that individual grocery categories experienced very different changes.
Your personal basket could therefore rise:
more
or:
less
than an overall food index.
That does not mean either calculation is wrong.
They measure different baskets.
Calculate your own basket change
Suppose last quarter your usual basket cost:
Rice: $7 Oats: $5 Eggs: $4 Chicken: $12 Milk: $5
Total:
$33
Current equivalent basket:
Rice: $7.50 Oats: $5.25 Eggs: $3.50 Chicken: $13 Milk: $5.25
Total:
$34.50
Change:
Calculation Rule
Percentage:
$1.50 ÷ $33 × 100 ≈ 4.5%
Your personal basket increased approximately:
4.5%
over that comparison period.
Use identical quantities for a meaningful comparison.
Do not let changing package sizes distort basket comparisons
If your old cereal box was:
500 g
and the new one is:
400 g
do not compare:
one box versus one box
unless you intentionally want to measure package cash cost.
For food-price comparisons, standardize the quantity.
Example:
Old:
$4 for 500 g
New:
$4 for 400 g
Old unit price:
$0.80 per 100 g
New:
$1.00 per 100 g
Increase:
Calculation Rule
The package price did not change.
The food price per equal quantity increased:
25%
Keep package history when sizes change
Instead of overwriting:
500 g
with:
400 g
keep both records.
That history is valuable.
Example:
| Date | Package size | Price | Unit price |
|---|---|---|---|
| Jan | 500 g | $4.00 | $0.80/100 g |
| Apr | 450 g | $4.00 | $0.89/100 g |
| Aug | 400 g | $4.00 | $1.00/100 g |
Now the change is obvious.
Do not overwrite old prices
A grocery price book becomes useful because it has history.
Instead of changing:
Rice price = $4
to:
Rice price = $4.50
add:
a new dated record
Your history could look like:
Jan 12: $4 Mar 9: $4.10 May 15: $4.30 Aug 12: $4.50
If you overwrite old records, you no longer have a price book.
You have only today’s price list.
Price list versus price book
A:
price list
shows current prices.
A:
price book
shows prices over time.
That history lets you understand:
- Normal range
- Recent direction
- Package changes
- Store differences
- Unusually high or low observations
The history is the valuable part.
Do not predict a “sale cycle” too early
After seeing:
January: sale March: sale
you might conclude:
This product goes on sale every two months.
That may be coincidence.
Build a longer record before using your price book to infer recurring patterns.
And even if you observe a pattern, retailers can change promotions.
Use historical behavior as context, not a guarantee.
The next article should handle the sale decision
Your price book’s job is:
recording evidence.
The next topic, How to Know Whether a Grocery Sale Is Actually a Good Deal, will use that evidence to evaluate:
- Sale price versus normal unit price
- Package size
- Required quantity
- Stock already at home
- Expected use
- Discounts that encourage unnecessary purchases
Keeping these topics separate makes both articles stronger.
Do not automatically buy whenever the price reaches a historical low
Suppose olive oil reaches your lowest recorded unit price.
But you already have:
two bottles
at home.
The price book tells you:
this price is unusually low.
It does not tell you:
buy another bottle.
Inventory, storage, cash flow, and future use still matter.
Price history and inventory should work together
A good grocery decision uses:
Price book: Is the price attractive?
plus:
Inventory: Do I need the food?
plus:
Meal plan: Will I use it?
plus:
Budget: Can I comfortably buy it now?
This prevents price tracking from turning into unnecessary stockpiling.
Build the price book around repeat decisions
A price book is most valuable when it helps you answer repeated questions.
For example:
Should I buy the 1 kg or 2 kg rice bag?
Which store usually has my yogurt at a lower unit price?
Is this coffee price actually lower than what I normally pay?
Has this package become smaller?
Is the store brand consistently cheaper?
If a column does not help answer a real question, you probably do not need it.
A paper price book can work perfectly
You do not need software.
A notebook can use one page per category.
Example:
Rice
| Date | Store | Size | Price | Unit price |
|---|---|---|---|---|
| Aug 2 | A | 2 kg | $7 | $3.50/kg |
| Aug 9 | B | 5 kg | $16 | $3.20/kg |
| Aug 15 | A | 2 kg | $6 | $3.00/kg |
This may be enough if you shop at only one or two stores.
A spreadsheet is better for larger price books
A spreadsheet allows you to:
- Sort by item
- Sort by store
- Filter by date
- Calculate unit prices automatically
- Find minimum prices
- Calculate averages
- Track package-size changes
- Compare periods
A simple structure might use:
Column A: Category B: Product C: Brand D: Store E: Date F: Package quantity G: Unit H: Package price I: Unit price J: Promotion type K: Notes
That is enough for a fairly powerful system.
Unit price formula for a spreadsheet
If:
Package price is in H2
Package quantity is in F2
then conceptually:
Calculation Rule
For example:
Price:
$6
Quantity:
1.5 kg
Unit price:
Calculation Rule
Make sure all quantities in the comparison use compatible units.
Do not put grams and kilograms into the same quantity column without conversion
Suppose:
Row 1:
500 g
Row 2:
2 kg
If your spreadsheet divides price by:
500
and:
2
without understanding the units, the results cannot be compared.
Choose one base unit.
For example:
Convert everything in the rice category to:
kilograms
500 g:
0.5 kg
Then calculate.
A simple conversion table
Grams to kilograms
grams ÷ 1,000
Kilograms to grams
kilograms × 1,000
Milliliters to liters
mL ÷ 1,000
Liters to milliliters
liters × 1,000
For count-based products, use:
number of items
as the base.
Add conditional alerts only after the data is useful
If you use a spreadsheet, you could eventually create:
Latest unit price
Recent average
Lowest recent price
and:
Percentage above/below normal
But do not start there.
First collect clean data.
A fancy dashboard built on inconsistent package quantities is worse than a simple notebook with accurate unit prices.
Calculate difference from your recent normal price
Suppose recent normal:
$5/kg
Current:
$4/kg
Difference:
Calculation Rule
Percentage:
Calculation Rule
Current price is:
20% below
your recent reference price.
This information can support a later buying decision.
Calculate increase from a past price
Old:
$4/kg
Current:
$5/kg
Increase:
$1/kg
Percentage increase:
Calculation Rule
This makes package-price changes much easier to understand.
Avoid false precision
Your price book does not need:
$0.0038472 per gram
Convert it into something readable.
Instead of:
$0.00385/g
use:
$0.385 per 100 g
or:
$3.85/kg
depending on the product.
Readable numbers make real shopping decisions easier.
Round consistently
For example:
Price per kilogram:
$4.376
Record:
$4.38/kg
Price per egg:
$0.3167
Record:
$0.32 each
Keep enough precision to compare products without filling the sheet with unnecessary decimals.
Track prices after coupons accurately
Suppose:
Shelf price:
$5
Coupon:
$1
You pay:
$4
For your personal purchase history, you can record:
Paid price = $4
But add:
Coupon
in the notes or promotion column.
Otherwise you may later wonder why the product appears unusually cheap.
A useful structure is “regular observed” and “paid”
For example:
| Product | Regular observed | Paid price | Reason |
|---|---|---|---|
| Yogurt | $5.00 | $4.00 | Coupon |
| Rice | $8.00 | $6.50 | Store promotion |
| Oats | $4.50 | $4.50 | Regular |
This is optional but useful for frequent promotion users.
Membership stores require context too
Suppose a warehouse package has:
the lowest unit price
but requires:
- Membership
- Large package purchase
- More storage
Your price book can record its unit price.
Do not make the price book itself decide whether the membership or package is worth it.
Those are separate household economics questions.
Make the price book personal to your stores
You do not need prices from:
20 supermarkets
if you realistically shop at:
three.
Track stores you might actually use.
A 10% cheaper product at a store two hours away may have no practical relevance to your grocery routine.
Add location only when necessary
If the same chain has different prices at different branches or cities, identify:
Store A, Downtown
rather than just:
Store A
Otherwise, simple store names are enough.
Produce requires a lighter system
Fresh produce prices can change frequently.
Tracking every individual fruit and vegetable forever can become exhausting.
Focus on produce you buy regularly.
For example:
- Bananas
- Potatoes
- Onions
- Tomatoes
- Carrots
- Apples
- Cabbage
Record:
price per kilogram or pound
when possible.
USDA’s current Food Price Outlook demonstrates that fresh-food categories can experience meaningful price movements over time, reinforcing why dated observations are more useful than permanently memorized prices.
Seasonal produce needs context
Suppose strawberries cost:
$3/kg during one period
and:
$8/kg during another.
Your price book may reveal a recurring historical pattern.
But do not assume future prices will repeat exactly.
Record:
date
and possibly:
season/month
rather than declaring one number the permanent “normal strawberry price.”
Meat needs product-specific records
Do not record:
Calculation Rule
if you buy:
- Whole chicken
- Boneless breast
- Bone-in thighs
- Boneless thighs
These are not equivalent products.
Use separate rows.
If edible yield matters to your decisions, add:
cost per edible kilogram
as an optional advanced field.
Eggs need package size
Record:
12 eggs for $X
or:
18 eggs for $Y
then calculate:
price per egg
or:
price per dozen equivalent.
This protects you from comparing cartons of different counts by package price alone.
Coffee needs weight
Coffee is another product where packages can quietly vary.
Always record:
package weight
alongside:
price
then compare:
price per 100 g
or:
price per kilogram.
Oil needs volume
For cooking oil:
Bottle A:
750 mL
Bottle B:
1 liter
Bottle C:
2 liters
Convert all to:
price per liter
That makes your price history meaningful.
Frozen foods need comparable package contents
Suppose one frozen vegetable package contains:
plain vegetables
while another contains:
vegetables plus sauce
They may not be direct substitutes.
Your price book can still track both, but avoid treating every product in the same broad category as equivalent simply because the unit price can be calculated.
Use notes for product differences that matter
A short notes field can capture:
- Organic
- Boneless
- Unsweetened
- Plain
- Family size
- Drained weight
- Frozen
- Fresh
- Store brand
Do not put every label detail into a database.
Record only what changes the comparison.
A complete example price book
| Product | Store | Date | Package | Price | Unit price | Type |
|---|---|---|---|---|---|---|
| Rice | A | Jul 3 | 2 kg | $7.00 | $3.50/kg | Regular |
| Rice | B | Jul 7 | 5 kg | $16.00 | $3.20/kg | Regular |
| Rice | A | Aug 2 | 2 kg | $6.20 | $3.10/kg | Promotion |
| Rice | B | Aug 12 | 5 kg | $17.00 | $3.40/kg | Regular |
| Rice | A | Aug 15 | 2 kg | $7.20 | $3.60/kg | Regular |
From this small history you can already see:
Latest Store A regular price
$3.60/kg
Recent promotional price
$3.10/kg
Latest Store B price
$3.40/kg
Lowest recorded unit price
$3.10/kg
You now have evidence instead of a vague memory that rice “used to be cheaper.”
Create a product summary
For products with enough history:
Product: Rice
Preferred unit: $/kg
Latest price: $3.60/kg
Recent average:
Lowest recent price: $3.10/kg
Preferred store:
Usual package: 2 kg
Last updated: August 15
This summary can sit above your detailed transaction history.
Do not delete detailed history after creating the summary
The summary changes.
The history explains why.
Keep the historical rows and let the summary pull information from them.
That way you can update:
latest
average
and:
low
without losing evidence.
A monthly update is enough for many products
You do not need to enter a new price every day.
For stable pantry staples, update when:
- You purchase them
- The price visibly changes
- Package size changes
For frequently changing products, update more often if it helps.
The maintenance schedule should fit your shopping behavior.
Try a four-week starter project
Week 1
Track your ten most expensive recurring products.
Week 2
Add ten staple foods.
Week 3
Add products you frequently compare across stores.
Week 4
Review the data.
Ask:
- Which items vary most?
- Which store differences are meaningful?
- Which package sizes have changed?
- Which products deserve continued tracking?
- Which products do not?
After four weeks, remove unnecessary complexity.
Do not wait until you have months of data to use it
Even two observations can help.
Example:
Last purchase:
$4/kg
Today:
$5/kg
You already know today’s price is:
25% higher than your previous purchase.
You do not yet know whether:
$5
is unusually high historically.
That knowledge develops over time.
Your price book becomes more valuable gradually
After:
One month
You can compare recent purchases.
Three months
You can begin seeing ranges.
Six months
You may notice package changes or recurring lower prices.
One year
You have seasonal and long-term context for frequently purchased products.
There is no need to wait for a full year before using the data.
A grocery price book is not a reason to postpone every purchase
If you need milk today, you probably need to buy milk.
Even if the price is above your recent average.
The price book provides context.
It does not override:
actual household needs.
This distinction becomes especially important with foods that cannot easily be stockpiled.
Use the book to improve planning, not create shopping anxiety
The goal is not:
I must always pay the absolute lowest historical price.
That is unrealistic.
A better goal is:
I know roughly what this product normally costs, and I can recognize unusually good or unusually expensive prices.
That supports calmer, more informed shopping.
Common mistakes
Tracking package price without package size
A smaller package can make an unchanged sticker price misleading.
Ignoring unit price
NIST identifies unit pricing as an important tool for comparing products with different package quantities.
Forgetting the date
Old prices become less useful without knowing when they were observed.
Forgetting the store
Prices can differ between retailers.
Overwriting previous prices
A price book needs history.
Tracking every grocery product
Start with frequently purchased and financially meaningful foods.
Using inconsistent units
Do not compare kilograms with ounces or liters with milliliters without conversion.
Mixing different products without context
Bone-in chicken and boneless breast are not identical products.
Treating one low price as the permanent normal price
Build several observations first.
Treating one unusual high price as the new normal
Keep the historical range.
Assuming the biggest package is cheapest
Compare unit prices.
Assuming the lowest unit price means you should buy it
Inventory, use, storage, and budget still matter.
Treating a promotional price as the ordinary price
Label promotions separately.
Ignoring package shrinkage
Keep package-size history.
Recording only prices and never reviewing them
Your price book should answer real grocery questions.
Making the spreadsheet so complicated that you stop updating it
Start with six core fields and expand only when needed.
Frequently Asked Questions
What is a grocery price book?
A grocery price book is a personal record of the prices you observe or pay for foods you regularly buy. At minimum, record: product, store, date, package size, package price, and unit price.
What should I put in a grocery price book?
Start with: Item Brand or product description Store Date Package size Package price Unit price Optional fields include: Promotion Lowest recent price Recent average Notes Edible cost
Why should I track unit price instead of package price?
Packages can differ in size. NIST explains that unit pricing allows shoppers to compare price and quantity using a consistent measurement such as price per gram, liter, or ounce.
What is the formula for grocery unit price?
Use: Unit price = package price ÷ package quantity For example: $6 for 2 kg: $6 ÷ 2 = $3/kg
How many foods should I track?
There is no required number. Starting with approximately 20 foods you purchase frequently or that materially affect your grocery budget is usually more manageable than attempting to record your entire supermarket.
Should I track every shopping trip?
Not necessarily. Record prices when you purchase an important item or encounter information that improves your price history.
How often should I update my grocery price book?
Update frequently purchased foods when you buy them. Less frequently purchased foods can be updated when they are next needed.
Should I record sale prices?
Yes, but identify them as promotional or discounted so you do not later mistake an unusual price for the ordinary price.
Should I track the lowest price?
It can be useful once you have enough history. Keep the lowest recent price separate from your latest or normal price.
What is a normal grocery price?
There is no universal personal “normal price.” Build your own reference from several recent observations for the same or comparable product.
Should I use an average?
You can. A recent average can provide a useful reference when your observations are reasonably consistent.
Should I track prices by store?
Yes if you shop at multiple stores. It lets you discover which products are genuinely cheaper at each retailer rather than assuming one store is cheapest for everything.
Why is the date so important?
Food prices change over time. Current USDA data show that price movements can vary substantially among grocery categories, so dated observations provide more useful historical context than a permanent memorized price.
Have grocery prices continued changing recently?
Yes. For U.S. context, BLS reported food-at-home prices were 2.7% higher in June 2026 than in June 2025, while USDA data show much larger and smaller changes for specific food categories. Your own store and product prices may behave differently, which is why a personal price book can be useful.
Can I use a notebook instead of a spreadsheet?
Yes. A notebook works well for a small number of products. A spreadsheet becomes useful when you want automatic calculations, sorting, averages, or filtering.
Should I track price per serving?
You can for foods where household serving cost matters. However, start with standard unit price because it is easier to compare consistently across package sizes.
Should I track edible price?
For products with substantial bones, trimming, or drained liquid, cost per edible amount can be useful. You do not need it for every product.
How does a price book help with sales?
It gives you a historical reference against which you can compare the current unit price. A sale label alone does not tell you whether the current price is unusually good. The next article in this series covers sale evaluation directly.
How does a price book help with bulk buying?
It tells you the ordinary unit price of smaller and larger packages. That information can support a bulk-purchase calculation, although usage, storage, and waste still need to be considered separately.
Should I track prices forever?
Keep the history if it remains useful, but use recent observations for most everyday purchase decisions. Very old prices can be archived rather than treated as the current reference.
Build a price memory you do not have to keep in your head
A useful grocery price book does not need to be complicated.
Start with six fields:
Product
Store
Date
Package size
Package price
Unit price
The most important calculation is:
Calculation Rule
NIST identifies unit pricing as a way to compare products and package sizes on a consistent price basis rather than relying on container price alone.
Then keep the old records.
Do not overwrite:
$3.20/kg
with:
$3.60/kg
when the price changes.
Add another dated row.
Over time, those rows tell you:
what you normally pay
which stores are actually cheaper for specific foods
whether a package became smaller
whether today’s price is unusual
and:
how your own grocery basket is changing
Dates matter because food prices do not move uniformly. USDA’s current Food Price Outlook shows different recent changes across grocery categories, while BLS reported that overall U.S. food-at-home prices were 2.7% higher in June 2026 than a year earlier.
But you do not need national statistics to tell you what your rice, chicken, yogurt, or coffee costs.
Your price book does that.
Begin with the foods you buy most often.
Record their real package sizes.
Standardize the unit price.
Add a new dated entry whenever you purchase them.
Within a few shopping trips, you will have something far more useful than a vague memory that a product “used to be cheaper.”
You will have your own evidence.