Logistics education · Interactive what-if model

Which purchase orders are likely to arrive late?

A purchase order does not become late on its due date. It becomes late earlier, at a hub, while the goods are still waiting for a container or a vessel. This page walks through the physical flow, the KPI at each step, and a forecast model that tells you which orders are drifting late while you can still act.

Scope: inbound materials and outbound productsInputs: editable, generic example loadedRuns: in your browser, nothing is stored or sent
The short version

Seven ideas behind this model

01

Late is decided at the hub

Once goods are on the water there is little left to do. The useful warning comes while goods sit at the hub, or before the supplier has even delivered.

02

One forecast, two judgements

The same forecast arrival date is compared with the site due date (did the need get met?) and with the freight standard (did logistics do its job?).

03

The clock depends on the stage

Before the hub, the supplier's promise date drives the forecast. At the hub, the standard consolidation. On the water, the actual departure.

04

Tolerance is an escalation window

Each hub has a band of days in which a late-looking order can still be recovered by pushing the departure. Past the band it is late even at standard sailing time.

05

Raw data is per delivery, the order is per line

Each receipt (RTN) is judged on its own for logistics. Quantities are then summed per PO line to decide in full and the site status.

06

The same engine runs outbound

Products leaving the site follow the mirror image: ready date, hub, consolidation, sailing, customer receipt. Only the labels change.

07

Every number is yours

All example values are generic placeholders. Replace them with your own lead times, standards and tolerances before drawing conclusions.

1The question

Which open orders will miss their due date if nothing changes, and which of them can still be saved?

A status such as "Ontime" or "Late" printed after delivery explains the past. A planner needs the opposite: a ranked list of orders that are heading late, a reason, and a date by which action still works. The model on this page builds that list from only five dates per delivery: the supplier promise date, the goods receipt at the hub (GR Offsite), the shipment start, the receipt at site (GR Onsite), and today.

Three questions the page answers. (1) Where in the flow is each order now, and is it drifting? (2) Is the cause the supplier, the hub, or the sailing? (3) If the supplier slips, the hub holds goods longer, or the sailing runs long, how many orders turn late, and which?

2The business flow, end to end

Every shipment passes the same four phases. Each phase has an owner and a KPI. The model measures lateness along this chain.

Supplier or plant3PL at the hubHub consolidationCarrier, customs, inland

Inbound and outbound are mirror images

ConceptInbound (materials)Outbound (products)
OrderPurchase order lineSales or delivery order line
Starting promisePO Delivery Date: supplier delivers to the hubReady-to-ship date: plant hands over to the hub
Hub receiptGR Offsite posted by the 3PLHub receipt posted by the 3PL
ConsolidationCombine supplier lots into a container or vesselStuff the container and wait for the vessel cut-off
SailingShipment start to arrival, clearance, inland legVessel departure to arrival, clearance, last mile
End pointGR Onsite at the siteProof of delivery at the customer
Final targetDue Site Date = PO Delivery Date + Lead TimeCustomer due date = Ready date + Lead Time
First KPIRIFOT: supplier received in full and on time at the hubOTIF at origin: product ready in full and on time

Typical causes of delay, by phase (general experience, not company data)

Supplier or plant phase

Production or procurement slips, partial lots, documents not ready, supplier not confirming the date. The order is late before any logistics work starts.

Hub posting phase

Goods stand in the yard or dock waiting for inspection, labelling, or a posting action. The supplier looks late in the system although the goods were physically there.

Consolidation phase

Waiting for other lots to complete a container, for booking space, or for the next sailing. This is the phase where escalation still changes the outcome.

Sailing, clearance and inland phase

Port congestion, transhipment, inspection, customs release, trucking. Little can be recovered once the vessel has left.

3KPIs along the flow

Each KPI answers one question about one phase. Together they show who owns a delay.

KPIQuestionFromToCompared withOwner
RIFOTDid the supplier deliver in full and on time to the hub?PO Delivery DateGR Offsite (in full)PO Delivery DateSupplier, procurement
On-time GRHow long from physical receipt at the 3PL to the GR posting?3PL physical receiptGR Offsite postingGR KPI (days)3PL
Consolidation KPIHow long did goods stay at the hub before shipment started?GR OffsiteShipment StartStandard consolidation days per hub3PL, logistics
Sailing standardDid the sailing, clearance and inland leg meet the freight table?Shipment StartGR OnsiteLead Time − standard consolidationCarrier, forwarder
Logistics on-timeDid logistics as a whole meet the freight table?GR OffsiteGR OnsiteGR Offsite + Lead TimeLogistics
DIFOTDid the full quantity reach the site by the due date?PO Delivery DateGR Onsite (in full)Due Site DateSupply chain as a whole
Why the GR posting step matters. If the supplier delivered on time but the 3PL posted the receipt two days later, a hub-based RIFOT shows the supplier as late. Capturing the physical receipt date separates the two. The model accepts that date as an optional column and splits the delay accordingly.
Logistics on-time
Logistics late
Site on time
Healthy. Nothing to do.
Hidden logistics problem. The site is protected by an early supplier. Fix the process, not urgent.
Site late
Supplier cause. Escalate to procurement.
Logistics cause. Highest priority.

4Method

A rule-based forecast, in four steps, applied to every PO line and every receipt.

Step 1. Group the raw data

Raw data has one row per receipt (RTN). If the same PO line appears more than once with different RTNs, the line was delivered in parts. The model keeps both grains.

Step 2. Decide the stage of each PO line

Only events dated on or before the as-of date count. Quantities from all receipts of the line are summed.

StageTest (checked from the bottom up)
ReceivedQuantity at site ≥ PO quantity
On waterQuantity with a shipment start ≥ PO quantity
At hubQuantity posted at the hub ≥ PO quantity (in full at hub)
VendorOtherwise, including partially delivered lines

Step 3. Forecast the arrival

StageForecast arrivalLogic
VendorMAX(as-of, PO Delivery Date) + Lead TimeAssume the supplier delivers on its promise date. Once that date has passed, the earliest possible delivery is today.
At hubAs-of + (Lead Time − Std Consolidation)Best case: the goods leave the hub today. The standard consolidation is already behind them.
On waterShipment Start + (Lead Time − Std Consolidation)The departure date is a fact. Only the standard sailing remains.
ReceivedActual GR OnsiteFinal.
Assumption. Lead Time already includes the standard consolidation at the hub. Due Site Date = PO Delivery Date + Lead Time, and it must not be moved when a supplier delivers early.

Step 4. Compare with the target, then apply the bands

Assessment 1: site status (per PO line)

Target is the Due Site Date. It includes the supplier, so it answers whether the need is met. Only final when the line is in full.

Assessment 2: logistics status (per RTN)

Target is GR Offsite + Lead Time. The clock starts when the goods enter the hub, so the supplier is excluded and each delivery is judged alone.

Slack (target − forecast)StatusMeaning for action
> toleranceOntimeNo action
0 to toleranceProbably OntimeInside the escalation window: act now to keep it on time
−tolerance to −1Probably LateLate by up to the tolerance unless the departure or sailing is accelerated
< −toleranceLateLate even at standard sailing time
Tolerance = 0 (direct routes)Ontime / LateNo hub buffer, so no "Probably" classes

The tolerance before shipment is used for the vendor and hub stages; the tolerance after shipment is used on the water. Both are variables per hub, separately for the site and the logistics assessment.

5Formulas

Dates and standards

Due Site Date = PO Delivery Date + LT Logistics Target = GR Offsite (this RTN) + LT Remaining LT after hub = LT − Std Consolidation Last departure date = Due Site Date − (LT − Std Consolidation)

Quantities per PO line (events on or before the as-of date)

Qty at hub = Σ RTN qty with GR Offsite ≤ as-of In full at hub = (Qty at hub ≥ PO qty) Qty shipped = Σ RTN qty with Shipment Start ≤ as-of Qty at site = Σ RTN qty with GR Onsite ≤ as-of DIFOT = 1 if received in full and latest GR Onsite ≤ Due Site Date, else 0

Forecast, slack and status

Forecast(Vendor) = MAX(as-of, PO Delivery Date) + LT Forecast(At hub) = as-of + (LT − Std) Forecast(On water) = Shipment Start + (LT − Std) Slack = Target − Forecast (positive = early) Status = band(Slack, tolerance)

Where the days go: exact split of a late arrival

For a received delivery, the days late against the Due Site Date split exactly into four parts, because the Lead Time is the sum of the standard consolidation and the remaining standard:

Arrival − Due Site Date = (3PL receipt − PO Delivery Date) supplier + (GR Offsite − 3PL receipt) GR posting + (Shipment Start − GR Offsite − Std Consolidation) hub dwell vs KPI + (GR Onsite − Shipment Start − (LT − Std)) sailing vs standard

Worked example, computed live from the hub table

Probability layer (extension, section 10)

P(late) = share of N simulations with Forecast + hub overrun + supplier slip + transit noise > Due Site Date hub overrun, supplier slip = MAX(0, Normal(0, sd)) transit noise = Normal(0, sd)

6Parameter setup

Fill in this section before reading the results. A generic example is loaded.

6.1 General

Events after this date are ignored
3PL receipt to GR posting
Test set = 19 lines used to check against the Excel model

6.2 Hub parameter table

One row per route. Std consolidation is the number of days goods are normally held at the hub; it is part of the Lead Time. Tolerances are the escalation window in days. Set 0 for a direct route.

Placeholders. Every number here is a generic example. Logistics tolerances are set equal to the site tolerances until you decide otherwise.

6.3 Deliveries (one row per RTN)

PO-level fields (hub, PO quantity, promise date, lead time, cancelled flag, as-of override) are read from the first row of each PO line. Keep them identical on all rows of the same line. Cancelled = X removes the whole line. Leaving the as-of override empty uses the general date.

6.4 Probability layer settings (illustrative)

Vendor stage only
Vendor and hub stages
All open lines
200 to 10,000
Placeholders. These spreads are not estimated from data. In practice they come from the history of each supplier and lane (section 10).

7Results and what-if

Move the levers to see which orders change status, and why. All results recalculate instantly.

7.1 What-if levers

Clock moves forward, no new events
Vendor-stage lines only
Vendor and hub lines. 0 = depart today
All open lines. Negative = faster

7.2 Headline

7.3 Which orders are likely to arrive late

Ranked by probability of arriving late, then by slack. The status columns come from the rule-based model; the probability column is the extension in section 10.

7.4 Timeline of open and closed lines

7.5 Status counts, base against what-if

7.6 Logistics assessment per delivery, and where the days go

Columns on the right split the days against the freight table into supplier, GR posting, hub dwell against the KPI, and sailing against the standard. Negative = better than standard. A dash means the phase has not happened yet.

7.7 KPI chain from the data (not affected by the levers)

Percentages from the generic example only prove the formulas work. They are not performance figures.

7.8 Self-check against the Excel model

8Reading the results

Do not read "Probably Ontime" as safe

It means the order sits inside the escalation window. With the best-case assumption (depart today), a line with zero slack has no room for any variation. The probability column shows this: lines at zero slack often carry a high probability of late once variation is allowed.

Act on hub lines first

Vendor lines depend on a promise you cannot move. Water lines cannot be changed. Hub lines carry both a date and a lever, so they are the first call for escalation.

Read both statuses together

A line that is late on the site status and on time on logistics is a supplier problem. A line on time at the site but late on logistics is a hidden problem protected by an early supplier.

Test the levers one at a time

A hub hold of seven days and a sailing delay of seven days both add seven days to the arrival of a hub line. They differ in who owns the fix and when you can still act.

9Literature map

The rule-based model is the transparent baseline that recent research starts from. This map shows where three papers extend it.

Maturity ladder of the forecast

Level 0 · Rule-based bands (this model)Fixed lead time per route, fixed tolerance per hub, four labels. Transparent, easy to audit.
Paper 1 baselinePaper 2 baseline
Level 1 · Probability of lateReplace the single date with a distribution built from history, so each order carries a probability and an interval.
Paper 2Paper 3
Level 2 · Days late, not just a labelFirst classify late or not, then predict the number of days late. This is the "predicted days late" the model still lacks.
Paper 3
Level 3 · Adaptive thresholdsTolerances that move with observed variability per route, instead of one fixed band per hub.
Paper 1
Level 4 · Decision rulesTurn probabilities into actions with a cost rule: expedite, warn the site, or accept.
Paper 2
Where each model part comes from. H1 fixed tolerance bands → Paper 1 baseline. H2 static freight-table lead time → Paper 2 baseline. H3 four labels without days late → Paper 3. H4 "vendor delivers on time" assumption → probability layer (Papers 2 and 3).

Paper 1 · Intelligent Early Warning System for Supplier Delays

Dynamic IoT-calibrated probabilistic modelling in engineer-to-order supply chains.

IdeaCompares a fixed-threshold warning system with an adaptive one. Fixed thresholds keep false alarms low in stable conditions; adaptive thresholds detect better in high-risk conditions.
MappingOur tolerance per hub is the fixed-threshold baseline. The next step is to set it from observed variability of each lane.

Paper 2 · Conformal Predictive Distributions for Order Fulfillment Time Forecasting

Forecasting the distribution of fulfilment time, with a cost rule for decisions.

IdeaStatic table-based rules fail to capture uncertainty. A predicted distribution identifies late shipments better and feeds a cost-based decision rule.
MappingOur freight table is the static baseline. The probability layer in this page is a simple stand-in for a predicted distribution.

Paper 3 · Uncertainty-Aware Delivery Delay Duration Prediction via Multi-Task Deep Learning

Classify delay first, then predict its duration.

IdeaPredicting how long a delivery is late, not only whether it is, supports probabilistic forecasting.
MappingOur four labels correspond to the classification step. The days-late column in section 7 is the duration step in rule-based form.
Reading note: only the abstracts and introductions of these papers were reviewed, and two of them are preprints. Their datasets (engineer-to-order manufacturing, e-commerce, industrial delivery) differ from import purchase orders, so their reported accuracy figures do not transfer to your data.

10How to perfect the model

Nine gaps, what closes each one, and whether this page already shows it.

#Gap in the rule-based modelUpgradeOn this pageData needed
1"Vendor on time" assumption makes the vendor stage look safeProbability of late from supplier and lane history, plus the supplier's confirmed dateLive (placeholder spreads)Confirmed date, acknowledgement, reschedule count
2Fixed tolerance for every supplier and laneDerive the band from a percentile of historical lead time per routeRoadmap20 to 30 completed deliveries per route
3Hub forecast assumes departure todayUse the planned consolidation or cut-off date; test hub-hold scenariosLever liveBooking and vessel schedule per route
4GR posting lag hidden inside supplier delayCapture the physical 3PL receipt date and split the delayLive (optional column)3PL physical receipt date
5Partial deliveries judged as one lumpJudge logistics per receipt, in full per lineLiveReceipt-level quantity and dates
6Standard sailing time, no vessel signalFeed vessel ETA and port events once the shipment is on the waterRoadmapCarrier or tracking feed
7No feedback loopDaily snapshot of status per line, then hit rate, bias and tracking signal of the ETA errorRoadmapSnapshot table in the dataflow
8Only a label, no priorityAdd days late, value, criticality and need date; rank by riskDays and probability liveNeed date, value, criticality
9Outbound not measured the same wayRun the same engine on shipments leaving the siteLive (direction switch)Ready date, hub receipt, vessel departure, customer receipt

Back-test routine for upgrade 7

Store one row per PO line per day with its status. When a line closes, compare its status at day T−14 with the outcome:

Hit rate (Probably Late) = lines labelled Probably Late or Late at T−14 that arrived late ÷ lines labelled so Missed late = lines that arrived late but were Ontime or Probably Ontime at T−14 Bias of ETA error = average of (actual arrival − forecast arrival) Tracking signal = cumulative ETA error ÷ MAD investigate when it passes ±4

Recalibrate each tolerance when the hit rate drifts. A lower tolerance raises the share of Late labels and lowers the share of missed late lines; the right value balances false alarms against missed warnings for your business.

Suggested build order

  1. Capture the 3PL physical receipt date and the supplier's confirmed date (small data change, large attribution gain).
  2. Start the daily snapshot now; it takes months to fill and every later upgrade depends on it.
  3. Estimate spreads per route from history and replace the placeholder spreads.
  4. Add the planned departure date at the hub, then vessel ETA.
  5. Rank open lines by risk, value and need date.

11Limits and sources

Limits.
  • All example values (lead times, hubs, tolerances, dates) are generic placeholders, not company data.
  • The forecast is rule-based with fixed standard lead times. It has no vessel ETA, no supplier confirmation date and no lead-time history.
  • The probability layer uses spreads you type in. It is an illustration of the idea, not a calibrated model.
  • A line counts as in full only when the summed quantity reaches the PO quantity. Over-delivery counts as in full; units must match.
  • Latest GR Offsite is used as the in-full date. If an extra receipt arrives after the line is in full, the date moves.
  • Logistics tolerances are placeholders. Not validated on live data.

Sources