hose Demo data with a pulse

A hose dataset · canonical

The jaffle shop didn't close when the tutorial ended.

dbt's demo shop as a going concern, with a fresh order most minutes the shop is open.

1,003,526 rows · last row 6 minutes ago

hose → jaffle 1,003,526 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
100
start
2023-09-01
fingerprint
f0c264e42efd
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: 3222026-08-08: 1172026-08-09: 912026-08-10: 1302026-08-11: 1702026-08-12: 1982026-08-13: 2512026-08-14: 3282026-08-15: 1282026-08-16: 832026-08-17: 1532026-08-18: 1702026-08-19: 1972026-08-20: 2372026-08-21: 3512026-08-22: 1142026-08-23: 802026-08-24: 1222026-08-25: 1642026-08-26: 1902026-08-27: 1972026-08-28: 2932026-08-29: 1092026-08-30: 752026-08-31: 1342026-09-01: 1602026-09-02: 2162026-09-03: 2932026-09-04: 3752026-09-05: 1272026-09-06: 912026-09-07: 02026-09-08: 2152026-09-09: 2542026-09-10: 3322026-09-11: 4192026-09-12: 1362026-09-13: 992026-09-14: 1822026-09-15: 2292026-09-16: 2482026-09-17: 3152026-09-18: 4322026-09-19: 1492026-09-20: 1012026-09-21: 1702026-09-22: 2542026-09-23: 3042026-09-24: 3842026-09-25: 4992026-09-26: 1612026-09-27: 1062026-09-28: 1812026-09-29: 2622026-09-30: 3032026-10-01: 3182026-10-02: 4442026-10-03: 1452026-10-04: 1152026-10-05: 1772026-10-06: 2662026-10-07: 2722026-10-08: 3032026-10-09: 4542026-10-10: 1492026-10-11: 1102026-10-12: 02026-10-13: 2432026-10-14: 3032026-10-15: 3382026-10-16: 4792026-10-17: 1352026-10-18: 972026-10-19: 1662026-10-20: 2322026-10-21: 2912026-10-22: 3592026-10-23: 4962026-10-24: 1762026-10-25: 1412026-10-26: 2282026-10-27: 3122026-10-28: 3242026-10-29: 3902026-10-30: 5302026-10-31: 1742026-11-01: 1152026-11-02: 1812026-11-03: 2522026-11-04: 302

Schema · 8 tables

customers

9,346 rows

  • idtext · key
  • nametext
  • emailtext
  • phonetext
  • personatext
  • store_idtext
  • created_attime
  • last_order_attime

orders

331,566 rows

  • idtext · key
  • customer_idtext
  • store_idtext
  • ordered_attime
  • subtotalreal
  • tax_paidreal
  • totalreal

items

537,593 rows

  • idtext · key
  • order_idtext
  • skutext
  • nametext
  • pricereal

tweets

124,921 rows

  • idtext · key
  • customer_idtext
  • order_idtext
  • tweeted_attime
  • contenttext

stores

6 rows

  • idtext · key
  • nametext
  • statetext
  • opened_attime
  • tax_ratereal

products

10 rows

  • skutext · key
  • nametext
  • typetext
  • pricereal
  • descriptiontext

product_prices

19 rows

  • idtext · key
  • skutext
  • valid_fromtime
  • pricereal

supplies

65 rows

  • idtext · key
  • supply_idtext
  • nametext
  • costreal
  • perishablebool
  • skutext

Why this one

The jaffle shop from the dbt tutorial is a fixture: a few CSVs with a fixed date range and an ending. It serves the tutorial and stops.

This one keeps trading. A few regulars account for most of the revenue while the long tail visits once. The seasonality is strong enough to survive a group-by. Because every run with the same seed produces identical bytes, the models you build against it today reconcile against it tomorrow. And because the shop keeps business hours, even the quiet stretches make sense: nobody buys a jaffle at four in the morning.

The other datasets