BuilderVault
PMO reporting

PMO KPI catalog

A KPI reference for demand, charter, lifecycle, RAID, reporting, and benefits dashboards.

KPICategoryDefinitionFormulaSignal
Intake volumeDemandNumber of new requests submitted in a period.COUNTROWS('Intake Requests')Demand trend and PMO workload.
Average triage daysDemandAverage days from submitted date to decision date.AVERAGEX('Intake Requests', DATEDIFF([Submitted Date], [Decision Date], DAY))Whether demand is moving or aging.
Approval rateDemandPercent of decided requests approved for charter.DIVIDE([Approved Requests], [Decided Requests])Quality and fit of incoming demand.
Charter approval cycle timeCharterDays from charter submitted to sponsor decision.AVERAGEX('Project Charters', DATEDIFF([Submitted Date], [Approval Date], DAY))Sponsor responsiveness and charter quality.
Stage agingLifecycleDays a project has remained in the current stage.DATEDIFF('Projects'[Stage Changed Date], TODAY(), DAY)Lifecycle bottlenecks.
Gate exception rateLifecyclePercent of gate approvals with exception.DIVIDE([Gate Approved With Exception], [Gate Decisions])Governance quality and readiness gaps.
Open risk exposureRAIDSum of probability times impact for open risks.SUMX(FILTER('Risks', [Status] <> "Closed"), [Probability] * [Impact Score])Portfolio exposure.
Overdue actionsRAIDOpen actions past due date.COUNTROWS(FILTER('Actions', [Due Date] < TODAY() && [Status] <> "Closed"))Execution discipline.
Missing status countReportingRequired status updates not submitted for current period.COUNTROWS(FILTER('Status Updates', [Status] = "Missed"))Reporting compliance.
Benefits realization percentBenefitsCurrent measured benefit divided by target benefit.DIVIDE(SUM('Benefits Tracking'[Current Value]), SUM('Benefits Tracking'[Target]))Whether delivered work created expected value.