Metrics Documentation
๐ Metrics Documentation
Purpose: This page explains how all metrics are calculated in the BI Analytics Dashboard, providing transparency and enabling informed decision-making.
Data Coverage: January 1, 2026 - Present | Update Frequency: Daily
๐ Understanding the Metrics
Each metric includes:
- What it measures: Clear definition of the metric
- Why it matters: Business value and use cases
- Calculation: SQL logic and business rules
- Time Period: How the metric is filtered
๐ฅ User Type Exclusions
Important: Most user engagement metrics exclude admin and system users to provide accurate end-user adoption metrics.
Excluded User Types:
- Type 2: Admin users (platform administrators and report developers)
- Type 6: System users (automated processes and service accounts)
Metrics that exclude admin/system users:
- Active Report Users (MARU)
- Report Views (MRV)
- Unique Users (on Key Metrics page)
- Avg Views per Active User
- Report Exports
- Users Who Export
- All user-related metrics in Reports Insights page
- All user activity in the Users page
Metrics that include ALL users:
- Data Lineage metrics (tracking dependencies requires visibility into all activity)
- Report catalog counts (total reports, datasets, etc.)
Rationale: End-user engagement metrics should reflect actual business user adoption, not platform maintenance or testing activities.
๐ Page 1: Key Metrics
Purpose: Central dashboard showing all priority metrics for quick executive overview.
Time Comparison: All metrics use a month-to-date same-day comparison โ the first N days of the current month vs. the first N days of the previous month (where N = today's day number). This ensures a fair like-for-like comparison regardless of when the dashboard is viewed.
Priority Metrics
These are the most critical KPIs for measuring platform success:
1. Active Report Users (MARU)
What it measures: Number of distinct users who interacted with reports through viewing, printing, exporting, downloading, analyzing in Excel, or receiving email subscriptions.
Why it matters: THE most important metric for tracking actual report consumption and user engagement. Measures the reach of Power BI content across all interaction types.
Calculation:
-- Current month-to-date (day 1 through today)
COUNT(DISTINCT CASE WHEN activity IN ('ViewReport', 'PrintReport', 'ExportReport',
'DownloadReport', 'AnalyzeInExcel', 'RunEmailSubscription')
THEN user_email END)
WHERE activity_date >= DATE_TRUNC('month', CURRENT_DATE)
AND activity_date <= CURRENT_DATE
AND user_type NOT IN ('2', '6')
-- Previous month same period (day 1 through same day number)
COUNT(DISTINCT CASE WHEN activity IN ('ViewReport', 'PrintReport', 'ExportReport',
'DownloadReport', 'AnalyzeInExcel', 'RunEmailSubscription')
THEN user_email END)
WHERE activity_date >= DATE_TRUNC('month', CURRENT_DATE - INTERVAL '1' MONTH)
AND activity_date < DATE_TRUNC('month', CURRENT_DATE - INTERVAL '1' MONTH) + EXTRACT(DAY FROM CURRENT_DATE) * INTERVAL '1' DAY
AND user_type NOT IN ('2', '6')Activities Included:
- ViewReport: Users viewing reports
- PrintReport: Users printing reports
- ExportReport: Users exporting reports (to Excel, PDF, PowerPoint, etc.)
- DownloadReport: Users downloading reports
- AnalyzeInExcel: Users analyzing report data in Excel
- RunEmailSubscription: System sends scheduled email subscription
Business Logic:
- Focuses only on users consuming reports
- Counts each user once, regardless of how many reports accessed or activity types performed
- Key metric for measuring actual report consumption across all interaction methods
- Excludes admin users (type 2) and system users (type 6)
- MARU โค Unique Users (MARU is a subset)
Comparison:
- Difference: Current month-to-date - Previous month same period
- % Change: Percentage increase/decrease from same period last month
- Positive value: Current period has more active users (growth)
2. Report Views (MRV)
What it measures: Total number of times users viewed reports.
Why it matters: Primary metric for measuring overall platform usage and report consumption volume.
Calculation:
-- Current month-to-date
COUNT(*)
WHERE activity = 'ViewReport'
AND activity_date >= DATE_TRUNC('month', CURRENT_DATE)
AND activity_date <= CURRENT_DATE
AND user_type NOT IN ('2', '6')
-- Previous month same period
COUNT(*)
WHERE activity = 'ViewReport'
AND activity_date >= DATE_TRUNC('month', CURRENT_DATE - INTERVAL '1' MONTH)
AND activity_date < DATE_TRUNC('month', CURRENT_DATE - INTERVAL '1' MONTH) + EXTRACT(DAY FROM CURRENT_DATE) * INTERVAL '1' DAY
AND user_type NOT IN ('2', '6')Business Logic:
- Counts every report view event
- Includes repeat views by the same user
- Each view is a separate interaction
- Event-level metric (not user-level)
- Excludes admin users (type 2) and system users (type 6)
Comparison:
- Difference: Current month-to-date - Previous month same period
- % Change: Percentage increase/decrease from same period last month
- Positive value: Current period has more report views (growth)
Supporting Metrics
Additional performance indicators for deeper analysis:
3. Avg Views per Active User
What it measures: Average number of report views per active report user.
Why it matters: Indicates user engagement intensity. Higher values suggest users are more engaged and viewing multiple reports or returning frequently.
Calculation:
-- Month-to-date: MRV รท MARU (both using same-day comparison)
ROUND(CAST(COUNT(CASE WHEN activity = 'ViewReport' THEN 1 END) AS DOUBLE) /
NULLIF(COUNT(DISTINCT CASE WHEN activity IN ('ViewReport', 'PrintReport', 'ExportReport',
'DownloadReport', 'AnalyzeInExcel', 'RunEmailSubscription')
THEN user_email END), 0), 1)
WHERE activity_date >= DATE_TRUNC('month', CURRENT_DATE)
AND activity_date <= CURRENT_DATE
AND user_type NOT IN ('2', '6')Business Logic:
- Measures engagement depth (not just breadth)
- Higher values indicate power users
- Useful for identifying engagement patterns
- Calculated from MARU and MRV (both exclude admin/system users)
4. Unique Users
What it measures: All distinct users who had any activity recorded in the platform.
Why it matters: Shows total platform reach including all activities (not just report consumption). Broader than MARU.
Calculation:
-- Current month-to-date
COUNT(DISTINCT user_email)
WHERE activity_date >= DATE_TRUNC('month', CURRENT_DATE)
AND activity_date <= CURRENT_DATE
AND user_email IS NOT NULL
AND user_type NOT IN ('2', '6')
-- Previous month same period
COUNT(DISTINCT user_email)
WHERE activity_date >= DATE_TRUNC('month', CURRENT_DATE - INTERVAL '1' MONTH)
AND activity_date < DATE_TRUNC('month', CURRENT_DATE - INTERVAL '1' MONTH) + EXTRACT(DAY FROM CURRENT_DATE) * INTERVAL '1' DAY
AND user_email IS NOT NULL
AND user_type NOT IN ('2', '6')Business Logic:
- Includes all activities (consumption, development, admin, automated tasks, etc.)
- Excludes admin users (type 2) and system users (type 6)
- MARU โค Unique Users (always true)
5. Report Exports
What it measures: Total number of report export actions.
Why it matters: Tracks how often users export data/visuals for external analysis, presentations, or offline work.
Calculation:
-- Current month-to-date
COUNT(CASE WHEN activity = 'ExportReport' THEN 1 END)
WHERE activity_date >= DATE_TRUNC('month', CURRENT_DATE)
AND activity_date <= CURRENT_DATE
AND user_type NOT IN ('2', '6')
-- Previous month same period
COUNT(CASE WHEN activity = 'ExportReport' THEN 1 END)
WHERE activity_date >= DATE_TRUNC('month', CURRENT_DATE - INTERVAL '1' MONTH)
AND activity_date < DATE_TRUNC('month', CURRENT_DATE - INTERVAL '1' MONTH) + EXTRACT(DAY FROM CURRENT_DATE) * INTERVAL '1' DAY
AND user_type NOT IN ('2', '6')Business Logic:
- Counts every export event
- Includes exports to Excel, PDF, PowerPoint, and other formats
- Each export is counted separately (same user can export multiple times)
- Excludes admin users (type 2) and system users (type 6)
6. Users Who Export
What it measures: Number of distinct users who exported at least one report.
Why it matters: Shows what portion of the user base downloads data for external analysis. Helps identify power users who need data integration.
Calculation:
-- Current month-to-date
COUNT(DISTINCT CASE WHEN activity = 'ExportReport' THEN user_email END)
WHERE activity_date >= DATE_TRUNC('month', CURRENT_DATE)
AND activity_date <= CURRENT_DATE
AND user_type NOT IN ('2', '6')
-- Previous month same period
COUNT(DISTINCT CASE WHEN activity = 'ExportReport' THEN user_email END)
WHERE activity_date >= DATE_TRUNC('month', CURRENT_DATE - INTERVAL '1' MONTH)
AND activity_date < DATE_TRUNC('month', CURRENT_DATE - INTERVAL '1' MONTH) + EXTRACT(DAY FROM CURRENT_DATE) * INTERVAL '1' DAY
AND user_type NOT IN ('2', '6')Business Logic:
- Counts each user once regardless of export count
- Subset of MARU (Users Who Export โค MARU)
- Excludes admin users (type 2) and system users (type 6)
- Excludes admin users (type 2) and system users (type 6)
7. Total Reports (Catalog)
What it measures: All distinct reports in the Power BI platform.
Why it matters: Provides context for report usage rates. Large catalogs with low usage may indicate content consolidation opportunities.
Calculation:
SELECT COUNT(DISTINCT report_key)
FROM powerbi_analytics.fact_activity_insightsBusiness Logic:
- Static snapshot (not month-over-month comparison)
- Includes all reports regardless of activity status
- Used to calculate Report Usage Rate
8. Accessed Reports (User Engagement)
What it measures: Reports actively used by users (viewed, printed, exported, downloaded, or analyzed in Excel).
Why it matters: Shows how much of the report catalog is actually being consumed. Low percentages suggest unused/stale content.
Calculation:
SELECT COUNT(DISTINCT CASE WHEN activity IN ('ViewReport', 'PrintReport', 'ExportReport',
'DownloadReport', 'AnalyzeInExcel', 'RunEmailSubscription')
THEN report_key END)
FROM powerbi_analytics.fact_activity_insights
WHERE DATE_TRUNC('month', activity_date) = DATE_TRUNC('month', CURRENT_DATE)
AND user_type NOT IN ('2', '6') -- Exclude admin and system usersBusiness Logic:
- Focuses on user-initiated consumption activities
- Excludes development and automated activities
- Excludes admin users (type 2) and system users (type 6)
- Used to calculate Report Usage Rate
9. Report Usage Rate
What it measures: Percentage of Power BI reports that are actively used by users.
Why it matters: Key indicator of content health. Low rates suggest opportunities for report consolidation, archiving unused content, and improving discoverability.
Calculation:
-- Formula
ROUND((Accessed Reports รท Total Reports) ร 100, 1)
-- Full SQL
ROUND(COUNT(DISTINCT CASE WHEN activity IN ('ViewReport', 'PrintReport', 'ExportReport',
'DownloadReport', 'AnalyzeInExcel', 'RunEmailSubscription')
THEN report_key END) * 100.0 /
NULLIF(COUNT(DISTINCT report_key), 0), 1)Business Logic:
- Expressed as percentage
- Static snapshot (not compared month-over-month)
- 100% = all reports are actively used
- Low percentages (below 50%) suggest content governance issues
- Based on Accessed Reports metric (which excludes admin/system users)
๐ฅ Page 2: User Insights
Purpose: Analyze user engagement patterns, identify power users, and track adoption trends.
Time Period: Customizable date range filter
Metrics Available
Top Users Table
What it measures: Shows the top 50 users by activity volume with detailed breakdowns.
Metrics per User:
Total Activities: All recorded actions by the user
COUNT(*) WHERE user_email = [specific user] GROUP BY user_email, user_nameUser Consumption: Report viewing/consumption activities
COUNT(CASE WHEN activity IN ('ViewReport', 'PrintReport', 'ExportReport', 'DownloadReport', 'AnalyzeInExcel', 'RunEmailSubscription') THEN 1 END)Report Development: Report creation/editing activities
COUNT(CASE WHEN activity IN ('EditReport', 'CreateReport', 'DeleteReport', 'RenameReport') THEN 1 END)Admin/Artifacts: Administrative and artifact management activities
COUNT(CASE WHEN activity IN ('ExportArtifact', 'ReadArtifact', 'CreateArtifact', 'DeleteArtifact', 'Import') THEN 1 END)Copilot AI: AI-powered assistance requests
COUNT(CASE WHEN activity = 'RequestCopilot' THEN 1 END)Automated/Infrastructure: System and gateway activities
COUNT(CASE WHEN activity IN ('GenerateDataflowSasToken', 'RefreshDataset', 'GetGatewayClusterDatasourceStatus', 'GetAllGatewayClusterDatasources', 'GetGatewayClusters', 'GetGatewayRegions') THEN 1 END)Other Activities: All other activity types not classified above
Last Activity Date: Most recent activity timestamp
MAX(activity_date)
Why these metrics matter:
- Identifies power users for feedback and testing
- Reveals user behavior patterns (consumers vs. developers)
- Helps target training and support efforts
- Tracks user adoption over time
User Filtering:
- Excludes admin users (type 2) and system users (type 6)
- Excludes service accounts (emails containing statista.onmicrosoft.com)
Active Users Trend Analysis
Shows distinct active report users over time at different granularities:
Daily Active Users:
COUNT(DISTINCT CASE WHEN activity IN ('ViewReport', 'PrintReport', 'ExportReport',
'DownloadReport', 'AnalyzeInExcel', 'RunEmailSubscription')
THEN user_email END)
GROUP BY activity_dateWeekly Active Users:
COUNT(DISTINCT CASE WHEN activity IN ('ViewReport', 'PrintReport', 'ExportReport',
'DownloadReport', 'AnalyzeInExcel', 'RunEmailSubscription')
THEN user_email END)
GROUP BY DATE_TRUNC('week', activity_date)Monthly Active Users (MAU): Same as MARU, grouped by month
Quarterly Active Users (QAU): Same logic, grouped by quarter
Why it matters: Tracks adoption trends, seasonality, and growth patterns over time.
User Filtering:
- All trend metrics exclude admin users (type 2) and system users (type 6)
๐ Page 3: Reports Insights
Purpose: Track report performance and identify viewing trends over time.
Time Period: Customizable date range filter
Report Views Trends
Shows total report view counts over time at different granularities:
Daily Report Views
COUNT(*) as views
WHERE activity = 'ViewReport'
GROUP BY activity_date
ORDER BY activity_dateWeekly Report Views
COUNT(*) as views
WHERE activity = 'ViewReport'
GROUP BY DATE_TRUNC('week', activity_date)
ORDER BY period_dateMonthly Report Views
COUNT(*) as views
WHERE activity = 'ViewReport'
GROUP BY DATE_TRUNC('month', activity_date)
ORDER BY period_dateQuarterly Report Views
COUNT(*) as views
WHERE activity = 'ViewReport'
GROUP BY DATE_TRUNC('quarter', activity_date)
ORDER BY period_dateYearly Report Views
COUNT(*) as views
WHERE activity = 'ViewReport'
GROUP BY EXTRACT(YEAR FROM activity_date)
ORDER BY yearAdditional Metrics for Each Period:
- Delta: Change from previous period
- % Change: Percentage change from previous period
Why these metrics matter:
- Identifies usage trends and patterns
- Detects seasonality in report consumption
- Helps capacity planning
- Shows impact of new report releases or training initiatives
User Filtering:
- All view counts exclude admin users (type 2) and system users (type 6)
๐ Page 4: Workspace Usage Details
Purpose: Detailed report-level analytics showing which reports are used, by whom, and how often.
Time Period: Customizable date range filter
Report-Level Metrics
What it measures: Comprehensive activity metrics for every report in the platform.
User Filtering:
- All metrics exclude admin users (type 2) and system users (type 6)
Core Metrics per Report
Workspace Name: The Power BI workspace containing the report
Total Reports: Total reports in that workspace
COUNT(DISTINCT report_name) GROUP BY workspace_nameReport Name: Name of the specific report
Status: Activity status indicator
CASE WHEN active_users > 0 THEN 'โ Active' ELSE 'โ ๏ธ Inactive' ENDActive Users (MARU per report): Distinct users who consumed this specific report
COUNT(DISTINCT CASE WHEN activity IN ('ViewReport', 'PrintReport', 'ExportReport', 'DownloadReport', 'AnalyzeInExcel', 'RunEmailSubscription') THEN user_email END) WHERE report_name = [specific report]Avg Unique Users per Day: Daily average of unique users
ROUND(COUNT(DISTINCT user_email) / COUNT(DISTINCT activity_date), 2)Report Views (MRV per report): Total view count for this report
COUNT(CASE WHEN activity = 'ViewReport' THEN 1 END) WHERE report_name = [specific report]Total Activities: All activities for this report
COUNT(*) WHERE report_name = [specific report]Report Exports: Export count for this report
COUNT(CASE WHEN activity = 'ExportReport' THEN 1 END)Users Who Export: Distinct users who exported this report
COUNT(DISTINCT CASE WHEN activity = 'ExportReport' THEN user_email END)
Activity Classification Breakdown
User Consumption: Consumption activities for this report
COUNT(CASE WHEN activity IN ('ViewReport', 'PrintReport', 'ExportReport', 'DownloadReport', 'AnalyzeInExcel', 'RunEmailSubscription') THEN 1 END)Report Development: Development activities for this report
COUNT(CASE WHEN activity IN ('EditReport', 'CreateReport', 'DeleteReport', 'RenameReport') THEN 1 END)Admin/Artifacts: Admin activities for this report
Other Activities: Other activity types
Time & Engagement Metrics
Days with Activity: Number of distinct days with activity
COUNT(DISTINCT activity_date)First Activity Date: First recorded activity
MIN(activity_date)Last Activity Date: Most recent activity
MAX(activity_date)Days Since Last Activity: Days elapsed since last activity
DATE_DIFF('day', MAX(activity_date), CURRENT_DATE)Activities per User: Average activities per user
ROUND(COUNT(*) / NULLIF(COUNT(DISTINCT user_email), 0), 2)% User Consumption: Percentage of activities that are consumption-related
ROUND(COUNT(CASE WHEN activity IN [consumption activities] THEN 1 END) / NULLIF(COUNT(*), 0), 3)Export Rate: Percentage of active users who export
ROUND(COUNT(DISTINCT CASE WHEN activity = 'ExportReport' THEN user_email END) / NULLIF(COUNT(DISTINCT CASE WHEN activity IN [consumption activities] THEN user_email END), 0), 3)Activity Span (Days): Days between first and last activity
DATE_DIFF('day', MIN(activity_date), MAX(activity_date))Report Users: List of user names who accessed this report
STRING_AGG(DISTINCT user_name, ', ' ORDER BY user_name)
Why these metrics matter:
- Identifies unused/stale reports for archival
- Shows which reports drive the most engagement
- Helps prioritize support and optimization efforts
- Reveals report adoption patterns by workspace
- Enables data-driven decisions about report consolidation
๐ Page 5: Data Lineage
Purpose: Track dependencies between Power BI reports and Redshift source tables to enable impact analysis and data governance.
Key Use Cases:
- Impact analysis before modifying Redshift tables
- Understanding data flow from source to consumption
- Identifying heavily-used tables for optimization
- Compliance and data governance tracking
Overview
The Data Lineage page provides visibility into the relationships between:
- Redshift source tables โ Power BI datasets โ Power BI reports โ End users
This enables data engineers and analysts to understand the downstream impact of data changes and track usage patterns across the data pipeline.
Redshift Table Metrics
What it measures: Comprehensive usage and activity metrics for each Redshift table, showing which reports depend on it and how actively those reports are used.
Core Metrics per Redshift Table
Full Table Name: Fully qualified Redshift table name (schema.table)
Current Reports: Number of active reports currently using this table
COUNT(DISTINCT report_id) WHERE full_redshift_table_name = [specific table]PBI Tables: Number of Power BI tables that reference this Redshift table
COUNT(DISTINCT powerbi_table_id) WHERE full_redshift_table_name = [specific table]Workspaces: Number of distinct workspaces with reports using this table
COUNT(DISTINCT workspace_name) WHERE full_redshift_table_name = [specific table]Datasets: Number of distinct Power BI datasets that include this table
COUNT(DISTINCT dataset_name) WHERE full_redshift_table_name = [specific table]
User Engagement Metrics (for reports using this table)
Note: All engagement metrics exclude admin users (type 2) and system users (type 6).
Unique Users: Total distinct users who interacted with reports that use this table
COUNT(DISTINCT user_email) WHERE report_id IN (reports using this table)Total Views: Sum of all view events on reports that use this table
SUM(view_report_count) WHERE report_id IN (reports using this table)Total Exports: Sum of all export events on reports that use this table
SUM(export_report_count) WHERE report_id IN (reports using this table)
Activity Tracking
Active Days: Number of distinct days with activity on reports using this table
COUNT(DISTINCT activity_date) WHERE report_id IN (reports using this table)Last Activity Date: Most recent activity on any report using this table
MAX(activity_date) WHERE report_id IN (reports using this table)Is Active: Boolean flag indicating recent activity
CASE WHEN last_activity_date >= CURRENT_DATE - INTERVAL '30' DAY THEN TRUE ELSE FALSE END
Relationships (in expandable details)
Connected Reports: List of all report names using this table
STRING_AGG(DISTINCT report_name, ', ')Workspace List: List of all workspaces with reports using this table
STRING_AGG(DISTINCT workspace_name, ', ')Dataset List: List of all datasets that include this table
STRING_AGG(DISTINCT dataset_name, ', ')
Why these metrics matter:
- Impact Analysis: Before dropping or modifying a Redshift table, see which reports and users will be affected
- Optimization Priorities: Heavily-used tables (high user count, high views) are candidates for performance optimization
- Data Governance: Track which source tables are consumed and by whom for compliance
- Unused Table Detection: Tables with zero reports or no activity can be candidates for deprecation
Report Metrics with Data Dependencies
What it measures: For each report, shows all Redshift table dependencies plus user activity metrics.
Data Source Dependencies per Report
Report Name: Name of the Power BI report
Redshift Tables: Count of distinct Redshift tables this report depends on
COUNT(DISTINCT full_redshift_table_name) WHERE report_id = [specific report]Other Sources: Count of non-Redshift data sources (Excel, SharePoint, APIs, etc.)
COUNT(DISTINCT data_source) WHERE report_id = [specific report] AND data_source_type != 'redshift'Total PBI Tables: Total Power BI tables used in this report
COUNT(DISTINCT powerbi_table_id) WHERE report_id = [specific report]
User Activity Metrics (same as Workspace Usage Details page)
- Unique Users: Distinct users who accessed this report
- Total Views: Total report view count
- Total Exports: Export count (ExportReport + DownloadReport)
Activity & Ownership
- Active Days: Distinct days with activity
- Last Activity Date: Most recent activity timestamp
- Report Owner: User who created the report
- Created: Report creation date
Status Flags
Has Redshift Dependency: Boolean indicating if report uses Redshift
CASE WHEN redshift_table_count > 0 THEN TRUE ELSE FALSE ENDHas Activity: Boolean indicating if report has any recorded activity
CASE WHEN unique_user_count > 0 THEN TRUE ELSE FALSE END
Relationship Details
Redshift Table List: List of all Redshift tables used by this report
STRING_AGG(DISTINCT full_redshift_table_name, ', ')Dataset List: List of all datasets used by this report
STRING_AGG(DISTINCT dataset_name, ', ')
Why these metrics matter:
- Change Impact: When updating a Redshift table, see exactly which reports will be affected
- Dependency Complexity: Reports with many Redshift dependencies may be more fragile
- Mixed Source Reports: Reports with both Redshift and other sources may have special data integration needs
- Report Health: Inactive reports with Redshift dependencies may be candidates for deprecation
Additional Views
Redshift Tables to Reports Mapping
What it shows: Simple table showing each table-report relationship (one row per relationship).
Use case: Quick lookup to find all reports using a specific table.
SELECT DISTINCT
full_redshift_table_name,
report_name
FROM fact_lineage_insights
WHERE report_id IS NOT NULL
AND full_redshift_table_name IS NOT NULLReports Without Redshift Connections
What it shows: Reports that don't use any Redshift tables as data sources.
Why it matters:
- These reports use alternative sources (Excel, SharePoint, APIs, direct connections)
- May need different governance and support approaches
- Less critical when making Redshift schema changes
SELECT DISTINCT report_name, workspace_name
FROM fact_lineage_insights
WHERE report_id IS NOT NULL
AND report_id NOT IN (
SELECT DISTINCT report_id
WHERE full_redshift_table_name IS NOT NULL
)Data Lineage Key Concepts
Upstream Impact Analysis:
- Identify which reports will break if you modify/drop a Redshift table
- See the full user base affected by a data change
- Plan migration strategies for deprecated tables
Downstream Usage Tracking:
- From any Redshift table, trace through PBI tables โ datasets โ reports โ users
- Understand the complete data consumption chain
- Measure the business value of source data
Optimization Priorities:
- High unique_user_count + high view_count = optimize the underlying Redshift table
- Many reports using one table = consider denormalization or performance tuning
- Zero or low activity = consider deprecating or archiving
Governance & Compliance:
- Track which source tables contain sensitive data and where they're consumed
- Maintain audit trails of data lineage
- Support data access reviews and compliance reporting
๐ Questions & Support
For questions about metric calculations or to request new metrics, please contact Data Platform Team
Document Version: 3.0 | Last Updated: April 14, 2026
This documentation is maintained by the Data Platform Team and updated whenever metric logic changes.
