Back to Projects
Data SciencePythonEDACRISP-DMBusiness Intelligence

Box Office Intelligence Dashboard

Exploratory data analysis of 50,000+ films to identify the key drivers of box office success — genre selection, budget optimisation, and critical reception — translated into a data-driven production strategy for a new movie studio.

View on GitHubApril 2026 · 2010–2018 data
50K+
Films Analysed
BOM + TN datasets
230%
Revenue Uplift
Action/Sci-Fi vs industry
$50–80M
Optimal Budget
Best risk-adjusted tier
65+
RT Threshold
Certified Fresh premium
93%
Profit Rate
$100–200M budget tier
$30.9B
Peak Market
2017 global box office

Strategy Dashboard

9-panel consolidated view for non-technical stakeholders — KPI headlines, objective summaries, diagnostic panels, market trends, and recommendation cards.

9-panel Strategy Dashboard

Business Context

Problem Statement

A company planning to enter the film industry lacks production experience and has no clear strategy for selecting the types of movies to produce. Given the high capital requirements and inherent risk of film production, the studio needs data-driven guidance to increase the likelihood of box office success from its first slate.

CRISP-DM Methodology

Business UnderstandingDefine objectives, success metrics, and constraints
Data UnderstandingAudit 4 datasets for quality and structure
Data PreparationClean financials, engineer ROI, explode genres
ModellingEDA — genre groupby, budget tiering, score banding
EvaluationValidate findings against core business questions
Deployment9-panel strategy dashboard + 3 recommendations

Data Sources

SourceRecords
Box Office Mojo3,387
The Numbers5,782
RT Movie Info1,560
RT Reviews54,432
Python
pandas
NumPy
Seaborn
Matplotlib
SciPy

Analysis & Findings

01

Genre Revenue Analysis

Identify which movie genres generate the highest box office revenue by exploding pipe-delimited genre tags, computing average and total gross per genre, and filtering to genres with ≥ 10 films to avoid small-sample bias.

Genre Revenue Lollipop Chart

Key Findings

  • Sci-Fi / Fantasy leads at $80.9M average per film
  • Action & Adventure: best volume-to-earnings ratio (366 films, $62.3M avg)
  • Animation: most consistent — near-zero commercial failures in the dataset
  • Comedy & Drama: high volume, low per-film avg ($41.9M / $28.3M) — inefficient for a new studio
  • Horror: $26.4M avg but exceptional ROI potential at micro-budgets ($1–5M)

Code Sample

rt_genre = (
    rt_inf
    .assign(genre=rt_inf['genre']
        .fillna('Unknown')
        .str.split('|'))
    .explode('genre')
    .copy()
)
rt_genre['genre'] = rt_genre['genre'].str.strip()

genre_stats = (
    rt_genre
    .groupby('genre')['box_office']
    .agg(['mean','median','count','std'])
    .query('count >= 10')
    .sort_values('mean', ascending=False)
)

Key Insight — Genre is the single most controllable lever a new studio has. Sci-Fi, Action, and Animation deliver both earning power and consistency — the right combination for a studio that cannot afford high-profile failures early.

02

Budget vs. ROI Correlation

Evaluate profitability across 5 budget tiers using median ROI (robust to outliers) and profit rate. A log-log scatter of all 5,415 films reveals the power-law structure invisible on linear axes.

Budget vs Revenue Log-Log Scatter

Key Findings

  • $100–200M tier: 93.1% profit rate — 93 in every 100 films recoup their budget theatrically
  • Median ROI of 2.79× — a $150M film earns ~$418M worldwide at the median
  • $10–50M range: only 66% profit rate — the worst risk-adjusted tier in the dataset
  • $200M+ tier: best absolute numbers but requires established distribution infrastructure
  • Log-log scatter confirms power-law structure: bigger budgets cluster near break-even; small films scatter widely below

Code Sample

bins   = [0,10e6,50e6,100e6,200e6,500e6,1e12]
labels = ['<$10M','$10–50M','$50–100M',
          '$100–200M','$200–500M','$500M+']
tn['tier'] = pd.cut(
    tn['production_budget'],
    bins=bins, labels=labels
)

tier_stats = (
    tn.groupby('tier', observed=True)
    .agg(
        median_roi  =('roi',        'median'),
        profit_rate =('profitable', 'mean'  ),
        count       =('roi',        'count' ),
    )
    .reset_index()
)

Key Insight — The optimal strategy is neither to minimise cost nor to maximise scale. The $50–80M efficient middle tier delivers the best balance of profitability and manageable risk for a studio building its first slate.

03

Critical Reception Impact

Aggregate RT Reviews to compute fresh_pct per film, merge with RT Info (299 matched films), bin into 5 score bands, and model the revenue impact of critic quality using KDE density curves split by revenue tier.

Critical Reception Analysis

Key Findings

  • Certified Fresh (91–100%) earns +30% more than Rotten (0–40%) films
  • The 61–75% band underperforms — prestige / limited-release films with minimal wide distribution
  • KDE chart confirms: high-grossing films cluster visibly at higher critic scores
  • R² is low — franchise blockbusters earn regardless of reviews, but quality matters for the majority
  • 299-film matched sample is directional — the +30% signal is consistent across subsets

Code Sample

fresh_pct = (
    rt_rev
    .groupby('id')['fresh']
    .apply(
        lambda x: (x == 'fresh').mean() * 100
    )
    .rename('fresh_pct')
    .reset_index()
)

merged = rt_genre.merge(
    fresh_pct, on='id', how='inner'
)

bins   = [0, 40, 60, 75, 90, 100]
labels = ['Rotten','Mixed','Fresh',
          'Good','Certified Fresh']
merged['score_band'] = pd.cut(
    merged['fresh_pct'],
    bins=bins, labels=labels
)

Key Insight — Critical reception is a meaningful but not dominant revenue driver. Treat quality as a competitive advantage: invest in it, but pair it with strong genre selection, distribution scale, and audience targeting rather than relying on reviews alone.

Strategic Recommendations

01

Lead with Sci-Fi, Action & Animation

  • Primary genres: Sci-Fi/Fantasy ($80.9M avg), Action/Adventure ($62.3M), Animation ($56.2M)
  • Target PG-13 rating for maximum audience breadth ($56.5M avg vs. $23.2M for R-rated)
  • Avoid Drama ($28.3M) and Documentary ($11.9M) in the first 3-year slate
  • Secondary play: Horror micro-budget ($1–5M) for cash flow and high-ROI diversification
02

Budget $50–80M per Tent-Pole

  • Primary range: $50–80M per tent-pole for optimal risk-adjusted returns
  • Expected returns: 2.79× median ROI = $140–225M worldwide at the median
  • Micro-budget exception: $1–10M horror films for slate diversification and cash flow
  • Avoid the $10–50M range: 66% profit rate — worst risk-adjusted tier in the dataset
03

Invest in Quality — Target Certified Fresh

  • +30% average revenue premium for Certified Fresh vs. Rotten films (+$10.8M)
  • Hire directors with strong critical track records for first 3 productions
  • Budget $2–5M for script development before any production greenlight
  • Delay release rather than cut quality — date flexibility is a competitive advantage

Final Summary

ObjectiveStatistic
Genre Revenue$80.9M & $62.3M avg
Budget vs ROI93.1% profit rate
Critical Quality+$10.8M avg premium
Market Trend$24.5B → $30.9B
Studio Benchmark$417M vs $230M avg
MPAA Rating$56.5M vs $23.2M avg

Limitations & Caveats

All figures are nominal — not inflation-adjusted for the 2010–2018 period
Critical reception analysis uses 299 matched films — directional finding, not statistically definitive
TN production budgets exclude P&A spend, which typically equals 50–100% of production cost
Genre classification differs between RT (text labels) and BOM — datasets used independently
Outlier blockbusters (MCU, franchise sequels) may skew genre and budget averages upward