A conversion funnel from pageviews
Sessionize the pageviews with a 30-minute gap, join carts and orders, and the funnel falls out: visits, add-to-cart, checkout, order. Abandonment sits where the industry says it does.
Demo data for E-commerce
Carts that are abandoned seven times in ten, springs that sell and Februaries that do not, a few collectors who carry the revenue, and shipments that wait out the frost. Downloadable, deterministic, three years deep.
The ones people download stopped in the 1990s or start at the order. Northwind has no carts. Kaggle CSVs have one flat table and a date range that ended years ago. Neither can answer the question an e-commerce audience asks first: what happened before the order, and what happened to the ones that never became one? Random generators answer it with noise. Abandonment becomes whatever probability you typed in. The pageviews before it and the recovery email after it are missing.
Overwater is a single-brand online house-plant store: about 120
products across plants, pots, soil and accessories, run forward by
hose from a fixed seed. Its tables are customers, products,
pageviews, carts, cart_items, orders, order_items,
shipments, claims, discounts. Traffic arrives as pageviews with an
entry referrer, so channel attribution and sessions are yours to
derive. Carts are rows. Orders reference their cart, and recovered
carts are orders that arrive hours later with an email visit in
between. Plants never “return”: they trigger replacement or refund
claims under a 30-day guarantee. Hard goods return the ordinary way.
The store has a history. A paid-social spike in the second spring brings a gift-buying cohort that repeats less than the organic one. Popularity drifts. The best-selling plant changes from year to year. Prices step up a few percent annually, so order lines from different years price the same product differently.
Download the SQLite file or the CSV bundle from the dataset page. Every query on the claim pages runs against it unchanged. The hosted Postgres stream, which keeps taking orders while you present, is in early access.
What you can build
Sessionize the pageviews with a 30-minute gap, join carts and orders, and the funnel falls out: visits, add-to-cart, checkout, order. Abandonment sits where the industry says it does.
Revenue by month shows a spring peak, a November bump and a February trough, every year, with a level that drifts between years instead of repeating.
Revenue by customer quintile. The top fifth carries most of it, and the split between one-time gift buyers and repeat collectors is visible in order counts without a segment column.
Days from shipment to delivery, by state and month. Plants going to cold states in December and January wait longer. The schema has no climate column, only a state code, and the pattern is still there.
The claims
The dataset