{
  "slug": "bakery-shelf-life-waste",
  "title": "Bakery Shelf-Life Waste Calculator",
  "heading": "Bakery Shelf-Life Waste Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/bakery-shelf-life-waste",
  "summary": "The real dollar cost of unsold bread and pastries going stale each week.",
  "description": "Bakeries and cafes selling perishable baked goods routinely mark down or throw away 10-25% of daily production because most baked goods lose sellability within 24-48 hours. This calculator takes your daily production units, sell-through rate, and what happens to unsold units (markdown, donation with tax deduction, or straight loss) to compute the true weekly cost of shelf-life waste. It also shows the sell-through rate you'd need to hit to cut waste cost in half, which is often more actionable than just knowing the current waste number. Bakeries that don't track this systematically tend to keep overproducing 'to be safe' against stockouts, when in reality the cost of a stockout (a disappointed customer) is usually much smaller than the compounding cost of daily overproduction multiplied across a year.",
  "formula": "Unsold units = daily production × (1 − sell-through%). Waste cost = unsold units × unit cost × (1 − recovery% from markdown/donation). Weekly waste cost = daily × 7.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=bakery-shelf-life-waste",
  "inputs": [
    {
      "id": "dailyProduction",
      "label": "Daily units produced",
      "kind": "number",
      "hint": null,
      "default": 180,
      "unit": null,
      "min": 0,
      "max": null
    },
    {
      "id": "sellThroughPct",
      "label": "Sell-through rate",
      "kind": "number",
      "hint": null,
      "default": 82,
      "unit": "%",
      "min": 0,
      "max": 100
    },
    {
      "id": "unitCost",
      "label": "Cost per unit",
      "kind": "number",
      "hint": null,
      "default": 1.35,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "recoveryPct",
      "label": "Value recovered from markdowns/donation tax credit",
      "kind": "number",
      "hint": null,
      "default": 20,
      "unit": "%",
      "min": 0,
      "max": 100
    }
  ],
  "outputs": [
    {
      "id": "weeklyWasteCost",
      "label": "Weekly shelf-life waste cost",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "dailyWasteCost",
      "label": "Daily waste cost",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "annualWasteCost",
      "label": "Annual waste cost",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "unsold",
      "label": "Unsold units per day",
      "format": "number",
      "hint": null,
      "primary": false
    },
    {
      "id": "targetSellThroughForHalf",
      "label": "Sell-through needed to halve waste cost",
      "format": "percent",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Daily units produced: 180",
      "Sell-through rate: 82 %",
      "Cost per unit: 1.35 $",
      "Value recovered from markdowns/donation tax credit: 20 %"
    ],
    "outputs": [
      "Weekly shelf-life waste cost: $244.94",
      "Daily waste cost: $34.99",
      "Annual waste cost: $12,737",
      "Unsold units per day: 32",
      "Sell-through needed to halve waste cost: 91.0%"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter daily units produced.",
      "Enter sell-through rate (%).",
      "Enter cost per unit ($).",
      "Enter value recovered from markdowns/donation tax credit (%).",
      "Read your weekly shelf-life waste cost on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "dailyProduction": 110,
        "sellThroughPct": 49,
        "unitCost": 0.81,
        "recoveryPct": 10
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "dailyProduction": 180,
        "sellThroughPct": 82,
        "unitCost": 1.35,
        "recoveryPct": 20
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "dailyProduction": 290,
        "sellThroughPct": 100,
        "unitCost": 2.16,
        "recoveryPct": 30
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "What sell-through rate should a healthy bakery target?",
      "a": "Most well-run retail bakeries target 85-92% sell-through on daily perishables, keeping enough buffer to avoid stockouts on popular items without chronically overproducing. Below 75% sell-through usually means production planning isn't using actual sales history by day of week."
    },
    {
      "q": "Does donating unsold bread actually offset the cost?",
      "a": "Donations can generate a tax deduction (enhanced deductions are available for C-corps donating food inventory, with different but still meaningful rules for other entity types) and support Bill Emerson Good Samaritan Act liability protection, but the deduction value is typically well below the retail or even wholesale cost of the product, so it reduces but doesn't eliminate the loss."
    },
    {
      "q": "Is it better to underproduce and risk stockouts?",
      "a": "Usually yes for high-waste items, since a stockout costs one disappointed customer for a specific item that day, while daily overproduction compounds into thousands of dollars of loss annually. Track which specific items stock out and how often before assuming your current production levels are optimal; most bakeries can cut 2-3 low-selling SKUs' production by 20% with minimal complaint volume."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/bakery-batch-yield-cost",
    "https://www.revenuelab.fyi/toolbox/bakery-recipe-scaling"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Bakery Shelf-Life Waste Calculator (https://www.revenuelab.fyi/toolbox/bakery-shelf-life-waste)"
}