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,007,866 rows · last row 3 hours ago

hose → jaffle 1,007,866 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-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: 3022026-11-05: 3512026-11-06: 4212026-11-07: 1382026-11-08: 1182026-11-09: 1782026-11-10: 218

Schema · 8 tables

customers

9,363 rows

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

orders

332,967 rows

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

items

539,946 rows

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

tweets

125,490 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