When people talk about Power BI costs, they instinctively think of the capacity bill. Yet it is rarely the only cost item, nor always the largest. A Power BI environment that grows without governance generates costs spread across three distinct families: licences, data processing, and human time. Identifying them separately is the condition for knowing where to act first.
The three cost families to identify
Active licences
Every user with a Pro or Premium Per User licence represents a recurring cost. Yet in many organizations, some of these licences are assigned to people who no longer open any report, or only very rarely. Cross-referencing the list of assigned licences with actual usage makes it possible to spot licences to reassign or not renew. Watch out for special cases, though: the Pro licence is for example included in Microsoft 365 E5, so removing it from an E5 user saves nothing; and on a Fabric F64 capacity or above, simple viewers do not need a Pro licence.
Data processing and refreshes
Every semantic model or dataflow refreshed daily, or even several times a day, consumes resources even if it is never opened by anyone. Most of the time, this cost is indirect: load on gateways and source systems, capacity saturation, execution time. It becomes direct when processing is billed per execution, on a Fabric capacity or with another data provider (Snowflake, Databricks or any pay-as-you-go cloud warehouse). This phenomenon is particularly insidious because it does not trigger any visible alert: the refresh keeps running successfully, year after year, without anyone questioning its usefulness.
Human time
This is often the most underestimated item. Updating a report that nobody uses, troubleshooting the failed refresh of an abandoned model, refactoring duplicates during a migration or arbitrating between several competing versions of the same KPI: all hours spent on artifacts without value, at the expense of topics that are truly priorities for the business.
Identifying clean-up candidates
Clean-up is not only about content: four categories deserve a systematic, methodical review, including the users themselves.
Reports never viewed
Identifiable through actual usage statistics over a sufficiently long period, and not just over the last 30 days, which can hide legitimate seasonal or quarterly usage (see our article on usage analysis).
Functional duplicates
Several different reports, sometimes with very different names, actually answering the same business question (for example: “Monthly revenue”, “Sales tracking”, “Sales dashboard”), created independently by different teams unaware of the versions already produced elsewhere in the organization.
Orphaned semantic models
Whose declared owner has left the organization or changed role, and that nobody actively maintains anymore. They can often be identified by cross-referencing the workspace inventory with the active HR directory.
Inactive users
Users who still have a licence or access to workspaces and reports, but have not opened anything for several months, or who have changed role or even left the organization. Identifying them makes it possible both to reassign or not renew licences, and to remove access that is no longer justified, which also reduces the security risk surface (see our article on auditing Power BI access).
The difficulty: telling “rarely used” from “useless”
A report viewed only once a quarter by the finance department at closing is not a useless duplicate: it is a low-frequency but high-value report. Blind deletion based solely on raw view frequency is risky and can create significant friction with the business. Three signals must always be cross-checked before any decision: actual usage over a long period, the business criticality declared by the owner, and the identification of an active owner able to approve or refuse archiving.
Decision matrix example
A rarely viewed report with an active owner and confirmed business criticality (e.g. quarterly regulatory reporting) must be kept. A rarely viewed report with no identified active owner and no declared criticality is a priority candidate for archiving.
A concrete example of results
Among our clients who have carried out this rationalization in a structured way, the number of artifacts can be reduced by 30 to 40%, with several measurable benefits: fewer unnecessary refreshes, less maintenance and troubleshooting time, more reliable reports (a single identified source of truth per business question), and better adoption by end users, who no longer get lost between several competing versions of the same dashboard.
Setting up a recurring clean-up cycle
- Identify candidates (content and users) using usage data cross-referenced with the inventory, declared criticality and the active HR directory.
- Validate with business owners before any action: prior communication avoids bad surprises and strengthens buy-in to the process.
- Archive rather than delete immediately, keeping an accessible copy for a reasonable safety period (for example three to six months).
- Purge permanently after this retention period, once it is confirmed that no complaint has been raised.
- Repeat the cycle every quarter or every six months, as new duplicates, obsolete reports and inactive users appear continuously.
Clean-up should therefore never be treated as an isolated one-off project, but as a recurring process built into the day-to-day governance of the Power BI environment.
Beyond clean-up: optimizing refreshes
Reducing costs is not only about deleting unnecessary artifacts. Adjusting the refresh frequency of active semantic models to their actual needs (a report viewed every week does not need an hourly refresh) is a complementary optimization lever, often overlooked for lack of a consolidated view of all configured refresh schedules.
Frequently asked questions
What usage period should be observed before deciding on deletion?
A minimum of six months is generally recommended, to cover a full quarterly cycle and avoid deleting a report with seasonal usage or linked to a periodic closing.
How can resistance from business teams be avoided during clean-up?
Transparency is essential: share the list of archiving candidates in advance, give the identified owners a reasonable time to react, and favour reversible archiving over immediate, permanent deletion.
Does reducing the number of reports automatically lower the bill?
Not entirely, and not immediately. The gain in human time and processing comes quickly, but licences must be actively reassigned or not renewed, and the cost of a capacity remains fixed until it is resized. A rationalized environment makes it possible, over time, to reduce these items or to take on new projects without additional costs.
This clean-up relies directly on “Power BI usage analysis” for usage data, and on “Power BI inventory” for the exhaustive list of artifacts to assess.