Skip to content

Comprehensive Power BI dashboard analyzing global movie revenue, ratings, and ROI, complemented by Python-driven data cleaning and advanced DAX measures for dynamic insights.

Notifications You must be signed in to change notification settings

mjshubham21/MoviesMetrics_PowerBi_Python_Project

Repository files navigation

Movies Power BI + Python (Cleaning & Filtering) Data Analysis Project  

By Shubham Pawar

My LinkedIn Profile: LinkedIn


📌 Project Overview

This comprehensive Power BI project analyzes movie revenue, ratings, and box office data across multiple countries and genres.
The interactive dashboard provides actionable insights into global box office trends, movie popularity, ROI performance, and audience ratings, demonstrating proficiency in data modeling, visualization, and storytelling aligned with industry best practices.


📋 Project Link (Power BI File - pbix):

Movies Power BI Project


Dataset link:

Movies Dataset

Note: This dataset was generated and prepared by me using Python scripting for data cleaning and filtering prior to analysis.


📊 Key Insights (Based on Narrative Visual)

  • Global Box Office Trends

    • Average global box office revenue exhibited a 1.43% decline between 2000 and 2025.
    • Beginning in 2015, a rebound was observed with a 0.28% increase ($76,937.43) over ten years.
    • The steepest incline occurred between 2015 and 2025, with average global box office rising from $271,342,16.80 to $272,111,54.23.
  • Popularity by IMDb Ratings

    • The IMDb rating bin with the highest movie count (6) includes 138,329 movies, which is approximately 20,546% greater than the lowest bin (1) with 670 movies.
    • This bin accounts for 26.16% of the total movie count.
    • Across all ten IMDb rating bins, movie counts range from 670 to 138,329.

🛠️ Skills and Tools Demonstrated

🔹 Power BI Data Analysis and Visualization

  • Developed a robust data model with clear relationships enabling dynamic and interactive reporting.
  • Created advanced DAX measures to capture key business metrics such as ROI, average ratings, and revenue.
  • Leveraged Power BI's Smart Narrative visual to automatically summarize key insights for effective storytelling.
  • Implemented Row-Level Security (RLS) to enforce data access control based on continent grouping.
  • Utilized conditional formatting, slicers, and drill-through functionalities to enhance user experience and actionable insights.

Power BI’s powerful combination of data modeling, intuitive visuals, and real-time interactivity makes it an indispensable tool for uncovering patterns and delivering business intelligence clearly and efficiently.


🔹 Python Scripting for Data Cleaning and Preparation

  • Executed Python scripts using libraries such as pandas and numpy for advanced data cleaning and filtering, improving data quality prior to Power BI ingestion.
  • Handled missing values, duplicates, and formatted date columns to ensure consistency.
  • Generated exploratory summaries and visualizations to validate data distributions and identify anomalies early in the process.

Python's versatility in preprocessing complements Power BI's analytical strengths, enabling a seamless end-to-end data science workflow from raw datasets to actionable dashboards.


🔹 Data Modeling

  • The data model consists of a single, denormalized table (movies_cleaned) containing all relevant movie attributes, including genre, country, director, and ratings. While a star schema with separate dimension and fact tables is a best practice for larger or more complex datasets, a single-table model is appropriate here given the project scope and simplicity.

  • This design simplifies filtering and aggregation directly on the columns within the one table, enabling straightforward and performant reporting without the overhead of managing multiple related tables.

  • Created a dedicated Measures Table to centralize all DAX calculations and KPIs for maintainability.


🔹 Power Query Data Transformation Steps

Within Power BI, the following Power Query Editor steps were performed to further shape and enrich the data:

  • Source: Imported the prepared movie dataset.

  • Promoted Headers: Ensured correct column naming from source data.

  • Changed Type: Set appropriate data types for each column for accurate calculations.

  • Added ROI%: Created a custom column to calculate Return on Investment as a percentage.

  • Added Profit: Derived the Profit column from global box office and budget values.

  • Added Decade: Extracted decade info to enable time-based analysis.

  • Reordered Columns: Organized columns for better accessibility and logical flow.

  • Changed profit to decimal: Ensured numeric formatting for profit calculations.

  • Added Continent: Mapped each movie's country to its continent for enhanced filtering and RLS configuration.

  • Reordered Columns1: Final reordering to optimize dataset structure.

These data transformation steps ensured clean, well-structured data, enabled meaningful aggregations, and supported the dashboard’s interactive features and security requirements.


🔹 DAX (Data Analysis Expressions)

Defined critical measures covering business metrics such as:

totalMovies = COUNT(movies_cleaned[MovieID])

AvgIMDbRating = AVERAGE(movies_cleaned[IMDbRating])

MaxProfit = MAX(movies_cleaned[Profit])

AvgGlobalBoxOffice = AVERAGE(movies_cleaned[Global_BoxOfficeUSD])

ROI = DIVIDE(
    SUM(movies_cleaned[Global_BoxOfficeUSD]) - SUM(movies_cleaned[BudgetUSD]),
    SUM(movies_cleaned[BudgetUSD]),
    0
)
  • Applied conditional formatting to highlight high-ROI and high-grossing films.
  • Leveraged other DAX functions such as COUNTROWS, DIVIDE, IF, and AVERAGEX for nuanced aggregations.
  • Incorporated Smart Narrative visuals to dynamically surface key insights.

🔹 Row-Level Security (RLS)

Implemented Row-Level Security by continent to restrict data access appropriately:

  • Created a custom Continent calculated column mapping countries to continents.
  • Defined continent-specific roles in Power BI Desktop.
  • Configured permissions so users only access relevant regional data, enhancing data governance and compliance.

🎯 Key Learnings

  • Designing data models that support dynamic and precise reporting.
  • Leveraging Python and Power Query to enhance data quality.
  • Crafting complex DAX measures to capture business-critical KPIs.
  • Building interactive dashboards that communicate data stories effectively.
  • Implementing RLS to safeguard sensitive information and enforce access controls.

📸 Screenshots

  1. Dashboard: Dashboard

  1. Map: Map

About

Comprehensive Power BI dashboard analyzing global movie revenue, ratings, and ROI, complemented by Python-driven data cleaning and advanced DAX measures for dynamic insights.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published