Karoo Online
What South Africa
Buys Online
A real 1,000-product catalogue, a million orders, and the marketing and machine
learning that turn them into decisions.
DATA & ANALYTICS REVIEW · 4 YEARS: JUL 2022 – JUN 2026 · ANTHONY APOLLIS
Why we existThe Karoo Way
Mission
The online marketplace every South
African household trusts — stocking what people need, delivered reliably.
Promise
Honest pricing and a delivery date we
keep. When we fall short, the data tells us.
Reach
Nine provinces, one catalogue built for
the whole country — not just the metros.
Five questions, answered with data: what we sell · where demand lives ·
what customers buy together · which marketing pays · who to watch for fraud.
Where the data comes fromOne Central Source of Truth
Five sources — a marketplace catalogue, web & app analytics, orders and marketing —
land in one governed lakehouse (karoo_db on AWS). Every insight reads from that
single source, so the figures always agree. Time horizons: the revenue history spans
four years (Jul 2022 – Jun 2026) for trend and seasonality, while the deep-dive analyses
(catalogue, behaviour, churn, fraud) focus on the most recent trailing period for freshness.
How the web data is capturedGoogle Tag Manager in Action
Before any analysis, the behaviour has to be captured.
Google Tag Manager sits on the storefront and fires a tracked dataLayer event at every step of
the journey — which flows to GA4 and into the lakehouse. This is the front door of the whole pipeline.
Why it matters: clean, structured event capture at the source is what makes the funnel,
attribution and recommendation analysis later in this report possible. No tags, no data — no insight.
Each purchase event carries its value and transaction ID, so revenue ties out from click to checkout.
Why you can trust the numbersHow the Figures Reconcile
A report is only as good as its numbers. Here is how every
figure in this document is reconciled — guaranteed to agree from the moment of the sale to the KPI
on the page — and the technology that makes that possible.
The principle — one source of truth: the value captured at checkout is the same
value that lands in S3, gets transformed by Athena, and appears in this report. Nothing is re-keyed or
re-estimated along the way. Validation gates (null, duplicate, referential-integrity and
revenue cross-checks) run before any figure is trusted — our catalogue-to-orders join, for example,
resolved 100% of IDs. The tech guarantees it: a single Glue catalogue means every tool reads
one schema; an immutable S3 raw zone means the source never shifts; deterministic Athena ETL means the same
input always yields the same output; and Terraform means the whole pipeline is reproducible on demand. That
is why, across catalogue, marketing, customers and finance, the figures always agree.
What we sell · real catalogue1,000 Real Products
R492
Median price · R25–R53,451
General Merchandise
355
median R513
Home & Kitchen
214
median R592
Electronics
168
median R424
Beauty & Health
45
median R346
Sport & Outdoor
29
median R533
Toys & Games
27
median R386
Availability beats price: only 17% ships fast; 59%
is imported on 4–16 day lead times. Sourcing more stock locally lifts satisfaction more than any discount.
Where demand livesThe Interactive Map
Metro vs interior: the top 3 provinces are 72% of revenue and deliver
72% on-time in 2.9 days — the interior manages just 32% in 4.7 days. Geography, not
courier, decides speed. Hover any province for its full stats.
Four years of growth · pick your windowRevenue Over Time
The full trading history — Jul 2022 to Jun 2026,
48 months. Use the 1Y / 2Y / 4Y buttons or drag the slider to choose a time frame; the oil-crisis window is shaded.
The trajectory: ~22% annual growth over four years to
R44.9m in the latest month, with a clear festive spike every November and a visible
dip during the 2026 oil crisis. Total revenue across the period: R1.6bn.
Which marketing paysPaid & Remarketing
Google Shopping
Best channel (4.7×)
Remarketing is the cheat code: Email Flows (automated) returns
19× — put budget into recovering carts before chasing new clicks.
Free traffic & the AI frontierSEO & AI Visibility
AI visibility — being found inside AI answers
The new SEO: 1,592 page-1 keywords drive free traffic, but a
19% share of voice in AI answers is the next battleground — customers increasingly
ask ChatGPT and Google AI, not just Google Search.
From data to decisionsThe Machine-Learning Journey
Machine learning here is never a black box or a buzzword — it's a
disciplined path from a real business question to an action a team can take. Every model in this report walks
the same five steps, and is graded honestly against a naive baseline.
How to read the scorecard: a model only earns its place if it beats the baseline
and drives a decision worth more than the effort. Two honest lessons stand out — the
delivery predictor barely beats a linear baseline (delivery time is an additive process, so no model
can do much better; knowing when not to over-engineer is a skill), while no single fraud signal is
enough, but stacking them lifts a 65%-precision model into a 91%-precision review queue. The next
three pages are the deep-dives — recommendations, correlations, and fraud — each following this same journey.
What customers buy togetherRecommendations
| Bought together | Lift | Confidence |
|---|
| Automotive + Sport & Outdoor | 1.38× | 72% |
| Electronics + Sport & Outdoor | 1.38× | 72% |
| Automotive + Electronics | 1.38× | 72% |
| Baby & Kids + Toys & Games | 1.28× | 68% |
| Baby & Kids + Fashion | 1.24× | 70% |
Automotive + Sport & Outdoor at 1.38× — cross-sell these pairs on product
pages and in cart. The highest-ROI output of the whole dataset.
The customer over timeLifetime, Loyalty & Churn
R37,201
Avg lifetime value
The leaky bucket: retention falls from 86% at month 1 to
49% by month 6, and the top 10% of customers drive 39% of all
lifetime value. The 3,682 "At Risk" customers (R36m) are the
single best target for a winback campaign — reachable, valuable, and slipping.
When the world moves the needleExternal Shock: The 2026 Oil Crisis
The 2026 Strait of Hormuz Crisis (28 Feb - late Jun 2026 (US-Iran deal ~29 Jun 2026)) drove Brent crude
from ~$70 to a peak of $120/bbl (intraday $126, +71%)
in 2026-03 — the largest energy-supply disruption since the 1970s. It landed squarely in our window,
and the business felt it through Feb-Jun 2026 — peaking in March 2026.
Two channels of impact: fuel-linked delivery cost rose to R55.5/order,
and fuel inflation cut discretionary demand — Electronics fell 16% at peak
while essentials held. Total over the crisis: ~R14.7m margin hit
(R13.1m revenue + R1.6m delivery). It eased from June as the
US-Iran deal reopened the strait. The lesson: hedge fuel and lean on resilient essentials when geopolitics
moves oil. (Business impact modelled on the real Brent price path.)
Signals & safetyCorrelations & Fraud
Correlations: metro→faster delivery (-0.63),
discount→basket (+0.36), late→returns (+0.18).
Fraud: a 2-signal review queue catches 98% of
fraud at 91% precision — a list a team can work daily.
What we do nextThe Playbook
How the data & ML pay back: every action below is
bought by a specific analysis — recommendations from market-basket ML, budget shifts from ROAS analysis,
winback from the churn model, fraud savings from the Isolation Forest. Data isn't a report; it's a
decision engine.
1Fix availability
59% is imported — source locally to lift satisfaction.
2Double down on remarketing
9× ROAS vs 3.3× on cold paid — shift budget.
3Cross-sell proven pairs
Put Automotive + Sport & Outdoor on product & cart pages.
4Speed up the interior
A regional hub cuts both delivery time and returns.
5Win back "At Risk" customers
3,682 slipping accounts worth R36m — target before they churn.
6Hedge the discretionary mix
Oil shocks hit Electronics hardest; lean on resilient essentials when fuel spikes.
7Grow AI visibility
Push beyond 19% share of voice in AI answers.
8Run the fraud queue
1,220 accounts, 91% precision.
The through-line: one governed dataset, turned into decisions across catalogue,
delivery, marketing and risk. That's The Karoo Way — measured honestly, and acted on.
How it was builtTools & Methodology
| Layer | Tool | Role |
| Web extraction | Python scraper | The 1,000-product marketplace catalogue. |
| Infrastructure | Terraform | Every AWS resource as code. |
| Ingestion | AWS Lambda | Serverless data loading. |
| Central store | S3 + Glue Catalog | One lakehouse — karoo_db. |
| ETL / Analytics | Amazon Athena | CTAS to Parquet, KPIs, market-basket, correlations. |
| Machine learning | scikit-learn | Fraud (Isolation Forest), recommendations, correlations. |
| Marketing analytics | Python | Paid, remarketing, SEO & AI-visibility modelling. |
| Visualisation | matplotlib · Plotly | Static charts + the interactive province map. |
Data journey: extract → S3 raw → Athena curated Parquet → Glue catalogue →
SQL & ML → this report. One governed source of truth, serverless throughout, every step in code.