OLIST GROWTH AUDIT Tableau ↗

A data story in five acts · 99,441 orders · Brazil, 2016–2018

Growth was never
Olist's problem.

Between January 2017 and August 2018, Brazil's largest marketplace-of-marketplaces multiplied its monthly orders more than nine times. This is the story of what that growth cost — and where it strains next.

Scroll to begin

Act I · Scale

First, establish the fact:
the growth was real.

Before judging whether growth was healthy, prove that it happened. Over the twenty complete months from January 2017 to August 2018, Olist went from a curiosity to a machine — 800 orders in the first month, 6,512 in the last, with a Black Friday record of 7,544 in between.

Orders accelerated through 2017 — and never fell back

Monthly orders, Jan 2017 – Aug 2018 · partial months (Sep–Oct 2018) excluded

View the data

Revenue tracked volume almost exactly

Monthly payment value (R$), Jan 2017 – Aug 2018

View the data

…while the average order barely moved

Average order value (R$), axis from zero · range R$147–174

View the data

Act II · Sources

The growth has an address —
and a habit.

Totals hide geography. Break the same twenty months apart and the growth stops looking national: it is a story about the Southeast, about a handful of product categories, and about customers who almost never come back.

Three states carry 63% of all payment value

Payment value by customer state · darker = more · hover any state for its full scorecard

View the data

Ten categories explain 62% of revenue

Payment value by product category, top 10 of 74 · Jan 2017 – Aug 2018

View the data

Four in five reais arrive by credit card

Share of payment value by primary payment method

View the data

96.9% of customers bought exactly once

Each dot is 1% of Olist's 95,774 customers, Jan 2017 – Aug 2018

3.1%

of customers ever placed a second order. Repeat buyers contributed just 6.4% of all orders — meaning nearly every month of record growth had to be re-purchased from scratch with new-customer acquisition.

Act III · Strain

Then the growth engine
started to smoke.

Healthy growth means more orders without losing delivery reliability or customer trust. Read the growth curve against its two operational shadows — the late-delivery rate and the review score — and the story changes. The three charts below share one time axis; scroll and watch the same months get re-read three ways.

2017

Through 2017, delivery kept pace

Orders grew month after month while the late-delivery rate stayed between 3% and 9% and reviews held near 4 stars. The system was absorbing growth.

Nov 2017

Black Friday sets a record

7,544 orders in a single month — 9.4× the January level. The spike itself was absorbed. But volume never returned to its old baseline, and the fulfilment network now had to run at record load permanently.

Feb – Mar 2018

The bill arrives

Average delivery stretches to 16.5 days. In March, 19% of deliveries arrive late — one in five — and the average review score bottoms out at 3.75, its lowest point in the entire dataset. Growth didn't slow; trust did.

Apr – Aug 2018

Recovery — at a price

By August, late deliveries fall back to 6.2%, delivery time to 7.3 days, and reviews recover to 4.26. But look at the top chart: orders plateau near 6–7k. The recovery is real — and so is the capacity ceiling it reveals.

Act IV · Diagnosis

The bottlenecks are not everywhere.
They have names.

Averages spread blame evenly; the data does not. The strain of Act III concentrates in specific states, specific categories, and one side of the marketplace almost nobody looks at — where the sellers are.

A tale of two states

São Paulo Growth engine

Payment value
R$6.0M 37% of total
Late deliveries
4.5%
Avg delivery
8.3 days
Avg review
4.17 ★

Rio de Janeiro High-value bottleneck

Payment value
R$2.1M 13% of total — the #2 market
Late deliveries
12.1%
Avg delivery
14.9 days
Avg review
3.88 ★

Same country, same platform, same period. Olist's second-largest market runs nearly 3× the late-delivery rate of its first.

The biggest categories are not the best-loved ones

Top 18 categories · x = payment value · y = avg review score · bubble = orders · reference lines = top-18 averages

View the data

Seven of every ten orders ship from a São Paulo seller

Late-delivery rate by seller state (states with ≥ 100 orders) · bar labels show order volume

View the data

Act V · Outlook

If nothing changes, the strain
scales with the sales.

Forecasts here are directional signals, not promises. But the direction is unambiguous: on trend, Olist enters the next Black Friday at a permanently higher base load — with the same network that buckled at the last one.

On trend: ~7,500 orders a month by December 2018

Solid = observed · dashed = linear projection of the trailing 12 months — a directional sketch; the formal exponential-smoothing forecast lives in Dashboard 5 below

View the data

Where growth risk should be managed first

States ranked by a composite priority score: 0.4×payment (R$M) + 3×late rate + 2×low-review rate + freight share — value at risk × operational risk

What Olist should do — in order

  1. Fix the Rio route

    The #2 market runs a 12.1% late rate and a 3.88★ average. Regional fulfilment capacity or carrier SLAs for RJ protect more revenue per real spent than anything else on this list.

  2. Put bulky home categories on a freight plan

    Bed, Bath & Table and Furniture & Decor pair top-five revenue with bottom-tier satisfaction. Weight-based carrier selection and honest delivery estimates would attack the 16.5% low-review rate at its cause.

  3. Earn the second order

    With a 3.1% repeat rate, retention is the cheapest growth Olist isn't buying. Every point of repeat purchase is a point of growth that doesn't need to be acquired — and reliable delivery is the strongest known driver of that second order.

Olist's growth was real. Whether it is sustainable depends on fulfilment keeping pace in the exact states and categories where the value sits.

Growth can be bought. Health has to be built.

About this project

The data

The Olist Brazilian E-Commerce dataset (Kaggle): 99,441 real, anonymized orders placed between 2016 and 2018 across nine relational tables — orders, items, payments, reviews, customers, sellers, products and geolocation. Analysis covers the twenty complete months Jan 2017 – Aug 2018; partial months are excluded and noted wherever it matters.

The method

Raw tables were joined into an order-level base and monthly / state / category health tables in Python (pandas). Interactive dashboards were built in Tableau and published to Tableau Public; the narrative charts on this page are hand-built SVG driven by the same prepared tables, so both layers always agree.

The course

Final project for Data Visualization at Johns Hopkins University, Summer 2026, by Rongze Gao. Every chart follows the course toolkit: conclusion-style titles, position over angle, one axis per chart, annotated extremes, and color that always means the same thing — scale, healthy, warning, risk.