Power BI Dashboard for OTT Platform – Full Design Breakdown & Analytics

Power BI Dashboard for OTT Platform – Full Design Breakdown & Analytics

Power BI Dashboard for OTT Platform

Advanced data storytelling with KPIs, user segmentation, and content analytics

Over-the-top (OTT) streaming platforms live and breathe data — from how users watch, to what keeps them subscribed. This Power BI dashboard design visualizes the entire analytics lifecycle of a streaming service. The dashboard was created as a design and analytics concept, blending realistic data with a modern Figma-inspired layout.

📂 Dashboard Navigation & Page Layout

The report is divided into four interactive pages accessible through a left navigation panel:

  • 1️⃣ Overview: Executive summary with KPIs, financials, and global user trends.
  • 2️⃣ User Analytics: Segmentation by plan type, region, and engagement behavior.
  • 3️⃣ Content Performance: Title-level performance, genre insights, and completion rates.
  • 4️⃣ Churn & Retention: Predictive analysis of churn probability and retention campaigns.

📊 Page 1 – Business Overview

The Business Overview page acts as the executive summary of the OTT Analytics Dashboard. It’s the page that decision-makers visit first — offering a high-level understanding of how the platform is performing across revenue, audience growth, engagement, and churn metrics. Every element on this page is built with contrast, storytelling, and usability in mind.

🎨 Design Philosophy

The design uses a dark, cinematic background — aligning visually with OTT brand aesthetics. The dashboard employs subtle gradients and neon-blue accent colors to highlight KPIs, maintaining a premium, immersive feel. Layout follows the “Z-pattern” — eye movement starts from the top-left KPI area, flows to the right across performance cards, and ends at bottom visual clusters.

🏁 Key Metrics (KPI Cards)

  • Total Revenue: ₹186 Cr (YoY Growth +22%)
  • Active Subscriptions: 4.3M users
  • Average Watch Time: 2.7 hrs/day
  • Churn Rate: 6.4%

Each KPI card is interactive — users can click a metric to filter the entire page. For example, selecting “Active Subscriptions” filters the revenue and churn visuals by subscription tier (Basic / Premium / Family). Tooltips reveal additional drill-through insights like ARPU (Average Revenue per User) and Watch Time per Subscriber Segment.

📆 Monthly Revenue Trend – Dual Axis Chart

This chart compares Revenue (bars) with New Subscriptions (line) across time. It’s a dual-axis visual — a popular combination for OTT analytics because it allows both volume and growth dynamics to be visualized simultaneously. The left Y-axis represents total revenue, while the right Y-axis maps subscription counts.

Here’s a simple DAX measure to calculate monthly revenue:

Monthly Revenue = 
SUMX(
  VALUES('Date'[Month]),
  CALCULATE(SUM('Revenue'[Amount]))
)

You can further enhance this measure with Year-over-Year growth:

YoY Revenue Growth % = 
VAR CurrRevenue = [Monthly Revenue]
VAR PrevRevenue = CALCULATE([Monthly Revenue], DATEADD('Date'[Date], -1, YEAR))
RETURN
DIVIDE(CurrRevenue - PrevRevenue, PrevRevenue)

Using this DAX logic, Power BI dynamically calculates growth percentages even as you filter by region, platform (Mobile / Web / Smart TV), or content genre.

🗺️ Regional Revenue Heat Map

The Regional Revenue Heat Map provides an at-a-glance view of geographic performance. Each country’s color intensity reflects its contribution to total revenue, and hovering displays metrics like:

  • ARPU (Average Revenue per User) – identifies high-value geographies.
  • Avg. Watch Duration – measures user stickiness.
  • Conversion Rate – how many trial users converted to paid plans.

You can use the Map or Filled Map visual in Power BI, connected to a table with Country, Revenue, Subscribers, and Engagement Hours. If your data includes city-level granularity, consider using the Azure Maps Visual for better precision and layering multiple measures (e.g., watch time as bubble size, ARPU as color gradient).

💡 Pro Tip – Storytelling with KPIs

Combine numeric KPIs with context: instead of showing just “₹186 Cr,” add a small indicator like ▲ +22% YoY or ▼ -5% QoQ. Visual cues such as color-coded arrows or micro-sparklines help executives grasp performance at a glance without reading textual detail.

🔗 Navigation & User Experience

The top navigation bar includes subtle buttons linking to other report pages:

  • Content Performance – Top trending titles, genre-wise engagement, and completion rate.
  • Marketing Funnel – Campaign performance, acquisition cost, and retention cohorts.
  • User Segmentation – Demographic distribution and device-level consumption trends.
  • Revenue Insights – ARPU trends, payment success rates, and partner settlements.

The bottom-right corner also includes a “📅 Data Refresh” indicator, showing when the dataset was last updated, reinforcing data reliability and governance standards.

🧩 Relationships & Model Tip

The Revenue, Subscription, and Engagement tables are linked to a central Date dimension using a Star Schema. This allows time intelligence functions (like DATEADD, PARALLELPERIOD, YTD) to work consistently across all visuals.

Relationships Example:
'Revenue'[DateKey] → 'Date'[DateKey]
'Subscription'[DateKey] → 'Date'[DateKey]
'Engagement'[UserID] → 'Users'[UserID]

This relational model ensures the Business Overview dashboard updates automatically as new data flows in from backend APIs or scheduled data gateways.

Overall, the Overview page isn’t just a data report — it’s a data story that communicates platform health in one glance and invites deeper exploration across other report pages.

👥 Page 2 – User Analytics & Segmentation

The User Analytics & Segmentation page focuses on understanding the audience beyond surface metrics — identifying who your users are, how they engage, and what drives retention or churn. This page combines demographic data, subscription types, and device preferences into a unified behavioral narrative.

📊 Key Distribution Metrics

  • Subscription Type Split: Premium 48%, Standard 37%, Free 15%
  • Age Group Analysis: 18–25 years hold 41% of active viewership
  • Device Usage: Mobile 54%, Smart TV 31%, Web 15%

These statistics are visualized using a combination of Donut Charts and Stacked Bars. The goal is to create at-a-glance visuals that reveal consumption patterns without overwhelming the reader. For instance, the age group chart uses color bands ranging from light blue (younger audiences) to orange (older cohorts), helping instantly differentiate generational segments.

🔀 Multi-Dimensional Sankey Flow

The Sankey chart is the centerpiece of this page — visually mapping the user journey from Plan → Device → Region. Each flow represents the proportion of users moving between nodes, revealing intersections that drive engagement intensity.

For example:

  • Premium users on Smart TVs in Metro Regions account for 29% of total engagement hours.
  • Free-plan users on Mobile devices dominate trial usage but have a low conversion rate of 11%.
  • Standard plan users display the most balanced engagement across Web and Mobile platforms.

This Sankey is built using a custom visual (“Sankey Chart by MAQ Software”) from the Power BI Marketplace. It connects data from the Subscription, Device, and GeoRegion tables, linked via UserID and SessionID.

📈 DAX Example – Engagement Hours by Segment

Engagement Hours = 
CALCULATE(
    SUM('Engagement'[WatchHours]),
    ALLEXCEPT('Engagement', 'Users'[Segment], 'Device'[Category])
)

This DAX measure aggregates total watch hours per segment, ignoring filters from other visuals except segment and device. The result powers both the Sankey and a comparative bar chart that ranks “Top Performing Audience Segments”.

🧩 Engagement Relationship Matrix

One of the most insightful visuals here is the Engagement Relationship Matrix — a scatter plot mapping Engagement Score (Watch Hours × Completion Rate) against Monthly Spend. The result: a clear correlation (R² = 0.72) indicating that users who consume more content tend to spend more and maintain longer subscriptions.

Users are segmented into four behavioral quadrants:

  • Champions: High watch hours, high spend — ideal for loyalty and referral programs.
  • Sleepers: Low engagement, high spend — candidates for retention campaigns.
  • Explorers: Moderate engagement, low spend — potential to upsell via exclusive offers.
  • Free Floaters: Low spend, low engagement — primarily trial or casual users.

🧮 DAX – Engagement Score

Engagement Score = 
DIVIDE(
    SUM('Engagement'[WatchHours]) * AVERAGE('Engagement'[CompletionRate]),
    [Active Users]
)

This dynamic measure quantifies how much a user interacts with content relative to their plan. It can be used for clustering or RFM (Recency, Frequency, Monetary) segmentation in Power BI.

🎯 Insight Callouts

  • Users aged 18–25 show the highest engagement on Mobile devices but also the highest churn — suggesting a need for better app retention UX.
  • Smart TV users have a 1.8× higher ARPU (Average Revenue per User) than Web viewers — valuable for premium content targeting.
  • Free plan conversions are strongest in Tier-2 cities, hinting at potential marketing opportunities in emerging regions.

📐 Design Layout

Visually, this page uses a left-to-right narrative flow — filters and slicers (Region, Age, Plan Type) are aligned vertically on the left sidebar, while core visuals dominate the right grid. Subtle hover animations highlight user paths, and a color-coded legend makes it easy to distinguish segments. Each visual is intentionally spaced using Power BI’s 8px grid for pixel-perfect alignment, giving the dashboard a refined, designer-built aesthetic.

Together, the User Analytics page transforms data into behavior-driven storytelling, empowering the OTT platform to design better subscription models and engagement strategies.

🎬 Page 3 – Content Performance Dashboard

The Content Performance dashboard is the creative pulse of the OTT analytics suite. It reveals which titles, genres, and formats drive audience engagement — helping content, marketing, and strategy teams make data-backed decisions about renewals, promotions, and future investments.

🏆 Key Visuals

  • Top 10 Titles by Watch Time: A horizontal bar chart ranking titles by total viewing hours, with dynamic sorting and color intensity proportional to engagement.
  • Genre Engagement: A donut chart representing the percentage share of total watch hours by genre — Drama, Action, Comedy, Documentary, etc.
  • Completion Rate Analysis: A scatter chart mapping Average Episode Length vs Completion %, identifying where viewer fatigue or drop-offs occur.

Each visual is intentionally chosen to answer a distinct business question:

  • 💡 “What are people watching most?” – Top Titles chart.
  • 🎭 “Which genres dominate audience time?” – Genre Engagement donut.
  • ⏱️ “Where are viewers losing interest?” – Completion scatter plot.

📈 DAX Measures for Core KPIs

The first essential metric is Completion % — an indicator of how much of a title’s content users actually finish.

Completion % = 
DIVIDE(
    SUM('Content'[MinutesWatched]),
    SUM('Content'[TotalDuration]),
    0
)

This DAX measure divides total minutes watched by total duration of all episodes or movies. The result gives a normalized completion rate for each title, which is then plotted in a scatter chart against runtime or season length.

You can also calculate a weighted completion rate by factoring in the number of viewers:

Weighted Completion % =
DIVIDE(
    SUMX('Content', 'Content'[MinutesWatched] * 'Content'[Viewers]),
    SUMX('Content', 'Content'[TotalDuration] * 'Content'[Viewers])
)

This gives more weight to titles with larger audiences — a more realistic reflection of overall platform engagement.

🔥 Trending Titles Ranking

The dashboard includes a Trending Titles card that auto-updates daily based on watch hours. The logic uses a RANKX DAX measure:

Trending Rank = 
RANKX(
    ALL('Content'[Title]),
    [Watch Hours],
    ,
    DESC
)

This ranks each title dynamically across the entire catalog, allowing the visual to display the current Top 10 titles. Combined with a date slicer, the same logic can show trends over the last 7, 30, or 90 days.

You can also enhance it by applying a “Momentum Score” — measuring how fast a title’s rank is rising:

Momentum Score =
[RANK (Previous Period)] - [RANK (Current Period)]

A negative score means the title is climbing in popularity, while a positive score indicates decline.

🎬 Genre Engagement Analysis

The Genre Engagement donut chart breaks down the percentage of total watch hours per genre. This helps identify content clusters that are most valuable. For instance:

  • Drama: 34% of total viewing hours — consistent across all demographics.
  • Action: 22% — heavily skewed toward the 18–30 age group.
  • Documentaries: 9% — low but steady engagement; ideal for brand partnerships.

To enrich this, a secondary tooltip shows the Average Completion Rate per genre and Average Rating (from user feedback tables), giving a well-rounded view of performance beyond raw hours.

🧩 Correlation Scatter – Completion vs Length

A Completion vs Length scatter chart maps every title’s Average Episode Duration (X-axis) against its Completion % (Y-axis). A trend line visually shows correlation — typically a downward slope indicating that longer content has lower completion.

Example insight: “Episodes longer than 50 minutes show a 12% lower completion rate — suggesting that shorter content or split episodes retain attention better.”

🧮 DAX – Average Watch Time per Viewer

Avg Watch Time per Viewer =
DIVIDE(
    SUM('Engagement'[WatchHours]),
    DISTINCTCOUNT('Users'[UserID])
)

This measure is used for tooltips and small summary cards under the title visuals, showing how deeply each audience segment interacts with content.

💡 Insight Highlights

  • 🔥 Top performer: “The Last Horizon” – 19M watch hours, 88% completion.
  • 📉 Underperformer: “Campus Diaries” – high views but only 42% completion, suggesting content fatigue.
  • 📈 Emerging Trend: “True Crime” genre growing +28% MoM in engagement.
  • 🎯 Recommendation: Increase push notifications for high-completion but low-awareness titles.

🎨 Visual & Layout Design

The layout follows a clean, grid-based approach — with the top area reserved for summary KPIs, followed by ranked lists and genre visuals, ending with the scatter correlation section. Color consistency is maintained throughout: orange for content type, blue for engagement, and purple for completion.

Hover states use micro-interactions — tooltips pop up with secondary metrics like ARPU, viewer demographics, and churn risk. The dashboard title includes a subtle glow animation that cycles every few seconds, making it visually cinematic while maintaining professionalism.

🧠 Business Impact

The Content Performance dashboard transforms raw viewing data into actionable intelligence. It not only reveals which titles succeed but also why — enabling creative teams to plan renewals, experiment with episode formats, and optimize marketing spend based on audience completion patterns.

🔁 Page 4 – Churn & Retention Analysis

The Churn & Retention page leverages predictive analytics and advanced Power BI AI visuals (Key Influencers, Decomposition Tree) to pinpoint why users leave, and what actions drive them to stay longer.

  • Average Churn Probability: 11.2%
  • Top Churn Drivers: Declining engagement, expired promotional offers, low content relevance.
  • Retention Booster: Personalized “Recommended for You” carousel raises renewal likelihood by +17%.

📈 Predictive Model Overview

A logistic regression-based churn model predicts user churn based on 15+ behavioral attributes such as session frequency, plan type, last watch date, and offer usage. The Decomposition Tree highlights that engagement below 1.5 hours/day is the strongest predictor of churn.

📘 Example DAX for Churn Rate

Churn Rate = 
DIVIDE(
  CALCULATE(
    COUNTROWS(Users),
    Users[IsChurned] = TRUE()
  ),
  COUNTROWS(Users)
)

This DAX measure allows Power BI visuals to dynamically update churn % as filters like region, plan, or device are applied.

🎨 Design & UX Approach (Figma-Inspired)

The dashboard adopts a sleek, dark-mode analytics console with glassmorphism-style cards and soft blue/purple highlights to emphasize retention visuals. Charts are compact, using consistent 12-column grids and 4px spacing for visual rhythm.

  • Left navigation panel with persistent icons: Home, Users, Content, Retention.
  • Micro-interactions (hover glows, card elevation) enhance usability for business users.
  • Retention trend line and funnel visualization show user journey from Trial → Paid → Renewed.

💡 Key Insights Summary

  • 🎯 Young adults (18–25) contribute 40% of total watch time and are the most loyal demographic.
  • 💰 Premium plans deliver 62% of total revenue despite representing only 35% of the user base.
  • 🌍 Asia-Pacific exhibits fastest user growth at +29% YoY.
  • 📉 70% of churned users show engagement under 1.5 hours/day.
  • 📈 Personalized recommendations increase retention by 17% on average.

Together, these insights demonstrate how Power BI enables OTT businesses to uncover behavioral triggers, forecast churn with precision, and strengthen lifetime customer value through proactive engagement strategies.

🏁 Conclusion

This Power BI dashboard brings together storytelling, analytics, and design. It demonstrates how data can help OTT platforms make decisions faster — from targeting new markets to curating the right shows for the right audience.

Built as a conceptual project, it reflects real-world data architecture and visualization logic that any streaming company can adopt or extend for internal BI.

Comments