1. Home
  2. Work
  3. 01

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%.

Data
Olist orders, items, sellers, reviews and payments, nine CSVs from a public Kaggle dataset
Scale
99,441 orders, 112,650 line items, 3,095 sellers
In the repository
01-seller-risk · findings memo
Reproducibility
56 of 56 figures reproduced exactly on the 2026-09-07 fresh pull.
01

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?

02

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.

03

What the source did

  1. ·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.
  2. ·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.
04

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.

05

Finding

The ten worst ranked sellers by late rate

The ten worst ranked sellers by late rateHorizontal bars for the ten worst of the 1,514 ranked sellers, late rate in percent: 64.3 (9 late of 14 orders), 57.1 (4 of 7), 55.6 (5 of 9), 44.4 (4 of 9), 42.9 (3 of 7), 41.7 (5 of 12), 37.5 (3 of 8), 37.5 (3 of 8), 36.4 (4 of 11), 33.3 (8 of 24). A dashed line at 10% marks where most ranked sellers sit, as stated in the project's README; it is not a computed cut.010203040506070seller b1b39487: 9 late of 14 orders, 64.3%b1b3948764.3% 9 of 14seller 312ba1d7: 4 late of 7 orders, 57.1%312ba1d757.1% 4 of 7seller 973f2178: 5 late of 9 orders, 55.6%973f217855.6% 5 of 9seller 95b29386: 4 late of 9 orders, 44.4%95b2938644.4% 4 of 9seller 5acd070d: 3 late of 7 orders, 42.9%5acd070d42.9% 3 of 7seller 26e2c91e: 5 late of 12 orders, 41.7%26e2c91e41.7% 5 of 12seller 538caafd: 3 late of 8 orders, 37.5%538caafd37.5% 3 of 8seller c990d6cf: 3 late of 8 orders, 37.5%c990d6cf37.5% 3 of 8seller cb41bfbc: 4 late of 11 orders, 36.4%cb41bfbc36.4% 4 of 11seller 821fb029: 8 late of 24 orders, 33.3%821fb02933.3% 8 of 24most of the 1,514 ranked sellers sit under 10%
The ten worst ranked sellers by late rateHorizontal bars for the ten worst of the 1,514 ranked sellers, late rate in percent: 64.3 (9 late of 14 orders), 57.1 (4 of 7), 55.6 (5 of 9), 44.4 (4 of 9), 42.9 (3 of 7), 41.7 (5 of 12), 37.5 (3 of 8), 37.5 (3 of 8), 36.4 (4 of 11), 33.3 (8 of 24). A dashed line at 10% marks where most ranked sellers sit, as stated in the project's README; it is not a computed cut.0204060seller b1b39487: 9 late of 14 orders, 64.3%b1b3948764.3%seller 312ba1d7: 4 late of 7 orders, 57.1%312ba1d757.1%seller 973f2178: 5 late of 9 orders, 55.6%973f217855.6%seller 95b29386: 4 late of 9 orders, 44.4%95b2938644.4%seller 5acd070d: 3 late of 7 orders, 42.9%5acd070d42.9%seller 26e2c91e: 5 late of 12 orders, 41.7%26e2c91e41.7%seller 538caafd: 3 late of 8 orders, 37.5%538caafd37.5%seller c990d6cf: 3 late of 8 orders, 37.5%c990d6cf37.5%seller cb41bfbc: 4 late of 11 orders, 36.4%cb41bfbc36.4%seller 821fb029: 8 late of 24 orders, 33.3%821fb02933.3%most sit under 10%
Sellers with at least 7 orders, the median, labelled by the first eight characters of their id. The dashed line marks where most ranked sellers sit, as stated in the project’s README; it is not a computed cut.01 · Olist Brazilian e-commerce
Data behind this chart
Ten worst ranked sellers, 01
SellerOrdersLateLate rate
b1b3948714964.3%
312ba1d77457.1%
973f21789555.6%
95b293869444.4%
5acd070d7342.9%
26e2c91e12541.7%
538caafd8337.5%
c990d6cf8337.5%
cb41bfbc11436.4%
821fb02924833.3%
  1. A threshold from the data, not from feel.At least 7 orders, the median, leaves 1,514 of 3,095 sellers to rank.
  2. The bulk sits under 10%.Late rate clusters well under 10% for most ranked sellers and falls off fast after that.
  3. 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.

06

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.
07

Artifacts

  • The notebook with every query, and the findings memo; the charts for this project live inside the notebook
08

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.

CI status for this project
Figures in the manifest56
Reproduced exactly, 2026-09-0756
Notebook20 cells, 7.6 s
09

Sources

  1. Olist Brazilian E-Commerce, a public Kaggle dataset: nine files, fetched by the CI at their committed sizes.
  2. The findings memo in 01-seller-risk/memo.