FAQ

Tabular

Recommendation system datasets

Ratings, review-level feedback and catalogue metadata — with the offline-evaluation problem that makes published results hard to trust.

The core recommendation dataset is an interaction log, and the gap between offline metrics on logs and online performance is the largest of any task in this site's dataset posts.

The structural issue is that a log records what happened under the policy that produced it. Users only interacted with items they were shown, so the data is missing not at random, and a model evaluated offline is scored on its ability to predict a biased sample. This is why offline improvements routinely fail to replicate in live tests, and why the field relies on online experimentation.

The other distinction to check is explicit versus implicit feedback. Explicit ratings are sparse and informative; implicit signals like clicks and views are abundant and ambiguous, since not clicking something may mean dislike, or not seeing it. Most production systems use implicit feedback, so a ratings dataset may be the less representative choice despite being cleaner.

What is listed here is review-level feedback and catalogue metadata rather than logged interactions. The review sets give explicit ratings tied to products, which suit rating prediction and the study of fit and preference; the catalogue sets suit content-based and cold-start work, where you recommend from what an item is rather than who used it. None of them records what a user was shown and did not choose, so none of them reproduces the biased-log problem described above. For that you need an interaction log, and the widely used public ones carry research terms — read them before building anything commercial on one.

A table with columns timestamp, item_id, position, click indicator and action_prob, and four example rows such as '2019-11-xx, 25, 1, 0, 0.0125' and '2019-11-xx, 32, 2, 1, 0.0871', followed by a row of ellipses.
What a logged-interaction dataset records that a review set does not: which item was shown, in which slot, whether it was clicked, and action_prob, the probability that the live policy chose to show it. That last column is what lets offline evaluation correct for the policy that produced the log; without it, the bias described above has to be estimated or ignored. Image (cropped): st-tech/zr-obp · Apache-2.0 repository · from “Open Bandit Dataset and Pipeline: Towards Realistic and Reproducible Off-Policy Evaluation”, arXiv:2008.07146
DatasetModalitySizeLicenceBest for
Sephora Skincare ReviewsText1M reviewsCC BY 4.0Sentiment analysis of customer opinions
Clothing Fit Dataset for Size RecommendationText82,790 entriesCC BY 4.0Customised size recommendation for e-commerce
Women's E-Commerce Clothing ReviewsText23,486 rowsCC0Sentiment analysis or review classification
Netflix Movies and TV Shows 2021Tabular5,897 rowsUnclear — see belowRecommendation systems
Letterbox Movie Classification DatasetText10,002 moviesCC0Content or popularity based film recommendation
Steam Games DatasetText124,000 entriesMITAnalysing trends and statistics
7K Books with MetadataText6,542 rowsUnclear — see belowContent-based book recommendation engine
Licences in this shortlist — computed from the 7 datasets below. Red marks licences that are unclear or restricted.
A left-to-right diagram. On the left a user's sequence of past interactions is drawn as an ordered row of item tiles; it feeds a central model block; on the right the model emits the predicted next items as a ranked row of tiles.
Recommendation as a data problem: an ordered interaction log in, a ranked next-item list out. The ordering is the signal, which is why shuffled splits overstate performance so badly here. Image: NVIDIA-Merlin/Transformers4Rec · Apache-2.0 repository
№ 01

Sephora Skincare Reviews

Text
Size
About 1 million reviews of ~2,000 skincare products, plus metadata for 8,000+ products, CSV/JSON
Licence
Attribution 4.0 International (CC BY 4.0)

Roughly one million customer reviews of about 2,000 Sephora skincare products, plus metadata for more than 8,000 products across all categories, in CSV and JSON. Collected in 2023, giving recent beauty-sector language and pricing.

What to train on it

Sentiment analysis of customer opinions on products and brands, building personalised recommendation systems, and analysing ingredient, pricing and popularity trends.

Source: innovatiana.com

№ 02

Clothing Fit Dataset for Size Recommendation

Text
Size
82,790 ModCloth entries in JSON format (40 MB), structured customer-product data with text (the release also includes RentTheRunway: 192,544 more)
Licence
CC BY 4.0

82,790 JSON entries of about 40 MB combining structured customer and product data with written feedback, labelled for whether a size ran true, too small or too large. A genuine tabular-plus-text recommendation problem.

What to train on it

Building customised size recommendation for e-commerce, creating fit classification models from written reviews, and developing summarisation or sentiment models.

Source: innovatiana.com

№ 03

Women's E-Commerce Clothing Reviews

Text
Size
23,486 rows in CSV format, text and categorical data
Licence
CC0: Public Domain

23,486 CSV rows of anonymised online clothing reviews combining free text with ratings, customer ages, recommendation flags and product categories. Compact, clean and a long-standing teaching set for applied NLP.

What to train on it

Training sentiment analysis or review classification, studying customer experience by age or product category, and exploring BERT, TF-IDF or Word2Vec on real data.

Source: innovatiana.com

№ 04

Netflix Movies and TV Shows 2021

Tabular
Size
5,897 rows in CSV format, structured columns (title, genre, country, IMDb rating...)
Licence
Labelled CC0 by the uploader; catalogue data collected from the Flixable search engine

5,897 CSV rows of structured metadata on films and series available on Netflix in 2021, covering type, country, release date, duration, genres and IMDb rating. Small and tabular. The CC0 tag is the uploader's: the catalogue was collected from the Flixable search engine, so it is not a dedication by the rights holders.

What to train on it

Creating recommendation systems based on ratings or genres, analysing Netflix programming by country or year, and exploring cultural preferences through availability.

Source: innovatiana.com

№ 05

Letterbox Movie Classification Dataset

Text
Size
10,002 movies, CSV file with 15 columns (texts, categories, numeric)
Licence
CC0: Public Domain

Metadata for 10,002 films in a 15-column CSV mixing text, categorical and numeric fields, covering genres, directors, duration, language and engagement metrics, plus text descriptions suitable for NLP.

What to train on it

Creating content or popularity based film recommendation, analysing genre, studio or rating trends over time, and classifying or clustering films by theme or user behaviour.

Source: innovatiana.com

№ 06

Steam Games Dataset

Text
Size
About 124,000 entries in Parquet format (83,560 when first catalogued)
Licence
MIT

About 124,000 Parquet entries of metadata on PC games published on Steam, gathered from the Steam API and Steam Spy with DLC and extra content excluded.

What to train on it

Analysing trends and statistics in the video game industry, developing game recommendation systems, and studying popularity, genres and life cycles of PC games.

Source: innovatiana.com

№ 07

7K Books with Metadata

Text
Size
6,542 rows in CSV format, containing titles, authors, descriptions, ISBNs, language, categories
Licence
Labelled CC0 by the uploader; built from the Google Books API and Goodreads, whose terms apply

6,542 CSV rows of book metadata including title, author, description, ISBN, language and categories, sourced through the Google Books API from Goodreads data. Note the actual row count is below the 7K in its name. The book descriptions remain the publishers' copyright and the API data falls under Google Books and Goodreads terms, so the CC0 tag is the uploader's, not the rights holders'.

What to train on it

Creating a content-based book recommendation engine, analysing literary trends by category or description, and NLP experiments in summarisation and semantic clustering.

Source: innovatiana.com

A table titled 'Statistics of the Open Bandit Dataset' with rows for three campaigns, All, Men's and Women's, each logged under a Random and a Bernoulli TS policy. For All the two policies logged 1,374,327 and 12,168,084 records over 80 items, with CTRs of 0.35% and 0.50% and relative CTRs of 1.00 and 1.43; the Men's and Women's campaigns have 34 and 46 items and CTRs from 0.48% to 0.67%.
The Open Bandit Dataset logged the same fashion campaigns for seven days under two policies: uniformly random recommendations and Bernoulli Thompson sampling. Clicks are rare under both, and the click-through rate depends on the policy, 0.35% against 0.50% overall. A log measures the system that produced it as much as the users who clicked. Image (cropped): st-tech/zr-obp · Apache-2.0 repository · from “Open Bandit Dataset and Pipeline: Towards Realistic and Reproducible Off-Policy Evaluation”, arXiv:2008.07146

How this list was put together

Found by searching Dataset Finder for datasets whose documentation describes the task, then checked by hand. A keyword match is not a fit — the first pass picked up a coral survey for the depth-estimation list because it was recorded below fifty metres — so every entry was read against what this page covers, and the ones that matched a word without matching the task were removed.

Sizes and licences come from each dataset's own documentation, vague wording included. Where we found a re-upload or catalogue card stating a licence that the original release contradicts — a CC0 tag on Flickr photographs, MIT on data whose terms require a signed agreement — the entry gives the original terms and says so. The comparison table abbreviates licences; hover a cell for the full wording.

Stop hunting. Start searching.

The datasets listed on this page are in Dataset Finder, alongside tens of thousands more — searchable in plain language.

Search Dataset Finder →