Bringing Visibility to Azure Spend Across Every Tenant
Azure Cost Analysis shows one subscription at a time. We built a multi-tenant cost platform that traces spend, detects waste, and explains why costs changed.

If you manage Azure for multiple organizations, you know the pain. Azure Cost Analysis in the portal shows one subscription at a time. To understand spend across all your customers, you are logging into each tenant, exporting CSVs, and building spreadsheets. It does not scale, and it does not answer the question that actually matters: why did costs change?
TL;DR: We built Azure Cost Insights, a multi-tenant cost visibility layer inside Implora. It aggregates spend across all your managed tenants, stores history beyond Azure's 13-month portal limit, and correlates cost changes with actual configuration changes. The goal is not just showing numbers, but explaining them.
The problem with Azure Cost Analysis
Azure's built-in cost tools are good for a single subscription. They fall apart when you manage many:
- One subscription at a time. No cross-tenant view. No way to see all customers' spend in one place.
- 13-month history limit. Azure portal only shows about a year of data. Need to compare this January to last January? Too late.
- Numbers without context. A cost spike shows up, but there is no link to what caused it. You see the "what" but not the "why."
- No waste visibility at surface level. Azure Advisor recommendations exist but are buried per-subscription. Nobody checks them consistently across dozens of tenants.
For IT teams managing multiple Azure environments, these are not edge cases. They are daily friction. And they compound when you are also trying to keep security configurations in check across those same tenants.
What we built
Azure Cost Insights is a feature inside the Implora platform that gives you a single view across all your managed Azure tenants.
Cost flow visualization
The overview starts with a Sankey diagram that shows how money flows from service categories through resource groups to individual resources. Band width is proportional to cost, so you immediately see where the spend concentrates. Click any node to drill deeper.
This is more useful than a table because it answers "where is the money going?" at a glance. Tables tell you the numbers. The Sankey shows the shape of your spend.

Actionable insight cards
Instead of dumping data and hoping you notice patterns, the overview surfaces insights automatically:
- Top movers highlight the biggest cost increases and decreases this month
- Waste alerts surface unacknowledged Azure Advisor findings with estimated savings
- Cost concentration flags when too much spend is concentrated in a single service
These are built from data that is already fetched. No extra API calls, no separate analysis pipeline. Just structured observations on the numbers you already have.
Drill-down that goes all the way
Every dimension drills to a resource, and every resource drills to its billing meters. Start from a service family, click through to resource groups, then to individual resources, then to the specific meters generating the charges.
At the resource level, an expandable panel shows:
- Meter breakdown for that specific resource
- Cost neighbors, other resources in the same group with their month-over-month changes
- Activity correlation, recent configuration changes in the same resource group
That last one is the key differentiator. When a resource spikes in cost, you can see if someone changed its configuration around the same time. Cost data plus activity logs, together. It is the same instinct behind configuration drift detection on the security side: a number changed, so show me what changed around it.

Three ways to analyze
Different questions need different views:
| Mode | What it shows | When to use it |
|---|---|---|
| Trend | Average monthly cost with regression line and growth rate | Understanding long-term patterns |
| Single month | Point-in-time snapshot with recent context | Monthly reviews and reporting |
| Compare | Side-by-side two-month comparison with delta badges | Investigating specific changes |
The trend view includes a "creep score," a growth rate calculated via linear regression across all complete months. When monthly growth exceeds 1%, the system flags it. Small percentage increases compound quickly and are easy to miss without trend analysis.
Waste detection
Azure Advisor recommendations are ingested during each refresh and surfaced in a dedicated tab. For each recommendation, you see the resource, the waste type, and the estimated monthly savings. An acknowledge/dismiss workflow prevents the same findings from cluttering the view after review.
The total estimated savings aggregate on the overview card, so you can see potential waste across all tenants without digging into each one.
History beyond Azure's limits
Azure's portal keeps about 13 months of cost data. We ingest and store cost history based on configurable retention. Want to keep 24 months for enterprise clients and 6 months for smaller ones? Set it per tenant. The data stays as long as you need it, regardless of Azure's portal limitations.
What we learned building this
Cost correlation beats cost reporting. Showing that a VM costs more this month is useful. Showing that someone resized it last Tuesday is actionable. The activity log correlation was a late addition but turned out to be the feature people use most.
Sankey diagrams are surprisingly effective for cost data. We tried tables, treemaps, and pie charts. The Sankey flow is the only visualization where people consistently say "I can see where the money goes" without explanation.
Waste detection needs workflow, not just data. Surfacing Azure Advisor recommendations is easy. Making them useful requires an acknowledge/dismiss cycle so the same known findings do not drown out new ones.
Rate limiting is a real constraint. Azure Cost Management API has strict rate limits. Respecting them conservatively (with buffer) is better than optimizing for speed and getting throttled. Reliability matters more than refresh latency.
Frequently Asked Questions
How does this compare to Azure Cost Analysis?
Azure Cost Analysis works well for a single subscription. Azure Cost Insights is built for teams managing many tenants. It provides cross-tenant aggregation, longer history retention, cost-to-activity correlation, and waste detection across all environments from one view.
Does it support all Azure regions?
Yes. We maintain a complete mapping of all Azure public cloud regions with display names. Unknown regions fall back to a formatted version of the programmatic name.
How often is cost data refreshed?
Cost data is ingested during scheduled refreshes. Azure Cost Management data itself is typically 24-48 hours behind real-time, which is an Azure platform limitation, not ours.
Can I set different retention periods per tenant?
Yes. There is a global ceiling set at the organization level, with per-tenant overrides. Small tenants can keep 3 months, enterprise tenants can keep 24 months. You control the storage.
Written by Lora, Implora's AI. Reviewed and approved by the Implora team.