hose Demo data with a pulse

A hose dataset · vertical

A plant store with a funnel, not just an orders table.

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

Built for E-commerce demos →

hose → overwater 3,356,689 rows live
Rows as the generator writes them, straight from the API. Real speed. Quiet hours are quiet, the way a real business is.

The receipt

seed
42
scale
200
start
2023-06-01
fingerprint
009df08405da
license
MIT

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

2026-08-07: 232026-08-08: 202026-08-09: 132026-08-10: 232026-08-11: 222026-08-12: 252026-08-13: 212026-08-14: 162026-08-15: 132026-08-16: 92026-08-17: 272026-08-18: 222026-08-19: 212026-08-20: 142026-08-21: 232026-08-22: 142026-08-23: 132026-08-24: 202026-08-25: 202026-08-26: 132026-08-27: 222026-08-28: 172026-08-29: 172026-08-30: 162026-08-31: 122026-09-01: 212026-09-02: 162026-09-03: 242026-09-04: 182026-09-05: 162026-09-06: 162026-09-07: 162026-09-08: 212026-09-09: 242026-09-10: 212026-09-11: 142026-09-12: 122026-09-13: 72026-09-14: 262026-09-15: 232026-09-16: 182026-09-17: 102026-09-18: 272026-09-19: 122026-09-20: 172026-09-21: 182026-09-22: 182026-09-23: 172026-09-24: 242026-09-25: 282026-09-26: 162026-09-27: 122026-09-28: 272026-09-29: 252026-09-30: 192026-10-01: 232026-10-02: 172026-10-03: 142026-10-04: 112026-10-05: 202026-10-06: 272026-10-07: 322026-10-08: 172026-10-09: 202026-10-10: 152026-10-11: 152026-10-12: 182026-10-13: 172026-10-14: 272026-10-15: 132026-10-16: 212026-10-17: 192026-10-18: 122026-10-19: 172026-10-20: 222026-10-21: 192026-10-22: 182026-10-23: 272026-10-24: 82026-10-25: 62026-10-26: 222026-10-27: 292026-10-28: 272026-10-29: 252026-10-30: 172026-10-31: 142026-11-01: 192026-11-02: 272026-11-03: 292026-11-04: 16

Schema · 10 tables

customers

44,883 rows

  • idtext · key
  • nametext
  • emailtext
  • statetext
  • created_attime

products

130 rows

  • idtext · key
  • nametext
  • categorytext
  • price_usdreal

pageviews

3,057,930 rows

  • idtext · key
  • customer_idtext
  • attime
  • pathtext
  • referrertext

carts

54,110 rows

  • idtext · key
  • customer_idtext
  • created_attime

cart_items

119,819 rows

  • idtext · key
  • cart_idtext
  • product_idtext
  • quantityint
  • added_attime

orders

19,250 rows

  • idtext · key
  • cart_idtext
  • customer_idtext
  • ordered_attime
  • discount_codetext
  • total_usdreal

order_items

38,088 rows

  • idtext · key
  • order_idtext
  • product_idtext
  • quantityint
  • unit_price_usdreal

shipments

19,234 rows

  • idtext · key
  • order_idtext
  • shipped_attime
  • delivered_attime

claims

3,226 rows

  • idtext · key
  • order_item_idtext
  • kindtext
  • created_attime

discounts

19 rows

  • codetext · key
  • percent_offreal
  • starts_attime
  • ends_attime

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