Data Analytics project 09
Social Media Metrics Dashboard in Power BI
Build a complete social media metrics dashboard portfolio project with documented metrics, reproducible DAX code, validation checks, and responsible interpretation.
Explore Data Analytics training in VizagView all project ideas
Business question
How can a dashboard compare engagement, click-through, video completion, and follower movement without mixing incompatible denominators?
Dataset and grain
A documented social-post fact table containing impressions, post reach, engagement components, link clicks, video starts and completions, and follower changes.
Requirements
Power BI Desktop with FactSocial at post-date grain and a related continuous DimDate table.
Method and validation checks
Build additive numerator measures, calculate rates with DIVIDE, activate date context through the model, and retain an explicit post-reach sum rather than calling it unique reach.
- Engagement components share the same post grain
- Each rate uses its correct denominator
- Post Reach Sum is not described as unique people
- Previous-month comparison uses the marked date table
Complete DAX code
Save the code as da_social_media_dashboard.dax. Review the stated model and field assumptions before using another dataset.
// Power BI model assumptions
// FactSocial: DateKey, PostID, Impressions, PostReach, Likes, Comments,
// Shares, Saves, LinkClicks, VideoStarts, CompletedViews,
// FollowersGained, FollowersLost
// DimDate[Date] 1-* FactSocial[DateKey]
Impressions =
SUM ( FactSocial[Impressions] )
Post Reach Sum =
SUM ( FactSocial[PostReach] )
Engagements =
SUMX (
FactSocial,
FactSocial[Likes] + FactSocial[Comments] +
FactSocial[Shares] + FactSocial[Saves]
)
Engagement Rate by Impressions =
DIVIDE ( [Engagements], [Impressions] )
Link Clicks =
SUM ( FactSocial[LinkClicks] )
Link CTR =
DIVIDE ( [Link Clicks], [Impressions] )
Video Completion Rate =
DIVIDE ( SUM ( FactSocial[CompletedViews] ), SUM ( FactSocial[VideoStarts] ) )
Net Follower Change =
SUM ( FactSocial[FollowersGained] ) - SUM ( FactSocial[FollowersLost] )
Engagements Previous Month =
CALCULATE ( [Engagements], DATEADD ( DimDate[Date], -1, MONTH ) )
Engagement MoM % =
DIVIDE ( [Engagements] - [Engagements Previous Month], [Engagements Previous Month] )
// Post Reach Sum can double-count people reached by multiple posts.
// Use a platform-provided unique-account measure when account-level reach is required.
Build and run the project
Create the DAX measures in Power BI Desktop, validate them by post, then assemble KPI cards, trends, post rankings, and platform cuts.
- Confirm the source grain and field definitions.
- Reconcile record counts and additive totals.
- Validate rate denominators and date filters.
- Review outliers and missing values.
- Read the interpretation limits before sharing conclusions.
Expected analytical output
DAX measures for impressions, reach sum, engagements, engagement rate, link CTR, video completion, follower change, and month-over-month engagement.
Interpretation and responsible-use limits
Platform definitions, deduplication, privacy features, paid versus organic scope, and historical revisions can differ. Confirm source definitions before cross-platform comparison.
Ways to extend the project
Add platform-specific pages, paid and organic splits, benchmark bands, data freshness, content tags, accessible colours, and metric-definition tooltips.
Continue learning Data Analytics
Try the next project, return to the Softenant project library, or explore the Data Analytics course in Vizag for guided SQL, Excel, Power BI, Python, dashboard, and portfolio practice.