Analyzing a full year of pizza restaurant transaction data to optimize box inventory purchasing, identify demand patterns, and reduce waste through data-driven forecasting.
A pizza restaurant needed to optimize its box inventory purchasing to reduce waste, prevent stockouts, and improve operational efficiency. Using 12 months of cleaned transaction data (January–December 2015, 48,620 line items across 21,350 orders), this analysis identifies demand patterns by time of day, day of week, pizza size, and seasonality to build a reliable inventory forecasting model.
The core assumption is that box inventory needs to match demand patterns by size—and that granular time-based demand data can replace the gut-feel purchasing decisions that lead to both overstocking and stockouts.
Box inventory was ordered uniformly across sizes despite highly uneven demand. Large boxes account for 38% of all units sold but were being ordered at the same cadence as Small (29%) and Medium (32%). XL and XXL combined represent just 1.2% of demand—chronic overstocking on these sizes ties up capital.
Peak demand concentrates heavily in the 12:00–13:00 lunch window and 17:00–19:00 dinner window. Without hour-level forecasting, prep and inventory staging missed these spikes, leading to slower throughput during the highest-revenue periods.
Friday generates 37% more revenue than Sunday ($136K vs $99K annually). Staffing and inventory weren’t calibrated to this spread, leading to Friday stockouts and Sunday excess.
The heatmap reveals two consistent demand peaks: a sharp lunch spike at 12:00–13:00 and a broader dinner plateau from 17:00–19:00. Friday is the highest-volume day across nearly every hour. Sunday and Monday show notably weaker demand, especially after 20:00.
| Category | Revenue | Share |
|---|---|---|
| Classic | $220,053 | 26.9% |
| Supreme | $208,197 | 25.4% |
| Chicken | $195,920 | 23.9% |
| Veggie | $193,690 | 23.7% |
Revenue is remarkably even across categories, with Classic leading at 26.9%. This balance means inventory planning can focus on size distribution rather than category-specific ingredients as the primary lever.
| Day | Revenue | Index vs Avg |
|---|---|---|
| Friday | $136,074 | 116 |
| Thursday | $123,529 | 106 |
| Saturday | $123,182 | 105 |
| Wednesday | $114,408 | 98 |
| Tuesday | $114,134 | 98 |
| Monday | $107,330 | 92 |
| Sunday | $99,204 | 85 |
| Size | Units Sold | Share | Boxes/Week (Avg) |
|---|---|---|---|
| Large | 18,956 | 38.2% | 365 |
| Medium | 15,635 | 31.5% | 301 |
| Small | 14,403 | 29.1% | 277 |
| XL | 552 | 1.1% | 11 |
| XXL | 28 | 0.1% | <1 |
Large, Medium, and Small account for 98.8% of all box consumption. XL and XXL combined are negligible. The weekly average is approximately 900 boxes total, but Friday-heavy weeks push toward 1,000+ while Sunday-start holiday weeks can dip below 650.
This analysis demonstrates that pizza box inventory can be optimized through granular demand data at the size, day, and hour level. The key takeaways are:
Revenue is evenly split across categories, but size distribution (38/32/29) is the primary lever for box purchasing. Matching orders to this ratio eliminates the most common source of waste and stockouts.
Friday generates 37% more revenue than Sunday. Any inventory or staffing model that treats all days equally will under-serve Friday and over-serve Sunday.
The 12:00–13:00 hour is the highest-demand period every day. Staging prep, dough, and box inventory before this window is the highest-ROI operational change.