The discount ends; the forecast stays
An online shop owner must book packing help for next week. Recent purchases make a forecast of 120 orders look reassuring, so repeating the usual staffing block feels sensible. Yet the discount has ended. An oversized booking would tie up cash.
This example is hypothetical; all figures are assumed. Each paid order takes ten minutes to pack. The shop has a $400 staffing budget, and comparable weeks without a promotion suggest 60 orders.
Price the hours you actually need
The regular contractor offers a minimum 20-hour block at $20 an hour: 20 × $20 = $400. That covers 120 orders. A flexible contractor offers 12 hours at $25: 12 × $25 = $300. Both options fit the budget.
At 60 orders, packing needs 60 × 10 ÷ 60 = 10 hours. Choose the flexible booking: it leaves two hours of spare capacity and $100 unspent. Both contractors are assumed to meet the same packing standard.
Check what produced those purchases
Before booking, filter order records to paid, uncancelled purchases with promotion_active = false. Compare totals for weeks with the same opening days. If ordinary weeks support 60 orders while the forecast says 120, pause automatic booking and rerun the forecast for ordinary trading.
The model pooled promotional and ordinary weeks without a promotion input. It carries discounted demand into a week when customers face the normal price. Use comparable ordinary weeks as the planning baseline until the model separates those conditions; check outstanding orders before committing.
In the worked week, 60 orders arrive and are packed in ten hours. The remaining booked hours are still paid.
A backlog changes the choice
Now change the example: 30 paid orders are already waiting, with the same packing time and deadline. The total becomes 60 + 30 = 90 orders, requiring 15 hours. Twelve hours would leave work unfinished, so book the 20-hour block. Use the smaller booking only when forecast orders plus the existing backlog fit its 72-order capacity.