Office Services & Supplies · Kaggle
Kaggle - Superstore Sales Dataset
Datadory delivers kaggle superstore sales dataset data covering 9,800 US retail order lines from 2015 to 2018 - 5,909 in the Office Supplies category - across eighteen fields spanning customers, geography, product hierarchy and sales value, with roughly 230,000 downloads and 306 public notebooks behind it. Typed, normalized, shipped through API, files, or your warehouse.
API, files, or your warehouse. Daily, weekly, or hourly.
What is the Kaggle Superstore Sales Dataset?
It is one flat table of 9,800 order lines from a United States superstore, running from January 2015 to December 2018, eighteen columns wide. Its lineage explains its fame: the data descends from the demo file that business-intelligence tools shipped for years, repackaged for sales-forecasting practice. Category splits read like a stationery-heavy retailer's year - Office Supplies 5,909 rows, Furniture 2,078, Technology 1,813 - and the four sales regions divide into West 3,140, East 2,785, Central 2,277 and South 1,598.
The adoption numbers are the rest of the story. Roughly 230,000 downloads, some 848,000 views and 306 public notebooks have accumulated on top of it, so virtually every tutorial, course and interview take-home that says "the superstore dataset" means this exact shape. Familiarity is a feature: results are comparable across teams because everyone has touched the same rows.
Datadory delivers kaggle superstore sales dataset data as a typed, normalized feed - the same 9,800-by-eighteen core, documented field by field, extended on request with rollups and cuts rather than padded with invented columns.
What do sample rows look like?
Each row is one line item of one order: identifiers, the order-and-ship date pair, shipping class, customer, full geography, product hierarchy and a dollar figure. Two consecutive lines from the head of the table:
# one row = one line item of one order, carrying its own Sales value
ROW ID = 1 ORDER ID = CA-2017-152156
DATES = ordered 08/11/2017, shipped 11/11/2017
SHIP MODE = Second Class CUSTOMER = CG-12520 (Claire Gute, Consumer)
PLACE = Henderson, Kentucky 42420 - South region
PRODUCT = FUR-BO-10001798 Furniture > Bookcases
= Bush Somerset Collection Bookcase
SALES = 261.96
# the very next line of the SAME order - the grain is the line item,
# not the order: two products, two Sales values, one Order ID
ROW ID = 2 ORDER ID = CA-2017-152156
PRODUCT = Furniture > Chairs
= Hon Deluxe Fabric Upholstered Stacking Chairs, Rounded Back
SALES = 731.94The pair demonstrates the grain better than any definition could. One order identifier, two products, two Sales values - aggregate carelessly to the order level and you have quietly collapsed $993.90 of furniture into whatever the first line happened to be. Across 9,800 such lines the table holds a time series, a customer ledger and a product tree simultaneously, which is why it survives syllabus after syllabus.
Which fields does the field dictionary define?
Eighteen fields cover every row, grouped five ways: line and order identifiers (Row ID, Order ID), the date pair (Order Date, Ship Date) with Ship Mode, the customer block (Customer ID, Customer Name, Segment), the geography block from country down to Postal Code plus Region, and the product hierarchy from Product ID through Category and Sub-Category to Product Name, terminating in the Sales measure.
The file ships no documentation beyond its header, so the dictionary above records what the columns actually contain: dates stored day-first, postal codes that must be read as text unless you enjoy losing leading zeros, and one constant column (Country) that exists purely so the geography block is complete. Anything beyond these eighteen arrives through the request note, never fabricated into the schema.
How wide does coverage run, and at what grain?
Geography - United States only, but unusually deep for a teaching table: every line resolves to city, state and postal code and rolls up to one of four sales regions. Regional cuts are therefore real analysis, not decoration.
Temporal - order dates from 3 January 2015 through 30 December 2018, four complete years, which is enough runway for annual seasonality, year-over-year comparisons and honest holdout splits. The content has been held static since the September 2020 revision, so results reproduce identically forever.
Granularity - one row per order line item, 9,800 rows total. There are no quantity, discount or profit columns in this distribution, and no order-level header table; the Sales value on each line is the sole measure, which concentrates every exercise on forecasting and structural analysis rather than margin arithmetic.
How is the data delivered through Datadory?
API, files, or your warehouse. Daily, weekly, or hourly.
For a frozen table, cadence sounds like overkill - until you want the same normalized copy landed next to your live records so notebooks, dashboards and tests stop comparing outputs against whichever CSV drifted onto a shared drive. Because the upstream never moves, every delivery diffs cleanly against the last: if a revision ever appears, the diff is the event, not a silent surprise in someone's forecast backtest. Samples arrive in exactly the schema shown above, cut to whatever slice you name - the full 9,800 lines, the 5,909-line Office Supplies cut, or a single region.
Who builds on this data, and for what?
- Time-series forecasting practice - forty-eight months of orders with genuine seasonal texture, from naive baselines through decomposition and boosted horizons.
- BI dashboard building - the file generations of dashboard tutorials grew up on; region, category and segment render convincingly on the first try.
- Office Supplies demand analysis - 5,909 of 9,800 lines sit in one category, so category-level questions get a real sample.
- Customer segmentation - stable customer identifiers plus dates support RFM scoring, cohorts and retention arithmetic end to end.
- Fulfilment-latency studies - Order Date beside Ship Date beside Ship Mode turns shipping classes into a measurable delay analysis.
- Teaching joins and data hygiene - mixed types, day-first dates and text-encoded ZIPs make it a gentle first collision with real-world messiness.
Which personas get the most value?
Data scientists and ML engineers get the reference retail sandbox - small enough to iterate in memory, rich enough to exercise dates, hierarchies and geography in one pipeline; see data scientists. Students and career switchers finish a portfolio-grade forecasting project in an evening on data every reviewer recognizes. Developers and builders seed demos and test suites with transactional shapes instead of synthetic filler; see developers and builders. Market researchers and consultants borrow it as the worked example in retail-method decks; see market researchers and competitive intel and product teams. E-commerce operators use it as a familiar benchmark for sanity-checking their own order-line exports.
How does it compare to alternatives in its slice?
Within office services and supplies data, this record owns the frozen-transactions layer: four years of completed orders, immutable and universally recognized. The Office Depot OfficeMax Product Catalog record answers the opposite question - today's shelf, with live prices, SKUs and UPCs rather than historical baskets - so the two pair naturally: transactions show what sold, the catalog shows what sits on the shelf now. The office services and supplies hub holds the wider shelf, and the best office-services-supplies datasets list ranks the slice. If the question is "how do I prototype, teach or benchmark on retail orders nobody can argue with", this is the record that answers it.
What should I know before requesting a sample?
Three things. First, the scale is deliberately modest: 9,800 rows by eighteen columns, about 2.1 MB once uncompressed - the whole thing lives in memory, and that compactness is the point. Second, the measures are lean: Sales is the only numeric outcome, so profitability or basket-size studies need enrichment arranged at request time rather than expected in the file. Third, dates are stored day-first and postal codes as text; both parse cleanly on delivery, but knowing it spares you the classic leading-zero postmortem. Name the rows, cuts and transforms you want, and the sample returns in exactly the schema shown above.
Field dictionary
Every field below is documented against real records. The full dictionary ships with the sample.
| field | type | definition | example |
|---|---|---|---|
Row ID | integer | Sequential row identifier - the line number within the file, handy for stable references during review. | 1 |
Order ID | string | Identifier grouping all line items of one order; several rows share it whenever a basket spans multiple products. | CA-2017-152156 |
Order Date | date | Date the order was placed, written day-first in the file. | 08/11/2017 |
Ship Date | date | Date the order shipped - paired with Order Date it yields a fulfilment-latency measure per line. | 11/11/2017 |
Ship Mode | enum | Shipping class for the order line. | Second Class |
Customer ID | string | Anonymized customer identifier - the join key for repeat-purchase and cohort work. | CG-12520 |
Customer Name | string | Customer full name accompanying the identifier. | Claire Gute |
Segment | enum | Customer market segment. | Consumer |
Country | string | Country of the shipping address - constant across all 9,800 rows. | United States |
City | string | City of the shipping address. | Henderson |
State | string | State of the shipping address. | Kentucky |
Postal Code | string | ZIP code of the shipping address - the finest geographic cut in the table. | 42420 |
Region | enum | US sales region: West, East, Central or South. | South |
Product ID | string | Product code encoding category and sub-category. | FUR-BO-10001798 |
Category | enum | Top-level product category: Office Supplies, Furniture or Technology. | Furniture |
Sub-Category | string | Product sub-category such as Bookcases, Chairs or Paper. | Bookcases |
Product Name | string | Retail product description as sold. | Bush Somerset Collection Bookcase |
Sales | number | Sales value for the order line in US dollars - the target column every forecasting exercise points at. | 261.96 |
What teams do with it
- Time-series sales forecasting practice Forty-eight months of orders with pronounced monthly and seasonal texture - the exact setup the record was packaged for, from naive baselines up through decomposition and gradient-boosted horizons.
- BI dashboard building This is the file generations of dashboard tutorials were built on: a sales story by region, category and segment that renders convincingly on the first try.
- Office Supplies demand analysis With 5,909 of 9,800 lines in one category, category-level assortment and demand questions get a real sample instead of a token one.
- Customer segmentation and repeat-purchase work A stable customer identifier plus order dates and segment supports RFM scoring, cohort curves and retention arithmetic end to end.
- Fulfilment-latency measurement Order Date beside Ship Date beside Ship Mode turns shipping classes into a measurable delay study rather than a slide-deck assertion.
- Teaching joins and data hygiene Eighteen columns of deliberately mixed types - day-first dates, ZIP-as-text, enum lookalikes - make it a gentle first encounter with real-world cleaning.
Questions buyers ask
What does one record of kaggle superstore sales dataset data contain?
One order line item: row and order identifiers, order and ship dates, ship mode, customer identifier and name, segment, city, state, ZIP and region, the full product hierarchy, and a Sales value in dollars. Two lines of the same order share an Order ID but each carries its own Sales figure.
How big is the dataset, really?
9,800 rows by 18 columns - about 2.1 MB once uncompressed. That compactness is the draw: the entire table fits in memory, loads instantly, and reproduces identically on every machine, which is why it became the default retail practice table.
Does the data include dates and geography?
Yes - unusually completely for a famous teaching table. Every line carries order and ship dates spanning January 2015 to December 2018, plus city, state, postal code and one of four US sales regions, so time-series and regional analyses are native rather than bolted on.
Is this real retail data or synthetic data?
Its provenance traces to a superstore demo file rather than a named retailer's ledger, so treat it as realistic practice ground, not market evidence. Patterns behave like real retail - seasonality, regional skew, heavy-tailed order values - which is exactly why forecasting practice transfers.
Can I get just the Office Supplies rows?
Yes. Office Supplies accounts for 5,909 of the 9,800 lines, and Datadory delivers that slice as its own table alongside the full file, with the identical eighteen-column contract so downstream code cannot tell the difference.
How fresh is the data, and how often can I receive it?
The table has been held static since its September 2020 revision, so stability rather than freshness is what it trades in. Delivery through Datadory still runs on your cadence - API, files, or your warehouse, daily, weekly, or hourly - and each pull verifies identical, surfacing any future upstream change as a visible diff.
Datasets that pair with this one
- Office Depot OfficeMax Product Catalog This record supplies four years of frozen transactions; that one supplies today's shelf with live prices and UPCs. Sold together, not instead.
- Office services and supplies data hub The pooled industry view - every record in the slice, from transaction tables to catalogs, on one page.
- Best office-services-supplies datasets The ranked shortlist of the slice, scored on coverage, identity depth and honesty about limits.
- Get a sample of this dataset Name your slice - full file, Office Supplies cut, or a single region - and the sample returns in exactly the schema shown above.
See the rows before you pay anything.
Name this dataset and we send real records from it — scoped to the fields you asked for.