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,386,214 rows · last row moments ago

Built for E-commerce demos →

hose → overwater 3,386,214 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-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: 162026-11-05: 282026-11-06: 292026-11-07: 202026-11-08: 252026-11-09: 312026-11-10: 30

Schema · 10 tables

customers

45,056 rows

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

products

130 rows

  • idtext · key
  • nametext
  • categorytext
  • price_usdreal

pageviews

3,084,977 rows

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

carts

54,597 rows

  • idtext · key
  • customer_idtext
  • created_attime

cart_items

120,954 rows

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

orders

19,412 rows

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

order_items

38,431 rows

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

shipments

19,389 rows

  • idtext · key
  • order_idtext
  • shipped_attime
  • delivered_attime

claims

3,249 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