customers
44,883 rows
- idtext · key
- nametext
- emailtext
- statetext
- created_attime
A hose dataset · vertical
Pageviews, carts, checkouts and the seven in ten that never happen. Orders, shipments, winter holds and the plants that arrive dead.
3,356,689 rows · last row moments ago
The receipt
The whole dataset grows from this one seed. Everyone who downloads it gets the same rows with the same ids, today and next month, so whatever you build on it keeps working after the data refreshes.
Orders per day, last 90 days
Schema · 10 tables
44,883 rows
130 rows
3,057,930 rows
54,110 rows
119,819 rows
19,250 rows
38,088 rows
19,234 rows
3,226 rows
19 rows
What the data claims
Why this one
Most sample sales databases start at the order. The customer wanted something, paid for it, and the row appeared. Overwater starts three steps earlier. It is a single-brand online house-plant store: live plants, pots, soil and care accessories, sold through a site whose traffic, carts and checkouts are all in the data.
Sessions are not a table. Pageviews are, with a referrer on the entry
view, and you sessionize them with the same 30-minute rule you would
use on a real export. Carts are first-class rows, so abandonment is a
left join, and a recovered cart is an order that lands hours after its
cart with an email-referred pageview in between. Shipments have a
delivered_at that is still null for recent orders. Plants sent to
cold states in winter wait longer, because the sim knows which states
freeze even though the schema only stores a state code.
Spring sells plants and February does not. A few collectors account for a large share of revenue while gift buyers order once and leave. In the spring of the second year a paid-social spike brings in a cohort that looks great on the acquisition chart and worse on the repeat chart. Prices step up a few percent each year. The same monstera costs more in later order lines than in early ones.
The other datasets