What is the chance a delivery arrives on time?
Fit plausible distributions to comparable past lead times, then measure the share that arrive within the promised time. In this synthetic example, 77.8% of 18 completed deliveries took at most 10 days. A lognormal fitted to those observations gives 73.8% on-time outcomes in 10,000 simulated deliveries. The history is deliberately small: this is an illustration, not a carrier’s performance record.
The history and the promise
History!B2:B19 contains 18 synthetic elapsed lead times in days, from 3.2 to 24.3, with a mean of 8.4. Fractions of a day are retained. On the Delivery sheet, B2 holds the 10-day promise and B4 is the uncertain lead time.
Three formulas make the result explicit: B6=B4 reports the lead time, B7=B6-B2 reports signed lateness and B8=IF(B6<=B2,1,0) flags an on-time delivery. Arrival exactly at the promise counts as on time. Negative lateness means early arrival. The model draws one future delivery per trial; it has no activity network, calendars, capacity queues or sequence of project tasks.
Compare plausible distributions
The example compares lognormal, gamma and Weibull distributions, each fitted by maximum likelihood with its lower bound fixed at zero. These positive families allow a long right tail: occasional slow deliveries. The table ranks these three candidates by AIC, a measure of fit with a penalty for the number of estimated parameters; lower is better.
| Family | AIC | ΔAIC | K-S | On time | P90 days |
|---|---|---|---|---|---|
| Lognormal | 101.58 | 0.00 | 0.100 | 73.8% | 13.8 |
| Gamma | 104.44 | 2.86 | 0.137 | 70.1% | 14.2 |
| Weibull | 107.62 | 6.04 | 0.166 | 66.7% | 15.1 |
Lognormal has the lowest AIC among these candidates. That ranking is a relative comparison, not proof that it is the true distribution. The K-S distance is the largest gap between the observed and fitted cumulative probabilities; smaller means a closer in-sample match. Its usual p-value is optimistic when the same observations were used to estimate the parameters.
From a fitted shape to an on-time probability
Under the fitted lognormal, the simulated median lead time is 7.3 days and P90 is 13.8 days. P90 is a modeled promise met by about nine deliveries in ten, not a 90% confidence interval for the true lead time. The probability of meeting the current 10-day promise is 73.8%; the remaining 26.2% arrive later.
The observed on-time share and the fitted probability need not match. One counts this finite history at a single threshold; the other uses a smooth distribution fitted to all its values. The table also shows how the choice of family changes the prediction.
A small sample remains small after simulation
Running 10,000 trials reduces numerical noise in the fitted model’s answer. It does not turn 18 observations into 10,000 pieces of real evidence. The simulation holds the fitted parameters fixed; it does not include uncertainty about their estimates or the choice of family.
With so little history, a few slow deliveries can move the fitted tail substantially. Check the individual observations and the histogram or P-P plot, compare plausible families, and test predictions against later deliveries. Before fitting real data, separate routes or service levels that behave differently and check for trends. An order still in transit has an incomplete lead time: dropping all such orders can make performance look faster than it is.
This fit describes comparable completed deliveries under stable conditions. It does not model a new supplier, a strike, a changed route or a shared disruption that delays many orders together. Those need explicit assumptions or scenarios beyond this one-delivery example.
Try it yourself
- Open the example and run it. Its saved input is the lognormal fitted to the bundled history, with the on-time flag as a target.
- On the Distributions step, select
Delivery!B4, choose From data, enterHistory!B2:B19and choose Fit range. The app tries additional suitable families, so its full ranking can differ from this three-family comparison. - Review the fitted shapes and their support, select a plausible family and use it for the input. Run again and compare the on-time target and P90.
- If you replace the history, fit it again and apply the new distribution. A fitted input is a snapshot of the data, not a live link that automatically refits after an edit.
Questions
How many historical deliveries are enough?
There is no universal number. Tail promises need more evidence than a typical delivery time, and changing or mixed processes can make a large sample misleading. This small example demonstrates the workflow; it does not establish a reliable service guarantee.
Should I use the family with the lowest AIC automatically?
No. Check whether its range and tail make operational sense, whether close alternatives change the decision and whether later data support its predictions. A fit can describe the observed sample well and still predict the future poorly.
Is this the same as project schedule risk analysis?
No. This model fits the elapsed time of a single delivery from historical observations. Project schedule risk analysis combines uncertain activities, dependencies and risk events to calculate a project finish.
Related
- Guide
Schedule risk analysis: why projects finish late
A building schedule of most likely durations says week 55, yet only 14.3% of simulated outcomes finish by then. Why, and how to set a P80 finish. - Guide
PERT distribution in Excel: formula, mean and when to use it
A PERT is a beta distribution from min to max with mean (min + 4 × likely + max)/6. The Excel BETA.INV formula, and PERT vs triangular. - Guide
P50, P80 and P90: what they mean and which to budget at
P80 is the cost 80% of simulated outcomes stay under. Six building cost items’ P80s add up to 2,843, but their sum’s P80 is 2,756 (USD thousands).
xellstorm is a browser-based Monte Carlo simulation tool for Excel models: no add-in, and the workbook never leaves your computer.