hose Demo data with a pulse

Demo data for E-commerce

Demo data for an online store, from the first pageview to the refund.

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.

See the claims →

The trouble with sample sales databases

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.

What is in the box

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.

How to get it

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

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.

Seasonality that survives a group-by

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.

Customer concentration

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.

Fulfilment with weather in it

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