Bakery Demand Forecasting for Beck Roman
Executive Summary #
Client:
Beck Roman A traditional bakery in Canton Schwyz with multiple branches.
Goal: Replace gut-feeling daily bake decisions with per-product demand forecasts, reducing waste without losing sales.
Tech Stack: Python, Scikit-learn (HistGradientBoosting, quantile loss), Pandas, DVC, GraphQL APIs (POS + ERP), Weights & Biases, Open-Meteo.
The Challenge #
Every morning, the bakery decides how much to bake of each product. Bake too little and customers leave empty-handed; bake too much and the surplus becomes waste. The existing decision relies on experience: robust but unscalable, and blind to subtle drivers like weather, school holidays, and local events.
Current Status: In Progress #
This is an active engagement. A detailed write-up will follow once the production rollout is complete. Highlights so far:
- End-to-end data pipeline from the bakery’s POS system (GraphQL API) into a reproducible DVC-managed dataset spanning ~4 years of transaction history.
- Per-product quantile-regression models trained for seven products (breads and pastries). The quantile-loss framing directly targets the baker’s asymmetric cost (a lost sale hurts differently than a return).
- Measured wins on several products: return rate drops from roughly 15-25% under the current routine to roughly 10-15% with the model. The model bakes slightly less, so a few more customers occasionally leave empty-handed, but the savings on unsold ingredients clearly outweigh the missed margin. Net effect: more profit, despite slightly lower sales volume. Validated on a 3-month frozen test window.
- Operational integration with the bakery’s ERP / production-planning system is the next milestone.
More details, charts, and a public write-up will be published here once the project reaches its next milestone.