7,000 rows · 12 columns

Retail orders

Seven thousand e-commerce order lines across four channels and six categories, with a real Q4 seasonality bump, a returns flag, and discounting that varies by channel.

What is in it, and what is wrong with it

Revenue is stored as well as its components, and the two agree — which makes this a good dataset for checking your own arithmetic before you trust a warehouse column. Returns are not uniformly distributed: apparel returns at roughly four times the rate of home goods, which is exactly the kind of thing an unsegmented return-rate KPI hides.

Schema

ColumnTypeDescription
order_idstringOrder identifier. Repeats across lines of a multi-item order.
line_nointegerLine number inside the order.
ordered_attimestampOrder placement time, UTC.
customer_idstringForeign key to a customer. Reused across orders.
channelcategoryweb, ios, android, or marketplace.
countrycategoryTwo-letter shipping country code.
categorycategoryProduct category.
unitsintegerUnits on this line.
unit_price_usdfloatList price per unit.
discount_pctfloatDiscount applied, 0–0.45.
revenue_usdfloatunits × unit_price × (1 − discount), rounded to cents.
returnedbooleanWhether the line was later returned.

First twelve rows

order_idline_noordered_atcustomer_idchannelcountrycategoryunits
O50086012023-01-01 08:28:00C5122androidJPbeauty4
O50125012023-01-01 08:56:00C4066marketplaceJPbeauty1
O50274412023-01-01 15:57:00C4877iosBRgrocery2
O50370812023-01-01 16:29:00C4905androidJPapparel1
O50370822023-01-01 16:29:00C4905androidJPapparel2
O50130812023-01-01 21:45:00C5580iosGBelectronics1
O50130822023-01-01 21:45:00C5580iosGBbeauty1
O50056312023-01-02 08:16:00C4894webUSsports1
O50541012023-01-02 18:18:00C4110androidAUbeauty3
O50073512023-01-02 18:24:00C5115iosUSbeauty3
O50193212023-01-03 15:24:00C5207webDEhome4
O50453612023-01-03 18:44:00C4656webCAgrocery1

Showing the first 8 of 12 columns. Open the full table in the Explorer.