Supplier lead time: how to measure your own, log it, and use it in reorder math
Quoted lead time covers production; actual lead time covers everything. A lead-time log template, how to compute average and p80, and how each one changes your reorder point.
InventoryX is in development and not available today. ClearStock is the live Shopify app.
Supplier lead time is the elapsed time from placing a purchase order to the units being sellable — not the number in the supplier's quote. Those two figures differ for a structural reason: a quote typically covers production, while your inventory burns through order processing, production, freight, customs, and receiving. The gap is usually one to two weeks and occasionally five, and every reorder point you compute using the quote inherits it.
This article is about closing that gap with your own data: what to log, how to turn the log into a planning number, and the arithmetic that shows what the difference costs.
What's actually inside the number
| Phase | What happens | Who controls it |
|---|---|---|
| Order processing | PO acknowledged, deposit cleared, materials allocated, order enters the production queue | Supplier |
| Production | Goods manufactured, or picked and packed if you're buying finished stock | Supplier |
| Transit | Origin handling, ocean or air leg, customs clearance, inland delivery | Carrier, forwarder, customs |
| Receiving | Unload, count, inspect, put away, inventory marked sellable | You |
The quote usually covers the middle-left of that list. The phase merchants most often forget is the last one, which is entirely under their control: if a pallet sits in the back room for three days before anyone counts it, those days are lead time, and they're the days that quietly double during peak season.
The one definition to standardize on: order date to date-available-to-sell. Not ship date, not arrival at the dock, not "the day someone said the container cleared." If two people in your store measure lead time two different ways, you don't have a metric, you have two opinions.
Quoted vs actual: why the gap is structural
Suppliers aren't usually lying. They're answering a narrower question than the one you asked. A factory quoting "30 days" means "30 days from confirmed order to goods ready at our dock" — which is true, and which excludes the 30–35 days of ocean freight, the customs clearance, and your own receiving.
The compounding part is variability. Each phase has a spread, and spreads add in a way averages don't: the average of a sum is the sum of the averages, but the tail of a sum is wider than any individual tail. A supplier whose production varies by ±5 days and a freight leg that varies by ±8 days produce a combined cycle that occasionally runs 20 days long, even though neither phase individually looks alarming. That's why "average lead time" is a planning number and not a promise, and why critical SKUs get planned on a high percentile rather than the mean.
The lead-time log
One row per PO, one sheet per supplier. Ten to fifteen minutes per delivery, and after five or six deliveries you have a real number.
| PO | Order date | Confirmed ship date | Arrived at port/3PL | Counted & sellable | Total days | Transit days | Delay vs quote | Cause |
|---|---|---|---|---|---|---|---|---|
| PO-1041 | 2026-03-04 | 2026-03-29 | 2026-04-11 | 2026-04-14 | 41 | 16 | +11 | Factory queue |
| PO-1052 | 2026-04-02 | 2026-04-30 | 2026-05-12 | 2026-05-15 | 43 | 15 | +13 | Customs hold |
| PO-1063 | 2026-05-07 | 2026-06-01 | 2026-06-10 | 2026-06-12 | 36 | 11 | +6 | None |
| PO-1074 | 2026-06-03 | 2026-06-28 | 2026-07-09 | 2026-07-13 | 40 | 15 | +10 | Port congestion |
| PO-1085 | 2026-07-01 | 2026-07-24 | 2026-08-03 | 2026-08-06 | 36 | 13 | +6 | None |
| PO-1096 | 2026-08-05 | 2026-09-02 | 2026-09-14 | 2026-09-17 | 43 | 15 | +13 | Factory queue |
With six rows you can compute three numbers that serve three different purposes:
=AVERAGE(total_days)— 39.8 days, your planning lead time for ordinary SKUs. Note it's a full 10 days above the quoted 30.=PERCENTILE(total_days, 0.8)— 43 days, the number to use if you want 4 out of 5 cycles covered.=MAX(total_days)— 43 days, your recent worst case, which is what you plan critical bestsellers against.
Add a "cause" column even though it's free text. Six rows in, patterns appear: if every long cycle traces to the factory queue rather than the ocean leg, the fix is a capacity conversation with the supplier, not a bigger buffer. If it's customs, the fix might be documentation discipline. The log is a diagnostic, not just an average.
Two rules for keeping it honest: log every delivery, not just the good ones (a log of successes measures nothing), and log calendar days, because your stock burns on weekends and containers don't pause for them. Confirm whether any quoted component is in business days — over a quarter, the difference between business-day and calendar-day counting is close to 30%.
Putting the number into reorder math
The reorder point is (velocity × lead time) + safety stock. Change nothing but the lead-time input and watch what happens to the same SKU — the mug selling 7.08 units/day with a 50-unit buffer:
| Lead-time input | Reorder point | Days of stock the trigger represents |
|---|---|---|
| Quoted: 30 days | 7.08 × 30 + 50 = 262 | 37 |
| Measured average: 40 days | 7.08 × 40 + 50 = 333 | 47 |
| Measured p80: 43 days | 7.08 × 43 + 50 = 354 | 50 |
| Worst recent: 43 days | 7.08 × 43 + 50 = 354 | 50 |
The spread between the top and bottom rows is 92 units — about 13 days of sales. Using the quote doesn't create a 15-day stockout automatically; it means that on an average cycle you place the PO roughly 10 days too late, and your 50-unit buffer (7 days) covers only part of that. On a cycle where everything goes average, you end up roughly three days dark; on a bad cycle, closer to six. Six days on a 7-unit-a-day SKU is about 42 units of demand with nowhere to go.
Which row to choose is a policy question, not an arithmetic one:
- Quoted — never, except as a floor for a brand-new supplier with no history.
- Average — fine for the long tail, where a stockout is an annoyance.
- p80 — the sane default for anything you'd be annoyed to run out of.
- Worst recent — for a handful of SKUs where being dark costs real money, or where the product has no substitute.
If the buffer is doing the work instead of the lead time, you're double-paying: a fat buffer on an optimistic lead time costs cash all year and still fails on the bad cycle. Sizing the buffer is its own calculation, and the two numbers should be chosen together but kept separate.
Getting clean dates out of your own records
The hard part isn't the math, it's the two dates. Order date is easy — it's on the PO. Sellable date is the one that goes missing, for a boring reason: receiving is a process, not an event. Goods arrive, get unloaded, sit, get counted, get put away. If nobody records when the count finished, your lead time is really "arrival time plus however long it took us to get around to it."
The fix is process discipline rather than software: someone owns the receiving event, the count happens the day stock lands, and the date goes into the log before the carton is broken down. The workflow that makes this automatic is covered in the purchase order process guide. Shopify's native purchase orders give you an order date and a receive action per PO, which is enough to reconstruct order-to-received for every past PO in the admin — an hour's work for a supplier with ten deliveries of history, and the only numbers you need.
Reduce it or absorb it?
Measuring lead time opens a second decision beyond buffer sizing: shrink the number. The options and their real costs:
- Split shipments. Bulk by ocean, a small air-freight top-up for your fastest SKUs. Buys down effective lead time for a fraction of the catalog, at a real per-unit premium.
- Dual sourcing. A domestic second supplier for emergency top-ups while the overseas factory handles base volume. Costs MOQ splitting and doubled supplier management.
- A closer supplier for fast movers. Sometimes a 10-day domestic source at 15% higher unit cost is cheaper than 45 days of pipeline stock on a hero SKU. Do that arithmetic explicitly — proximity isn't automatically worth it.
- Supplier-side fixes. Booking capacity earlier, paying deposits faster, or agreeing a firm ship date instead of a production slot are the cheapest reductions available, and they show up in the "cause" column of your log as the difference between a queue problem and a port problem.
The rule: reduce when the carrying cost of the extra days exceeds the premium to remove them. When it doesn't, absorb the variability deliberately — measured lead time plus a justified buffer — instead of absorbing it accidentally through stockouts.
Common questions
Does supplier lead time include shipping? In inventory planning, yes: lead time runs from PO placement to sellable stock, so transit and customs are inside it. A supplier's own "lead time" often means production only. A 30-day production quote plus 30 days of ocean freight is a 60-day replenishment cycle, and stores discover that mid-season.
Should I use average or worst-case lead time? Average for the long tail, p80 for anything you don't want to run out of, and the worst recent case for critical bestsellers with no substitute. Using the quote is not a third option — it's a systematic understatement, and it fails in the direction that costs sales.
How many deliveries do I need before the number is trustworthy? Five or six gives you a usable average; ten gives you a defensible p80 and a sense of the tail. Recompute after any change of factory, port, forwarder, or shipping mode, and look back 6–12 months so you capture a full seasonal cycle rather than one calm quarter.
Why does my lead time keep changing? Because a lead time is the sum of four phases with separate spreads, and the tail of a sum is wider than any part. Capacity queues, port congestion, and customs holds each move independently. That's why the log has a cause column: the number tells you how much to buffer, the cause tells you what to fix.
Does lead time include weekends? Mostly yes — production, freight, and customs run on calendar days. The exception is order processing, which often runs on business days, so a PO sent Friday may not be acknowledged until Monday. Confirm which basis a supplier quotes in, then measure your own history in calendar days.
Next step
Pick the supplier that has hurt you most and fill in the log for its last six deliveries — order date, sellable date, days. Then compare the average to the number you've been planning against. If the gap exceeds five days, every SKU from that supplier has a reorder point that's too low, and the fix is one column of arithmetic per SKU.