Datadory notebook
Movie budget and revenue data: the two numbers, one table
Datadory delivers movies & entertainment data covering both halves of the film-economics equation: production budgets beside worldwide grosses on every row of a 45,000-film corpus (with a 4,803-film compact cut), plus revenue ledgers that run daily from the early 1980s across domestic, international and worldwide views. Delivered keyed, typed and parsed - daily, weekly, or hourly, your call.
1,744 datasets. Pick your catch.
What does movie budget and revenue data actually consist of?
Start by separating the two numbers, because they are collected by different machines. Production budgets appear almost nowhere in official statistics - they are reported voluntarily through trades and land in metadata catalogs as an editorial field. Revenue is counted at the point of sale and lands in chart ledgers, ranked per day and per week.
That asymmetry is why so many catalogs disappoint. Of the fifteen records in Datadory's movies & entertainment slice, exactly two ship budget as a first-class field: Kaggle - The Movies Dataset (TMDB + MovieLens) at 45,000 films and Kaggle - TMDB 5000 Movie Dataset at 4,803. Both also carry revenue on the same row, which makes them the only records where return on production spend is a division rather than a join project.
Revenue on its own runs deeper than either corpus. Box Office Mojo publishes daily, weekend, weekly, monthly and yearly charts reaching back to the early 1980s with roughly 20,000+ complete gross histories; The Numbers - Movie Financial Data runs daily domestic series from an archive founded in 1997 with theater counts and distributor market shares; and BFI Industry Data & Insights ranks the UK Top 15 every weekend in sterling.
Which datasets put budget beside revenue on the same row?
Kaggle - The Movies Dataset (TMDB + MovieLens) is the largest answer. It joins 45,000 films of TMDB metadata - budget, worldwide revenue, genres, keywords, cast, crew - to 26 million rating events from 270,000 users, crosswalked three ways (movieId / imdbId / tmdbId) so any external title list attaches through a dictionary lookup instead of fuzzy matching. Money arrives as integers in dollars on both sides, and genre travels as parsed arrays rather than strings wearing a CSV costume.
Its scope is labelled honestly: films released on or before July 2017, frozen at the November 2017 version-7 upload, with the catalog inheriting the GroupLens film list's English-language skew. That freeze is precisely what makes it a benchmarking corpus - every analysis reproduces bit-for-bit - and a limit for anything wanting current releases.
If the question needs something small enough to reason about whole, Kaggle - TMDB 5000 Movie Dataset holds 4,803 films per file across two CSVs joined by TMDB id, adding complete cast and crew credits with billing order and job roles. Its twenty documented columns include both money fields, and Datadory resolves its five embedded JSON-string columns into real structure before delivery. On the catalog rubric it scores 6 against the wider slice's verified-field standard.
How far back do the revenue histories reach?
Box Office Mojo is the longitudinal record: daily grosses for major releases run back to the early 1980s, giving four decades of decay curves - enough history that opening-weekend prediction is trainable rather than anecdotal. Each row carries rank, last-week rank, day or weekend gross, week-on-week and year-on-year change, theater counts, per-theater averages, cumulative totals and distributor; roughly 20,000+ titles hold full histories across domestic, per-territory international and worldwide views. It scores 8 out of 10 on Datadory's rubric.
The Numbers - Movie Financial Data plays the receipts-plus-economics role: daily domestic charts from a 1997-founded archive, franchise roll-ups, distributor market-share tables and a deeper reach into budgets and ancillary windows, scoring 7. Where Box Office Mojo holds the longest recurring curve, The Numbers pairs the chart with roll-ups already cut.
BFI Industry Data & Insights covers the United Kingdom as official statistics: one ranked Top 15 per weekend since 2017, ten fields deep with weekend gross, site average, total to date, distributor, country of origin, weeks on release and cinema count - plus Statistical Yearbook editions back to 2002. A new entry reads differently by design: its week-on-week change arrives empty and its cumulative total equals its opening weekend, so new-versus-holdover segmentation is a filter rather than a heuristic.
How do you build a defensible budget-versus-gross analysis?
A reproducible build looks like this:
- Take the 45,000-film economics corpus as the spine -
budget,revenue,runtime, genres and credits keyed by TMDB id, with the identifier crosswalk riding alongside. - Treat zero-budget and zero-revenue rows as unrecorded, not cheap. Every average you compute changes once those rows are excluded explicitly rather than silently.
- Attach audience signal from the 26-million-rating history on shared ids, so demand context sits beside the money without a second reconciliation.
- Normalise geography before dividing: domestic versus worldwide denominators produce different multiples for the same film, and mixing them invalidates the comparison before modelling starts.
- Quote lifetime figures with their snapshot date - cumulative totals grow while a run continues, so a cume without a date is not a fact.
Steps 2 through 5 are the assembly work Datadory ships as product: missing-value flags, harmonised keys and period-explicit rows arrive with the delivery rather than as homework after it.
What do the delivered rows look like?
One row per film on the economics corpora; one row per release per chart period on the ledgers. Straight off the shelf:
```text # grain A: film economics - one row per film id : 19995 title : Avatar budget_usd : 237000000 revenue_usd : 2787965087 # worldwide lifetime gross roi_multiple : 11.8 # derived, scope labelled release_date : 2009-12-10 genres : Action | Adventure
How do analysts stress-test budget-versus-gross findings?
Three habits separate defensible work from chart-clipping.
First, pair every gross series with a critic control. Rotten Tomatoes Movies & TV carries Tomatometer and Popcornmeter scores with review counts side by side per title - the only record where critics and verified audiences share a row - while Metacritic Movie Browse contributes 17,312 ranked films with weighted Metascores and the positive/neutral/negative split behind each score. Testing whether consensus predicts revenue wants the distribution, not just the headline percentage.
Second, respect the snapshot problem. Both economics corpora stop at July 2017 releases, so any ROI conclusion describes a pre-2018 slate; refresh the tail through a live feed such as The Movie Database (TMDB) API v3 rather than assuming the corpus is current.
Third, keep geography straight. Box Office Mojo reports US/domestic plus international and worldwide aggregates; The Numbers treats domestic (US/Canada) as primary scope with separate worldwide views; BFI covers the United Kingdom alone. A worldwide multiple computed from mixed denominators is wrong before any model runs - and the fix is labelling scope on every row, which is how deliveries arrive.
Who works with budget-and-gross data, and for what?
Data scientists train revenue prediction on the classic matrix - budget, runtime, genres, cast weight and keywords against worldwide gross - and benchmark recommenders on the same ids; see the data scientists' shelf.
Market researchers read content mix and slate strategy out of franchise roll-ups and distributor shares, then anchor demand claims on theatrical receipts - see the market researchers' view.
Competitive-intel and product teams track rival openings frame by frame and exclusivity shifts title by title, using chart rank histories as the earliest public signal - see the competitive-intel split.
Persona fit has edges worth naming: these records measure tickets sold as dollars and spend reported voluntarily. Streaming viewership lives in JustWatch Streaming Guide, review sentiment in Rotten Tomatoes and Metacritic - pair accordingly rather than expecting one feed to cover the whole value chain.
Why get movie budget and revenue data through Datadory?
Because the hard part was never finding the numbers - it was making them meet. Budget sits in a JSON-string column inside one vendor's export; revenue sits in HTML charts keyed differently; identifiers disagree between systems; five attribute columns arrive as strings wearing a CSV costume.
Datadory removes that layer. Every stringified-JSON column lands parsed into real structures. Join keys are harmonised across records, so the IMDb-keyed title universe, the rating events and the gross histories meet on columns you did not have to negotiate. Snapshot vintages are labelled on every delivery, schema drift gets flagged rather than discovered mid-model, and missing-money flags distinguish zero-as-unrecorded from genuine zeros.
Delivery follows your pipeline rather than a source's schedule: API, files, or straight into your warehouse - daily, weekly, or hourly, your call. Hourly suits an opening weekend where trajectory moves fast enough to matter by Saturday afternoon; weekly suits a research desk running standing benchmarks; daily suits anyone feeding a feature store. Whichever you choose, the field dictionary travels unchanged, and sample rows ship first - real titles, real gross lines, real rating events, in the exact grain a delivery arrives at. Request a sample cut to your titles and dates.
| Dataset | Budget field? | What each row carries | Coverage depth | Best-fit question |
|---|---|---|---|---|
| Kaggle - The Movies Dataset (TMDB + MovieLens) | Yes | One row per film: budget, worldwide revenue, runtime, genres, keywords, cast and crew, plus one row per rating event | 45,000 films cut at July 2017 releases; 26 million ratings from 270,000 users | ROI modelling and recommender work on one pre-joined corpus |
| Box Office Mojo | No | One row per release per chart period: rank, gross, week-on-week and year-on-year change, theater count, per-theater average, cumulative total, distributor | Daily-through-yearly charts to the early 1980s; 20,000+ full gross histories | Decay curves and opening-weekend trajectories across four decades |
| The Numbers - Movie Financial Data | No (folds in on request) | One row per title per chart day: rank, previous rank, daily gross, change percentages, theaters, per-theater average, total gross, days in release | Daily domestic series from a 1997-founded archive; franchise and distributor roll-ups | Franchise valuation and distributor market share beside the chart |
| Kaggle - TMDB 5000 Movie Dataset | Yes | One row per film in each of two files: twenty documented columns including budget and revenue, plus full cast and crew credits | 4,803 films per file at its 2017 vintage, joined by TMDB id | Teaching builds and quick end-to-end pipeline prototypes |
| BFI Industry Data & Insights | No | One row per film per reporting week: weekend gross, site average, total to date, distributor, country of origin, weeks on release, cinema count | Weekly UK Top 15 from 2017; Yearbook editions back to 2002 | Citable UK market statistics and holdover analysis |
| Metacritic Movie Browse | No | One row per film: weighted Metascore, user score, critic review counts split positive, neutral and negative, genres, runtime | 17,312 ranked films; titles under 7 critic reviews excluded | Modelling consensus shape rather than the headline score |
Pick up where this leaves off
Every one of these ships with sample rows before you commit to anything.
Kaggle - The Movies Dataset (TMDB + MovieLens)
imdb_id · movieId · imdbId …+13 more
Kaggle - TMDB 5000 Movie Dataset
title · original_title · budget …+18 more
Box Office Mojo
rank · release_title · prior_period_rank …+8 more
The Numbers - Movie Financial Data
rank · prev_rank · title …+8 more
BFI Industry Data & Insights
Rank · Film · Distributor
GroupLens MovieLens Datasets
further shaping and joins on request …+8 more
Want rows instead of a pitch? Name the datasets.
API, files, or your warehouse. Daily, weekly, or hourly.
Get a sampleQuestions worth asking
What does Datadory deliver for movie budget and revenue data?
Two corpora carry budget beside revenue on the same row: Kaggle - The Movies Dataset (TMDB + MovieLens) with 45,000 films joined to 26 million ratings, and Kaggle - TMDB 5000 Movie Dataset with 4,803 films in two files. Around them sit the revenue ledgers - Box Office Mojo's charts reaching the early 1980s and The Numbers' daily domestic series - all delivered as typed rows with field dictionaries attached.
Why do most movie datasets carry revenue but no budget?
Because budgets are volunteered, not tallied. Production spend surfaces through trade reporting rather than any ticketing system, so it lands in metadata catalogs as an editorial field; revenue is counted at the point of sale and lands in chart ledgers. Of the fifteen records in Datadory's movies & entertainment slice, exactly two ship budget as a first-class field.
Can I compute return on production spend directly?
On the two economics corpora, yes - budget and worldwide lifetime gross sit on the same row in dollars, so ROI is a division. Two caveats travel with the numbers: zeros mean unrecorded rather than cheap, and the corpora cut at July 2017 releases, so multiples describe a pre-2018 slate rather than current ones.
How current is the budget-and-revenue corpus?
The 45,000-film bundle froze at its November 2017 version-7 upload covering releases on or before July 2017; the 4,803-film cut froze at its September 2017 vintage. The freeze is a feature for reproducible benchmarks. For titles released since, pair the corpus with live metadata such as The Movie Database (TMDB) API v3.
Which record covers UK box office statistics?
BFI Industry Data & Insights - the only citable official-statistics record in the slice. It publishes weekly Top 15 UK weekend grosses in sterling from 2017 onward with site averages and weeks-on-release on every row, plus annual Statistical Yearbook editions back to 2002 spanning production, certification, audiences and the screen economy.