Retail sales transactions by store, department, product and time of day — a realistic POS feed for sales, store and category analysis.
This is a free, reproducible Retail POS dataset you can generate and download right here as CSV, Excel, JSON or SQL. It is built for retail sales analysis, store comparison and category performance — and because every field is correlated rather than random, the numbers actually hold together when you analyze them.
The catalog is organized into real affinity groups (e.g. chips + salsa + soda) that co-occur within baskets, so an association-rule miner actually surfaces lift — exactly what a market-basket exercise needs.
Schema for the Retail POS export (the anomaly column appears only when labels are switched on):
| Column | Type | Description |
|---|---|---|
| transaction_id | integer | The basket; item rows share it. |
| datetime | datetime | Timestamp with realistic hour-of-day weighting. |
| store_id | text | Which store rang the sale. |
| product / department | text | Item and its aisle/department. |
| quantity / unit_price | number | Units and shelf price. |
| line_total | number | quantity x unit_price. |
| payment | text | Card / Cash / Mobile. |
| anomaly | 0/1 | Present with labels on; flags suspicious transactions. |
import pandas as pd
df = pd.read_csv("retail_pos.csv")
df.head()
Around 15,000 rows by default. Change the row count in the generator above and re-export — anything up to ~200k works in the browser.
CSV, Excel (.xlsx), JSON, and SQL (a CREATE TABLE plus INSERT statements). Pick whatever fits your workflow.
Yes. This page uses the fixed seed retailsales-demo, so the download is byte-identical on every machine. Clear the seed in the generator for fresh random data.
Yes. Use Tables → Excel/SQL for a normalized multi-table export, switch on Messy / dirty data in Advanced options for nulls, typos and inconsistent dates, and choose CSV, Excel, JSON or SQL on any download.
No — it is 100% synthetic, generated in your browser, with no real people or companies. Free to use commercially.