Project 01 · Olist Brazilian e-commerce, 9 CSVs
Seller Risk Scoring
Most sellers deliver reliably. Once sellers with too few orders to judge are set aside, late rates sit under 10% for the bulk of the 1,514 that remain, and a small tail runs from 30% up to 64.3%.
The question
Which sellers on the platform have a pattern of shipping late, and how do you rank them fairly when half the sellers have seven orders or fewer?
The data and its scale
Nine CSVs loaded into DuckDB: 99,441 orders and 112,650 line items across 3,095 sellers, with estimated and actual delivery dates per order.
What the source did
- ·Order status and delivery dates disagree in two directions. 8 orders are marked delivered with no delivery date on file, and 6 orders marked canceled carry a real delivery date: delivered first, canceled afterward. I noticed because an aggregate subtraction was off by exactly 2; the two anomalies partly cancel in the totals and only show at row level. Both groups are excluded, leaving 96,470 delivered orders, which arrive 11.9 days early on average.
- ·Sorting by late rate alone is useless. The first ranking put single-order accounts at the top, where one late delivery is a 100% late rate.
Method
Orders were joined to sellers and rolled up per seller: orders, late orders, late rate. Rather than pick a minimum-sample cutoff by feel, I checked the order-volume distribution directly: median 7, first quartile 2, third quartile 22, maximum 1,819. The median became the threshold, and 1,514 of 3,095 sellers have at least 7 orders and are ranked.
Finding
The ten worst ranked sellers by late rate
Data behind this chart
| Seller | Orders | Late | Late rate |
|---|---|---|---|
| b1b39487 | 14 | 9 | 64.3% |
| 312ba1d7 | 7 | 4 | 57.1% |
| 973f2178 | 9 | 5 | 55.6% |
| 95b29386 | 9 | 4 | 44.4% |
| 5acd070d | 7 | 3 | 42.9% |
| 26e2c91e | 12 | 5 | 41.7% |
| 538caafd | 8 | 3 | 37.5% |
| c990d6cf | 8 | 3 | 37.5% |
| cb41bfbc | 11 | 4 | 36.4% |
| 821fb029 | 24 | 8 | 33.3% |
- A threshold from the data, not from feel.At least 7 orders, the median, leaves 1,514 of 3,095 sellers to rank.
- The bulk sits under 10%.Late rate clusters well under 10% for most ranked sellers and falls off fast after that.
- The tail is real.A small group runs from 30% to 64.3%. The worst ranked seller has 9 late orders out of 14.
The tail looks different in kind from the rest, not like the unlucky edge of a wide spread, and that is where the platform’s delivery risk concentrates.
What this cannot tell you
- Olist records one delivery date per order, not per seller shipment, so on a multi-seller order every seller inherits the same lateness.
- The threshold is a median: a defensible choice, and not the only one.
- Any outcome. Public data, so no intervention followed.
Artifacts
- The notebook with every query, and the findings memo; the charts for this project live inside the notebook
Reproducibility
The CI downloads the nine Olist files when they are absent, checks them against their committed sizes and runs the notebook on a clean checkout. On 2026-09-07 all 56 quoted figures came back exactly.
| Figures in the manifest | 56 |
|---|---|
| Reproduced exactly, 2026-09-07 | 56 |
| Notebook | 20 cells, 7.6 s |
Sources
- Olist Brazilian E-Commerce, a public Kaggle dataset: nine files, fetched by the CI at their committed sizes.
- The findings memo in 01-seller-risk/memo.