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..
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.
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.