OD"> Supermarket Operations Resilience - Monte Carlo Report Skip to content
08_supermarket_test

🛒 Supermarket Operations Resilience

Monte Carlo stress test of shopper flow, lane coverage, promotion pressure, and inventory fragility using the observed supermarket CSVs as the calibration baseline.

Simulation Runs1,620
Observed Horizon21 days
Runtime31.9s
Generated2026-06-15 14:06
▶ Watch the animated simulation

A frame-by-frame canvas animation of this scenario, side-by-side under contrasting operating policies.

Executive Summary

The supermarket is stable under current observed demand, but its resilience is asymmetric: most of the shopper journey is driven by shopping time, while the actual operational breakpoints come from short bursts in queueing, manager approvals, and promotion-triggered stockouts. Under stress, the system degrades first in the 18:00-20:00 window, especially if staffing is trimmed and replenishment remains fragile.

Observed abandonment3.1%
Observed pre-checkout34.2 min
Baseline simulated queue0.0 min
Worst-case abandonment2.5%
Worst-case lost sales$8127
Resilient-case queue0.0 min
Front-end waiting is not just queueing.
Observed pre-checkout time averages 34.2 min, but the queue proxy is only 1.6 min. Most of the shopper journey happens before the basket reaches a lane.
Manager approvals are a service-time spike.
Approval-required transactions represent 9.7% of the sample yet create a disproportionate amount of front-end variability.
Promotions and replenishment are misaligned.
48.1% of stockouts happened in departments promoted that same day.
The real risk window is 18:00-20:00.
In stress runs, the system breaks first when demand remains high while lane coverage and replenishment responsiveness begin tapering.

Observed Diagnostics

The first layer stays close to the CSVs. It separates shopper dwell time from queue time, highlights where promotions coincide with inventory pain, and surfaces which transaction patterns create the sharpest service spikes.

observed_arrivals_heatmap
journey_decomposition
promo_vs_wait
stockout_departments
actual_pressure_by_hour
MetricObserved valueInterpretation
Pre-checkout time34.2 min avg / 59.7 min p90What the shopper experiences from entering the store until checkout begins.
Queue proxy1.6 minOperational queueing is materially smaller than total dwell time.
Manager approvals9.7% of observed transactionsLow-frequency but high-disruption flow that can stall individual lanes.
Promo-stockout overlap48.1%Evidence that demand generation and replenishment readiness are not fully synchronized.

Monte Carlo Design and Dashboard

The model replays the full 21-day operating pattern with stochastic arrivals, empirical shopping-time samples, bootstrap service times, lane scheduling by hour, promotion amplification, and stockout-induced basket erosion. Three levers are stressed in a full-factorial design.

  • Staffing: Lean Ops, Current Coverage, Peak Flex.
  • Demand: Observed Demand, Promo Heavy, Surge Event.
  • Replenishment: Fragile, Current, Resilient.
wait_heatmap
abandon_heatmap
stockout_heatmap
scenario_scatter
hourly_risk_curve
risk_distributions
factor_impact
Best-performing scenariosAvg pre-checkout [min]Abandon [%]RevenueLost sales
Current Coverage / Surge Event / Resilient Replenishment35.12.3$168743$6444
Current Coverage / Surge Event / Current Replenishment35.22.4$167392$7337
Lean Ops / Surge Event / Resilient Replenishment35.12.4$167774$6792
Lean Ops / Surge Event / Current Replenishment35.22.4$167710$7286
Current Coverage / Surge Event / Fragile Replenishment35.42.4$164458$7986
Peak Flex / Surge Event / Current Replenishment35.32.4$167226$7276
Highest-risk scenariosAvg pre-checkout [min]Abandon [%]Queue p90 [min]Lost sales
Current Coverage / Observed Demand / Fragile Replenishment32.83.40.0$5099
Peak Flex / Observed Demand / Resilient Replenishment32.53.30.0$4578
Peak Flex / Observed Demand / Current Replenishment32.53.30.0$4882
Lean Ops / Observed Demand / Resilient Replenishment32.63.30.0$4560
Current Coverage / Observed Demand / Current Replenishment32.73.30.0$4872

Bottlenecks and Failure Modes

Under current demand, front-end capacity is usually adequate. Under stress, the dominant system breaks are more targeted than a generic labor shortage.

Where the model breaks first

  • 18:00-20:00 taper: worst-case queue wait climbs to 0.0 min with a 0.0 min upper-tail p90 across replications.
  • Promotion-triggered stockouts: fragile replenishment lifts stockout-related lost sales to $1979 before abandonment is counted.
  • Supervisor dependency: manager-approval baskets consume 828 minutes per simulated horizon under baseline conditions.
  • Checkout mix inefficiency: self-checkout share averages 21.7% in the baseline, leaving room to offload quick-trip traffic.

Tendencies across scenarios

  • Demand is the strongest wait driver: moving from observed to surge demand shifts the whole frontier more than any single staffing or replenishment lever.
  • Replenishment protects revenue more than queues: resilient replenishment does little to lane congestion directly, but it prevents basket erosion and secondary abandonment.
  • Peak-flex beats blanket overcoverage: targeted lane availability in the real stress window outperforms broad coverage for the same operational intent.

Recommended Actions

The actions below follow the evidence chain from the observed data and the stress model: stop value leakage first, then protect the evening peak, then remove avoidable service variability.

ActionWhat to changeExpected effect
Promotion gating with inventory guardrailsDo not release high-intensity promotions unless the promoted department has minimum on-hand cover or same-day replenishment certainty.Attacks the observed 48.1% promo-stockout overlap directly.
Peak-flex lanes, not blanket overstaffingOpen one extra traditional lane plus full self-checkout availability in the true stress windows: 12:00-13:00 and 18:00-20:00.Under surge conditions this improves average pre-checkout time from 35.5 min to 35.0 min in the resilient case.
Reduce supervisor frictionMove approvals to mobile overrides or pre-clear high-frequency exception classes outside the evening peak.A small number of approval-dependent baskets creates lane-level instability disproportionate to its share of traffic.
Increase quick-trip self-checkout captureUse signage and basket-size nudges to route low-item shoppers earlier in the journey.The baseline self-checkout share is only 21.7%, leaving headroom to unload staffed lanes without changing basket economics.

The most robust scenario in this run set is Current Coverage / Surge Event / Resilient Replenishment, which holds abandonment to 2.3% while preserving $168743 in period revenue.

KPI Glossary

KPIDefinition
Pre-checkout timeStore entry to checkout service start. Includes shopping time and queue wait.
Queue waitTime between joining the front-end queue and starting checkout service.
Service levelShare of completed shoppers whose queue wait stays at or below 5 minutes.
Lost sales - abandonmentRevenue lost when a shopper leaves before checkout service begins.
Lost sales - stockoutBasket value removed because unavailable inventory blocks intended purchases.
UtilizationBusy lane minutes divided by scheduled lane-available minutes for each checkout type.

Sources and Assumptions

The report is grounded in the five CSV files under 08_supermarket_test/data. No external market data was injected; scenario stressors are controlled Monte Carlo perturbations applied on top of the observed operating pattern.

SourceRole in model
customer_purchases_sample.csvShopper entry times, purchase mix, basket values, and abandonment history.
checkouts_by_hour.csvHourly lane availability, queue proxies, throughput, and sales.
employees_shift.csvContext for front-end staffing tapering and operational structure.
promotions.csvPromotion timing, department targeting, and traffic-lift assumptions.
inventory_events.csvStockout timing, duration, department hotspots, and root causes.