Process mining · Olist Brazilian e-commerce

Olist Order Process Intelligence

Every delivered order is one case, decomposed into three stages between purchase and delivery. Two questions: which stage causes late deliveries, and what does lateness cost in customer satisfaction?

95,082 cases · Sep 15, 2016Aug 29, 2018

Clean case set

95,082orders

98.5% of the 96,486 delivered orders retained; 1,404 excluded for broken timestamps.

Late deliveries

8.2%

7,792 orders arrived after their estimated delivery date.

Median delivery time

10.3days

Purchase to customer delivery, across all three process stages.

Review score cliff

4.29 → 1.71

Mean review score, on-time versus 15+ days late — a 60% fall.

The review cliff

Mean review score by how late the order arrived. Satisfaction does not decay gently — it falls 1.45 points between "1–3 days late" and "4–7 days late", the steepest step on the scale.

Source: olist_review_by_delay.csv. Covers 94,443 cases — the 639 cases with no review score are dropped, so these counts sit slightly below the case table's. The on time / early bucket absorbs all early deliveries, which is the large majority.

Where does the time go

The three stages of one order's lifecycle. Approval is effectively instant; the carrier handoff is where sellers control the clock, and transit is the bulk of it.

  • Purchase → approval0.3 h median9.7 h mean0.2%
  • Approval → carrier handoff44.4 h median68.4 h mean20.6%
  • Carrier → customer transit7.11 d median9.36 d mean79.2%

Medians are not additive. The three stage medians sum to 8.97 days, while the median end-to-end time is 10.27 days. The bar shows each stage's share of that summed median, not a decomposition of the median total. The means do decompose exactly — hover any segment to compare.

Computed from olist_cases_clean.csv over all 95,082 cases. Stage spans are defined in the methodology note below; each stage is shown in its natural unit because a sub-hour stage and a multi-day stage cannot share a linear axis.

Worst-offending sellers

The 15 slowest sellers by average approval → carrier handoff — the one stage attributable to the seller rather than the logistics network. 15 of them sit above the 200 h threshold.

Top 15 sellers by average approval-to-carrier handoff time, minimum 20 orders.
#Seller IDOrdersAvg handoffIn days
166e0557eccoutlier30430.2 h17.9 d
254965bbe3eoutlier70372.5 h15.5 d
35058e8c1e8outlier61366.5 h15.3 d
46fd52c528doutlier67332.6 h13.9 d
517f51e7198outlier55287.3 h12.0 d
6ad781527c9outlier35285.4 h11.9 d
7cee4880721outlier38282.8 h11.8 d
87c67e1448boutlier966274.2 h11.4 d
9d71d863e5eoutlier22261.7 h10.9 d
102eb70248d6outlier185261.1 h10.9 d
118444e55c1foutlier91256.5 h10.7 d
12a7f13822ceoutlier73252.9 h10.5 d
13a2e874074coutlier40251.4 h10.5 d
14835f0f7810outlier41230.5 h9.6 d
15054694fa03outlier20227.0 h9.5 d

Source: olist_seller_bottlenecks.csv, which ranks 788 sellers filtered to those with at least 20 orders. Seller ids are truncated for display; they are anonymised in the source dataset. A high average here is not proof of fault — order mix and product type are not controlled for.

Late rate by customer state

The 10 worst and 5 best of 27 customer states. AL runs 2.9× the national late rate of 8.2%.

Worst 10 by late rateBest 5 by late rate

Derived from olist_cases_clean.csv — note there is no olist_by_state.csv in data/, so these figures are aggregated from the fact table directly. Read the “best” five with care: they average 21.3 days to deliver, well above the national median of 10.3 days. They score well because their estimated dates are padded, not because they are fast. 2 of them (AC, n=77; AP, n=67) also rest on a small sample.

Monthly trend

Late rate and median delivery time by purchase month, Oct 2016 – Aug 2018. Shown as two charts on separate axes rather than one dual-axis chart, so neither line's shape distorts the other.

Late rate (% of orders)

Median total delivery time (days, purchase → delivery)

Late rate from olist_monthly_stages.csv; median total days computed from olist_cases_clean.csv (the rollup carries means, not medians). Months with fewer than 30 orders are dropped as noise — 2016-09 (n=1), 2016-12 (n=1). November 2016 has no records at all; the lines break at each gap rather than interpolating across it.