Translate a marketplace forecast into the supply you actually need: couriers, vehicles, sortation lines, pickers, packers, receivers, dock doors. Two personas (3PL last-mile and fulfillment warehouse), two granularities (daily horizon and intraday hourly+zone). Side-by-side operational and financial output, plus sensitivity at +/- 15% and +/- 30% forecast error.
Daily view: forecast packages per day across 14 calendar days. Hourly view: 12 two-hour buckets across one 24h day, by hub or by inbound/outbound flow.
Pick a scenario preset
Pre-loaded operational patterns. Click to load defaults, then customize any input. Presets locked to a specific persona+granularity will show as inactive in other modes.
Share this forecast. Copy a link with your scenario, persona, granularity, settings, and levers. Anyone with the link sees the same configuration.
Copied to clipboard
Forecast input 3PL · DAILY
14-day daily package volume. Weekends auto-tagged. Enter zeros to skip a day.
Origin mix 3PL · DAILY
Decompose total volume into Line haul, Seller direct, and FBS. The cascade is volume-agnostic, but the defer lever can only push the negotiable origins (Seller + FBS).
Sum: 100%
Line haul cross-dock from other hubs40%
Seller direct FBM equivalent35%
FBS fulfilled by marketplace25%
Sliders auto-rebalance to keep the sum at 100%. Move one, the other two redistribute proportionally.
Operating parameters 3PL
Productivity and capacity per resource. Defaults reflect typical multi-country marketplace 3PL benchmarks; calibrate to your operation.
Cost inputs 3PL · USD
Fully-loaded daily or hourly costs per resource plus per-package SLA penalty. USD only in v1.
Result
Anchor numbers for forecast and cost. Detailed breakdowns below.
Where every horizon dollar goes: labor, fleet, facility, SLA penalty.
Storage occupation over horizon
14 days of backlog vs storage capacity. Bars tier on the alert threshold (configurable).
Alert at
%
Sensitivity
If the forecast is off by +/- 15% or +/- 30%, what does total cost do? The asymmetry on the upside reveals where capacity bottlenecks compound. The SLA hit probability stresses the plan at the +15% upside case, the most common bad outcome ops planners actually face. Each scenario re-runs the day-over-day cascade, so upside cases compound non-linearly.
SLA hit probability at +15% upside
0%
Probability that booked capacity covers actual demand within SLA.
peak above threshold
Operational levers
Two moves you can pull when the baseline projects above the alert threshold: boost processing capacity (overtime, extra lines, weekend shifts) or negotiate with origins to push volume forward one day. Both run a full cascade re-compute and report the new occupation peak.
Boost processing capacity
Increase daily throughput via overtime or extra lines. Costed at 1.5x base unit cost.
Boost+0%
Applies to all 14 days. Overtime cost is a directional estimate.
Negotiate origin defer (Seller + FBS)
Push a share of negotiable volume to the next day. Smooths the peak, may move SLA risk forward.
Defer+0%
Last-day deferred volume is discarded for visualization purposes.
How this forecaster works
"How much capacity do we need next week?" is the question logistics ops gets every Monday. The answer depends on the same five drivers across very different operations: forecast volume, productivity per resource, shrinkage (PTO + sickness), peak buffer (variance protection), and shift length. This tool runs the math for two distinct personas and lets you check how the answer changes under realistic forecast error.
V2 update (2026-05-15): rebuilt around operator feedback from a former Shopee BR logistics ops lead who runs hub occupation analysis as a daily workflow. Five upgrades: (1) day-over-day backlog cascade (today's overflow is tomorrow's effective inbound), (2) two-layer capacity model (processing throughput vs storage holdability), (3) storage occupation percent as a primary headline anchor with configurable alert threshold, (4) origin mix decomposition (Line haul / Seller / FBS) for Persona A, (5) operational levers card (boost capacity + negotiate origin defer) that activates when baseline peak crosses the alert.
Real-world impact
Illustrative scenarios drawn from operator practice. Numbers are realistic order-of-magnitude estimates, not measurements from any specific deployment.
Case 1: 3PL last-mile facing a 35% Q4 volume jump
SetupNetwork planner at a regional 3PL handling 12,000 daily parcels with 140 couriers and 18 vans across 3 hubs.
ProblemStandard linear model said add 50 couriers; gut said that was wrong because backlog from Day 1 would cascade into Day 3-4 vehicle saturation, but no one could quantify it cleanly. Wrong-sizing risk was roughly $180K either way (overhire or service collapse).
Tool surfacedV2 backlog cascade with 2-layer capacity showed couriers were not the bottleneck (occupation 78%); vans were (occupation 96% with origin mix shift from urban to peri-urban), recommending 8 extra vehicles and 22 couriers, not 50.
OutcomeQ4 ran at 94% on-time vs 89% prior year, courier overstaffing avoided, net cost vs the linear-model plan came out about $140K lower with better service.
Case 2: DTC fulfillment warehouse missing cutoff 3 days in 5
SetupOps manager at a DTC brand's contracted fulfillment site, 2 shifts, 60 pickers, 8 sorters, processing 8,000 orders per day with same-day cutoff at 2 PM.
ProblemSame-day promise was failing on roughly 60% of weekdays, refund and re-ship cost about $11K per missed-cutoff day, and the brand was threatening to switch 3PLs.
Tool surfacedForecaster's intraday view showed sorter capacity at 102% utilization 11 AM to 1 PM while pickers ran at 71%; the bottleneck was sortation, not pick. Adding 2 sorters on a split shift was modeled to fix it.
Outcome2 sorters added on a 10 AM start, cutoff miss rate dropped to 8% of days within 3 weeks, retained the brand account worth about $1.4M annually.
Storage breach is a soft signal. Occupation can exceed 100% and is shown in red; the model does not cap it. Persona B uses the same cascade as a directional model, treating inbound + outbound as the total processable load.
For each of -30%, -15%, base, +15%, +30%, the forecast is scaled and the full pipeline re-runs. Cost typically grows roughly linearly on the downside but compresses on the upside (you cannot un-buy fixed shifts), and breaks asymmetrically once a resource saturates. The SLA hit probability formula is a heuristic: clamp(1 - max(0, demand - base_capacity) / demand, 0, 1). It treats capacity as locked to the base forecast (which is the realistic case for a Monday plan).
Where the numbers come from
Time-of-day curves are fixed per persona in v1 (induction peaks around 08:00 for 3PL, delivery around 16:00, fulfillment outbound bimodal at 11:00 and 16:00). Real ops should fit curves to their own data; this tool calibrates curve shape to representative marketplace patterns.
Shrinkage defaults 18-22% reflect typical operations including PTO, training, sickness, and breaks. Emerging-market 3PL ops often run higher (20-25%); US fulfillment with proper schedule adherence tools can hit 12-15%.
Peak buffer 15-25% adds variance protection. The buffer compounds: if you forecast 10k packages with a 20% buffer, you staff for 12k. If the day comes in at 14k, you are still 14% short.
Cost defaults are USD and approximate. Real 3PL courier costs vary 60-180 USD/day depending on city, vehicle ownership model, and gig vs employed labor mix. Fulfillment hourly rates vary similarly.
What this tool is NOT
It is not a substitute for a workforce management (WFM) platform or a real warehouse management system (WMS). Production WMS / TMS handle skill-based routing, real-time adherence, slot booking, and dock scheduling at the minute level. This tool calculates the headcount and fleet size that feeds those systems.
It does not model returns flow capacity, multi-shift handoffs, per-zone WIP limits, or labor ramp-up time on new hires. For multi-quarter capacity plans those gaps matter.
The intraday hourly view assumes one 24h horizon and one shift. Multi-day intraday and multi-shift are out of scope for v1.