This case study evaluates two staffing designs in a fulfillment context: 4 workers x 10-hour shifts versus 6 workers x 6-7-hour shifts. Using simulated order-level logic derived from non-proprietary records, we model demand timing, packaging-time variability, fatigue effects, backlog carry-over, and labor cost. Under the configured assumptions, the 6-worker short-shift model delivers higher per-person hourly efficiency and lower labor cost with substantially reduced backlog pressure.
Operational instability in fulfillment environments is often caused by mismatch between demand timing and effective labor capacity. Even when total staffing appears adequate, long-shift fatigue and late-day backlog accumulation can reduce throughput stability and increase cost.
This study reconstructs a practical staffing comparison in a simulation-safe format for portfolio publication.
Compare whether a reallocated staffing model (6x6-7) outperforms a long-shift model (4x10) on:
- Per-person hourly productivity
- Backlog stability
- Labor cost efficiency
- Input file:
Simulated_Case_Study.csv - Core fields used:
Create TimeProduct Size (cm) L * W * H
For day D (from Jan 2 onward), demand window is:
- Start:
D-1 09:00:00 - End:
D 08:59:59
Simulation window: Jan 2 to Jan 31 (30 operation days).
Orders are mapped to operation days by Create Time:
- if time >= 09:00, assign to next day
- else assign to same day
For each record:
- Parse
L, W, Hfrom size field - Compute
Total Volume = L * W * H
Per-order processing seconds are randomly generated by volume bucket:
<= 250: 8-14 sec251-500: 10-15 sec501-1000: 12-16 sec1001-2000: 13-18 sec (bridge assumption)> 2000: 15-20 sec
A fixed random seed is used for reproducibility.
- Daily threshold: 2000 orders
- Fatigue mechanism after hour 6:
- Late-shift slowdown factor sampled from
1.3-1.4 - Effective capacity reduced in hours 7-10
- Late-shift slowdown factor sampled from
- Daily threshold: 3500 orders
- Shift length sampled uniformly between 6.0 and 7.0 hours
- No additional post-6h fatigue penalty in this setup
If daily demand exceeds threshold, overflow moves to next day backlog.
Backlog propagation:
total_demand_orders = backlog_start + incoming_orders
Hourly wage is fixed at $18 per person-hour.
daily_labor_cost = workers * shift_hours * 18
Source: data/processed/staff_allocation_efficiency_summary.csv
| Metric | 4 workers x 10h | 6 workers x 6-7h |
|---|---|---|
| Avg orders/person/hour | 32.6308 | 33.7127 |
| Avg daily processed orders | 1305.2333 | 1305.2333 |
| Avg backlog end orders | 269.5 | 29.0 |
| Days with backlog | 8 | 1 |
| Total labor cost | 21600.0 | 20836.8941 |
| Avg daily labor cost | 720.0 | 694.5631 |
| Labor cost per processed order | 0.5516 | 0.5321 |
- Per-person hourly efficiency:
+3.32%for 6x6-7 - Total labor cost:
-3.53% - Cost per processed order:
-3.54% - Average backlog: substantially lower for 6x6-7
The short-shift, higher-headcount model improves both efficiency and cost outcomes under this setup. The fatigue mechanism in long shifts and lower backlog threshold in Model A jointly increase pressure and reduce stability.
This suggests that workforce-hour redistribution can be more impactful than simply extending shift duration.
- This is a simulation-oriented case, not a production replay.
- Processing-time buckets are randomized and assumption-driven.
- One bridge assumption is introduced for volume 1001-2000.
- Results are directional and should be validated in live operations.
For this case-study configuration, 6 workers x 6-7 hours outperforms 4 workers x 10 hours on per-person efficiency, labor cost, and backlog stability while maintaining equivalent total processed volume.
Run:
python3 src/hourly_peak_avg.py
python3 src/daily_orders_9am_window.py
python3 src/staff_allocation_efficiency.py
python3 src/plot_hourly_peak_svg.py
python3 src/plot_daily_orders_line_svg.py
python3 src/plot_staff_allocation_comparison_svg.pyGenerated outputs:
- Tables:
data/processed/*.csv - Figures:
images/*.svg
- Figure 1:
images/jan_hourly_average_orders.svg - Figure 2:
images/jan_daily_orders_with_peak.svg - Figure 3:
images/staff_allocation_comparison.svg