Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e662ff5fab | |||
| 853d722044 |
@@ -70,6 +70,12 @@ jobs:
|
||||
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
|
||||
echo "CalVer tag: $VERSION"
|
||||
|
||||
- name: Log in to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Log in to GHCR
|
||||
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||
uses: docker/login-action@v3
|
||||
@@ -96,8 +102,6 @@ jobs:
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
target: prod
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
|
||||
- name: Create git tag
|
||||
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||
|
||||
@@ -15,7 +15,6 @@ FROM nginxinc/nginx-unprivileged:stable-alpine AS prod
|
||||
COPY --from=build /app/dist /usr/share/nginx/html
|
||||
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||
|
||||
USER 101
|
||||
EXPOSE 8080
|
||||
|
||||
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
|
||||
|
||||
@@ -1,131 +0,0 @@
|
||||
---
|
||||
title: "The 10 Grocery Items That Shrank the Most (2021–2025)"
|
||||
slug: grocery-shrinkflation-top-10-2025
|
||||
status: draft
|
||||
version: 1.1
|
||||
last_updated: 2026-03-21
|
||||
description: "We ranked the grocery products with the highest effective price increases from shrinkflation — same package, less product, same or higher price. Here are the worst offenders."
|
||||
tags: ["shrinkflation", "data", "grocery-prices", "top-10"]
|
||||
---
|
||||
|
||||
# The 10 Grocery Items That Shrank the Most (2021–2025)
|
||||
|
||||
Shrinkflation ranks are unusual. The worst offenders are not necessarily the products with the highest sticker price increases — they are the ones where the per-unit cost went up the most while the sticker price barely moved.
|
||||
|
||||
We ranked products by **effective unit price increase** — the percentage by which the price per ounce (or per count) rose between 2021 and 2025, accounting for both size reductions and sticker price changes.
|
||||
|
||||
*Sources: USDA FoodData Central, manufacturer product pages, retailer price data, consumer reports.*
|
||||
|
||||
---
|
||||
|
||||
## The Rankings
|
||||
|
||||
### #1 — Lay's Classic (party size)
|
||||
**From 15.25 oz at $5.49 → 13 oz at $5.99**
|
||||
**Unit price increase: +28.0%**
|
||||
|
||||
The most recognizable chip brand in America is also one of the most aggressive shrinkflation examples. Lay's cut 2.25 oz from the party-size bag while adding $0.50 to the sticker price. At 28.0% more per ounce, this is one of the worst double-hit examples in the dataset — and a brand so ubiquitous that most shoppers never think to check the weight.
|
||||
|
||||
---
|
||||
|
||||
### #2 — Yoplait Original (single-serve)
|
||||
**From 6 oz at $0.79 → 5.3 oz at $0.89**
|
||||
**Unit price increase: +27.5%**
|
||||
|
||||
Yogurt has been one of the most systematically shrunk categories in the store. Yoplait pulled the double move: shrink AND raise the sticker price. A 0.7 oz size reduction plus a $0.10 price increase works out to $0.036/oz more — a 27.5% effective increase on a product most consumers buy without checking the weight.
|
||||
|
||||
---
|
||||
|
||||
### #3 — Cocoa Puffs
|
||||
**From 18.1 oz at $4.52 → 15.2 oz at $4.82**
|
||||
**Unit price increase: +27.0%**
|
||||
|
||||
General Mills combined a 2.9 oz weight cut with a $0.30 sticker price increase. On a breakfast cereal that families buy in quantity, the effective per-ounce increase is more than a quarter higher than it was four years ago.
|
||||
|
||||
---
|
||||
|
||||
### #4 — Ruffles Original (party size)
|
||||
**From 15.25 oz at $5.59 → 13 oz at $5.89**
|
||||
**Unit price increase: +23.6%**
|
||||
|
||||
Party-size chip bags have been systematically reduced without reducing the bag dimensions. Ruffles cut 2.25 oz while raising the sticker price $0.30. The result is a bag that looks identical on the shelf but delivers significantly less product per dollar.
|
||||
|
||||
---
|
||||
|
||||
### #5 — Cheerios (standard box)
|
||||
**From 18 oz at $5.04 → 15.4 oz at $5.24**
|
||||
**Unit price increase: +21.5%**
|
||||
|
||||
Cheerios is the most bought cereal in America. The 2.6 oz reduction across hundreds of millions of boxes adds up. At a 21.5% per-ounce increase, the brand maintained its price perception while meaningfully reducing what consumers get.
|
||||
|
||||
---
|
||||
|
||||
### #6 — Lucky Charms
|
||||
**From 19.3 oz at $5.01 → 16 oz at $4.96**
|
||||
**Unit price increase: +19.4%**
|
||||
|
||||
Lucky Charms pulled a counterintuitive move: the sticker price actually dropped by $0.05 while the box lost 3.3 oz — the largest absolute weight reduction in this ranking. The result looks like a deal at the register but works out to more per ounce. General Mills gets full marks for execution on this one.
|
||||
|
||||
---
|
||||
|
||||
### #7 — Kettle Brand Sea Salt
|
||||
**From 13 oz at $4.99 → 12 oz at $5.49**
|
||||
**Unit price increase: +19.2%**
|
||||
|
||||
Kettle Brand positions itself as a premium product. It has been pricing like one too — combining a 1 oz size reduction with a $0.50 price increase. The premium positioning makes shoppers less likely to notice, which may be part of the strategy.
|
||||
|
||||
---
|
||||
|
||||
### #8 — SunChips Original
|
||||
**From 13 oz at $4.49 → 11 oz at $4.49**
|
||||
**Unit price increase: +18.2%**
|
||||
|
||||
A clean shrinkflation play: sticker price unchanged, 2 oz gone. SunChips held the price flat, removed 15.4% of the product, and kept the bag size nearly identical. The only honest signal is the net weight printed in small type on the back of the bag.
|
||||
|
||||
---
|
||||
|
||||
### #9 — Cinnamon Toast Crunch
|
||||
**From 19.3 oz at $5.21 → 17 oz at $5.21**
|
||||
**Unit price increase: +13.5%**
|
||||
|
||||
General Mills kept the sticker price identical while trimming 2.3 oz. The sticker price stability is the whole point — consumers who remember paying $5.21 see $5.21 and conclude nothing changed. The per-ounce math says otherwise.
|
||||
|
||||
---
|
||||
|
||||
### #10 — Oikos Triple Zero
|
||||
**From 5.3 oz at $1.59 → 5.0 oz at $1.69**
|
||||
**Unit price increase: +12.7%**
|
||||
|
||||
Greek yogurt in general has seen consistent shrinkage. Oikos Triple Zero combined a 0.3 oz weight cut with a $0.10 price increase — modest individually, but on a product that loyal buyers purchase 4-8 times per month, the compounding effect on a household's annual yogurt spend is meaningful.
|
||||
|
||||
---
|
||||
|
||||
## The Common Thread
|
||||
|
||||
Every product on this list shares the same playbook:
|
||||
1. Reduce the product weight or count
|
||||
2. Keep the packaging size the same or nearly the same
|
||||
3. Hold the sticker price flat, or raise it modestly
|
||||
4. Let consumers assume nothing changed
|
||||
|
||||
None of this is illegal. All of it is disclosed — the net weight is printed on the package. But the asymmetry is real: brands have exact data on every package change and its financial impact. Until now, consumers had none.
|
||||
|
||||
---
|
||||
|
||||
## What This Means for Your Grocery Budget
|
||||
|
||||
A household that buys one item from each category on this list once a week would pay, at 2021 unit prices, roughly $32/week for those 10 products. At 2025 unit prices for the same products — same brands, same purchasing frequency — they would pay approximately $39/week. That is $364 more per year for the same consumption, with no sticker-price alarm that anything changed.
|
||||
|
||||
---
|
||||
|
||||
## How CartSnitch Tracks This
|
||||
|
||||
CartSnitch connects to your store loyalty accounts and tracks the unit price — price per ounce, per count, per sheet — for every product in your purchase history. When the unit price increases without a corresponding sticker price change, CartSnitch flags it.
|
||||
|
||||
You do not need to remember what you paid 18 months ago. CartSnitch remembers for you.
|
||||
|
||||
[Beta launching April 24. Free. No subscription required.]
|
||||
|
||||
---
|
||||
|
||||
*Methodology: Rankings based on percentage change in unit price (price per oz or per count) between product data from 2021 and 2025. Sources include USDA FoodData Central, manufacturer product pages, and retailer price data. Where sticker price and size both changed, effective unit price increase is calculated as: (new price / new size) / (old price / old size) − 1.*
|
||||
@@ -0,0 +1,70 @@
|
||||
---
|
||||
title: "What Is Unit Price and How Do You Calculate It?"
|
||||
slug: what-is-unit-price
|
||||
status: draft
|
||||
version: 1.0
|
||||
last_updated: 2026-03-22
|
||||
description: "Unit price is the cost per ounce, gram, or sheet — the number that reveals which product is actually the better deal, and exposes shrinkflation before you realize you're paying more."
|
||||
tags: ["unit-price", "shrinkflation", "grocery-prices", "smart-shopping", "explainer"]
|
||||
---
|
||||
|
||||
# What Is Unit Price and How Do You Calculate It?
|
||||
|
||||
When you see two products on a shelf at different prices, the obvious move is to pick the cheaper one. But what if the cheaper item is actually a worse deal? Unit price is the metric that tells you the truth.
|
||||
|
||||
## What Is Unit Price?
|
||||
|
||||
Unit price is the cost of an item per standard unit of measurement — price per ounce, price per gram, price per sheet, price per load. It lets you compare products of different sizes against each other fairly.
|
||||
|
||||
Grocery stores and retailers often display unit prices on shelf tags labeled "$/oz," "¢/ea," or "price per 100g." You can also calculate it yourself.
|
||||
|
||||
## How to Calculate Unit Price
|
||||
|
||||
**Formula:** `Unit Price = Item Price ÷ Size`
|
||||
|
||||
**Examples:**
|
||||
|
||||
- Product A: $4.99 for 16 oz → $4.99 ÷ 16 = $0.31 per oz
|
||||
- Product B: $3.99 for 12 oz → $3.99 ÷ 12 = $0.33 per oz
|
||||
|
||||
Product A costs more upfront ($4.99 vs $3.99) but is actually the better value at $0.31/oz vs $0.33/oz.
|
||||
|
||||
## Unit Price vs Shelf Price
|
||||
|
||||
| Term | Definition |
|
||||
|------|------------|
|
||||
| **Shelf price** | The total price you pay at checkout |
|
||||
| **Unit price** | Price divided by size — the true cost per useable unit |
|
||||
|
||||
Shelf price misleads you when product sizes vary. Unit price reveals the actual cost regardless of packaging.
|
||||
|
||||
## Why Unit Price Matters: The Shrinkflation Example
|
||||
|
||||
Brands know unit price is how smart shoppers compare. Instead of raising shelf prices (which shoppers notice), they shrink the product. The shelf price stays the same. The unit price goes up.
|
||||
|
||||
**Real example:**
|
||||
- 2021: Cereal box — 18 oz at $4.99 → $0.277/oz
|
||||
- 2024: Same brand, same shelf price — 15.5 oz at $4.99 → $0.322/oz
|
||||
|
||||
The shelf price did not change. The unit price went up 16.1%. You are paying 16.1% more per ounce for the same product without realizing it.
|
||||
|
||||
This is shrinkflation, and it is happening across cereals, snacks, dairy, household products, and more.
|
||||
|
||||
## How to Use Unit Price at the Grocery Store
|
||||
|
||||
1. **Look for the small print** — Most stores label unit price on the shelf tag. Find the "$/oz" or "¢/load" number.
|
||||
2. **Calculate yourself** — Divide shelf price by size (oz, g, sheets, loads). Write it down or use a phone calculator.
|
||||
3. **Compare across brands** — The brand with the lower shelf price is not always the lower unit price.
|
||||
4. **Track it over time** — If you buy the same products regularly, unit price changes reveal shrinkflation before the brand announces it.
|
||||
|
||||
## Unit Price and CartSnitch
|
||||
|
||||
CartSnitch automatically calculates unit prices for the products you track. When a brand shrinks a product, CartSnitch flags the unit price increase so you see exactly how much more you are paying per ounce — even if the shelf price never changed.
|
||||
|
||||
## Summary
|
||||
|
||||
Unit price is the most honest way to compare products of different sizes. It reveals shrinkflation, exposes hidden price increases, and helps you make truly informed purchasing decisions. The formula is simple: divide the price by the size.
|
||||
|
||||
**Quick reference:**
|
||||
- Shelf price: What you pay
|
||||
- Unit price: What you pay per ounce/gram/unit — the real measure of value
|
||||
Reference in New Issue
Block a user