Ecommerce storefront

A year of orders across five joined tables, with a real Q4 peak and totals that reconcile to the cent.

An online retailer's 2025: customers, a 300-SKU catalogue, orders, line items, and reviews. Every order total is exactly the sum of its own line items, so the joins and the arithmetic both hold when you check them. Demand rises into November and December because there are more orders, not because the orders got bigger, which is how real seasonality works.

  • ecommerce
  • retail
  • star schema
  • seasonality
01,0002,000Jan 2025Mar 2025May 2025Jul 2025Sep 2025Nov 2025Dec 2025
Rows per month in orders.order_date, counted from the file.

Explore

Every table, profiled

Each column's type, spread, empties and most common values, measured from the CSVs in the download. Switch to the first rows to see the data exactly as it sits in the file.

order_items.csv

31,000 rows · 6 columns · 2 foreign keys

order_item_idprimary key
unique on every row
31,000 distinctno empties
order_idforeign key
points to orders.order_id
11,081 distinctno empties
product_idforeign key
points to products.product_id
300 distinctno empties
quantitynumber
15
mean 1.75median 11 to 5no empties
unit_pricenumber
4.99375
mean 59.65median 39.954.49 to 400no empties
line_totalnumber
5.99905
mean 104.7median 55.994.49 to 2,000no empties

Keys

Every join resolves

5 foreign keys, 82,703 references checked against the table each one points at. None points at a row that does not exist.

order_items

  • order_idorders.order_id0 orphans
  • product_idproducts.product_id0 orphans

orders

  • customer_idcustomers.customer_id0 orphans

reviews

  • product_idproducts.product_id0 orphans
  • customer_idcustomers.customer_id0 orphans

Checks

What we checked

  • 0 orphaned foreign keys across all 5 relationships
  • 0 orders dated before their customer signed up
  • order_total equals the sum of its line items, exactly, for every order
  • 0 products priced at or below cost (margins run 22% to 64%)
  • Ratings are J-shaped (57% five-star, 7% one-star), not uniform
  • Top 10% of customers place 29.5% of orders, a realistic Pareto tail
  • 59% of prices end in .99, as real catalogues do
  • Every city belongs to its country (London and Newcastle appear under two, correctly)

The same checks ship in the zip as INTEGRITY.txt, so you can rerun them in any SQL engine. How we verify

Questions

Worth asking it

  1. 1Which category carries the best margin, and is it the one selling most?
  2. 2How much of revenue comes from the top 10% of customers?
  3. 3Do low-rated products actually get returned more often?
  4. 4What does the Q4 lift look like split by channel?

Use it

Take it, or make one shaped like yours

Rebuild it byte for byte

The zip includes schema.yaml. Run misata generate --config schema.yaml with seed 20260721 and you get the same rows.

Your own tables, your own numbers

Describe the data you need in Studio and get connected tables with the totals you state, profiled like this and checked before you download.

Premium datasets

All premium
  • Weekly sales, at regular price and on promotion

    Grocery chain, 10 stores, fiscal 2024 and 2025

    Two fiscal years of a grocery chain, from the shelf to the receipt

    Answer key

    • baseline_units
    • price_effect
    • promo_lift
    • +7 more
    Rows
    2,790,852
    Tables
    14
    Checks
    117 of 117
    Free previewProfile and preview
  • An X-bar chart with the truth underneath: flatness, characteristic 139

    3 plants, 36 CNC machines, six months

    Six months of control charts with the ground truth underneath

    Answer key

    • active_cause_id
    • true_cause_shift_sigma
    • true_tool_wear_sigma
    • +6 more
    Rows
    515,442
    Tables
    15
    Checks
    101 of 101
    Free previewProfile and preview
  • Vibration through a life that ends in failure

    240 machines at 4 plants, two years

    Two years of sensor readings, failures, repairs and costs for 240 machines

    Answer key

    • failure_mode
    • true_life_days
    • true_failure_at
    • +6 more
    Rows
    179,038
    Tables
    6
    Checks
    67 of 67
    Free previewProfile and preview

Related free datasets

All 12

Fully synthetic. No real person, company or transaction is represented, and no production data was read to make it. CC0: use it anywhere, no attribution needed.