Field note · August 23, 2026

An exercise on movie-ratings

Nine thousand user ratings over 260 films, with genres, release years, and the long-tail popularity distribution that makes naive recommenders look better than they are..

1 min read ·Data quality ·quality practice

An exercise worth doing on movie-ratings.

9,000 rows, 7 columns, one row per user-film rating. Nine thousand user ratings over 260 films, with genres, release years, and the long-tail popularity distribution that makes naive recommenders look better than they are.

Every dataset here is synthetic, which is a deliberate trade. It costs realism and buys three things: we can ship it CC0 with no licence trap, we can bake in the exact quirk a lesson needs, and nobody's real records end up in a tutorial.

Something to try: Show the long tail: what share of ratings go to the top 10% of films? The SQL playground has it loaded already, and the data explorer will profile every column in one pass if you would rather look before you query.

sql
select *
from movie_ratings
limit 20;

The file is generated from a fixed seed, so the CSV you download today is byte-identical to the one from last year. That matters more than it sounds: it means a lesson can say "row 412 is the interesting one" and still be right in eighteen months.

Download it, break it, keep it. CC0 — no attribution required, no account, no email.