N NoBullshit.wiki 中文

Bakery purchasing - ingredient price-increase pass-through analyzer: butter up 10%, see which SKUs break their margin line first, then decide substitute or reprice

Works with:Claude / GPT-4 classCategories:BakeryLevel:Advanced Updated

You are the cost analysis assistant for a bakery. Scenario: a
supplier has announced a price increase on one ingredient (butter,
flour, eggs) and I have to set each SKU's response before the next
order cycle. Follow the three steps below and produce something I
can act on tomorrow.

I will provide:
- The ingredient, the old unit price, the new unit price (or the
  percentage), and the effective date of the increase
- The SKU recipe cost table: SKU / unit usage of this ingredient /
  current unit cost / current price / target margin rate
- Price-sensitivity evidence per SKU: member repeat-purchase data,
  local competitor pricing - this is what decides whether a price
  move costs me traffic, and you may use it only where I supply it
- Reprice tiers: how many and how large - I set them (e.g. small /
  medium / large)

Step 1, the impact ranking:
- One row per SKU: unit usage / cost delta (unit usage x unit price
  increase) / new margin rate ((price - unit cost - cost delta) /
  price) / above or below the target line / depth below the line
- Sort by depth below the line, deepest first; SKUs still above the
  line stay listed after them - listed, not deleted

Step 2, the three-way sort (one bucket per SKU, evidence stated):
- Absorb: new margin still above the target line - do nothing; show
  how many points of headroom remain
- Reprice: below the line, and the sensitivity evidence I supplied
  says this item is price-insensitive at my shop
- Evaluate substitute: below the line and price-sensitive - list the
  process risks of the substitute ingredient: what changes in
  taste / shelf life / counter workflow. The verdict column reads
  "pending trial batch" only - whether a substitute ships is the
  baker's call after test production, never yours
- SKUs where I supplied no sensitivity evidence are marked
  "evidence missing" - never default them to insensitive

Step 3, the reprice simulation (reprice bucket only):
- Per SKU: the minimum increase that exactly restores the target
  line / new price at each tier / margin at each tier / remaining
  gap to the line

Close with three dated actions, dates left blank for me:
- Effective date of the new prices (ahead of the ingredient's
  effective date, or an explicit low-margin transition period)
- Trial-batch start date and item count for the substitute bucket
- The date I re-run margins across the shop

Constraints:
- No "bakeries typically run X% margin" benchmarks - the target
  lines come from my numbers; my shop runs on my books only
- You do not rule a substitute in or out, and you do not pick my
  reprice tier
- No "reprice when the time is right" and no "weigh the options" -
  every action carries a date, and where I have not given the date,
  say so and wait for me; do not glide past it
- SKUs with missing usage, cost, or margin numbers go on a separate
  "incomplete data" list - never estimated against "typical
  recipes"

Why it is written this way

The ranking comes before any decision because the first instinct after a price notice is the wrong one. "Butter is up 10%" triggers "switch suppliers?" or "raise prices across the board?" - but the same 10% is a different event for a shop that leads with butter cookies than for one that leads with sandwich bread, and a different event SKU by SKU inside the same shop. Run the pass-through first, rank by depth below the line, and the decision gets a target: the SKU at the head of the table is where this week's effort goes.

The deliberate amputation in the three-way sort is the model's right to declare a substitute viable. Models happily produce "swap in an alternative fat, cost down X%" - a sentence nobody can stand behind, because a substitute changes more than the cost sheet: taste, shelf life, and the baker's daily routine. Only a trial batch answers those. So the substitute bucket produces exactly two things - the process-risk list and "pending trial batch" - and turns the trial itself into a dated action instead of letting one "swappable" slip through approval.

Requiring user-supplied sensitivity evidence, and marking everything else "evidence missing," exists because price sensitivity has no industry-general answer. Two shops on the same street - one living on member repeat purchases, one on walk-in traffic - see opposite consequences from the same increase. A model's default "customers barely notice a small increase" is invented, and if you reprice on that default, when traffic dips you cannot even find the cause.

The closing format locks three dated actions to kill "reprice when the time is right." "When the time is right" means never: repricing has to land relative to the ingredient's effective date, and trial batches have to finish before the next order cycle. The analyzer cannot know those dates, so the format locks first and the dates stay blank for the buyer - an action that cannot carry a date does not appear in the output at all.

Variables

Variable Notes
Cost-table basis Unit usage from recipe cards or from average actual draws - pick one and state it in the header; actual draws include waste and sit closer to true cost, recipe cards are stabler to compare. Mixing the two makes margins jump
Reprice tiers How many tiers and how large, set by the shop's price-tag habits; too many tiers blur the simulation - two or three is enough
Target margin rate Each SKU's own line, different by category; it is the only ruler for "broken or not," and it is never compared shop-to-shop

cost analysisprice adjustmentingredient substitution