datastory

ask the Online Retail II dataset anything in plain English.

revenue
£20,972,595
orders
41,938
customers
5,881
avg order
£500.09
period
Dec 09 – Dec 11
countries
43
about this dataset
Online Retail II — a real UK-based online retailer selling gift and homeware items. Two years of transaction data across 43 countries, with ~1M rows. The UK drives ~85% of revenue. Includes cancellations (invoice prefix C), returns (negative quantity), and guest checkouts (null CustomerID).

The agent writes its own SQL, runs it live against DuckDB, and shows every step. Follow-up questions are remembered in your session.
schema
retail_clean
sales only — use for revenue & product analysis
Invoice str
StockCode str
Description str
Quantity int
InvoiceDate timestamp
Price float £
CustomerID float
Country str
line_revenue float
year, month int
customer_rfm
one row per customer
CustomerID float
recency_days int
frequency int
monetary float £
Country str

monthly_revenue
monthly × country aggregates
year, month, month_name
Country str
orders, customers int
revenue float £
units_sold int

retail
all rows incl. cancellations — adds is_cancellation bool
Monthly revenue trend for 2011 Top 10 products by revenue RFM distribution of customers UK vs rest of world revenue split Cancellation rate over time Top 5 countries by number of orders Highest revenue month overall Repeat vs one-time customer split
ask anything — revenue trends, top products,
customer behaviour, cancellation rates