Cost Analysis: Forecast and Cost Anomalies
Overview
Spotto Cost Analysis is an Azure cost analysis view that shows spend trends over multiple time ranges and a 90-day spend forecast (cost prediction), then flags anomalies when costs deviate from baseline patterns. It’s designed for the recurring operational question: “Is this spend change real, and what actually caused it?”
If you like surprises, cloud billing will provide them. If you don’t, start here.
Feature overview
Cost Analysis is a subscription-scoped view that presents:
- Spend trends over the last 7 days, 30 days, 90 days, and 12 months.
- A forecast for the next 90 days (cost prediction), based on observed patterns.
- A list of detected anomalies you can inspect with confidence, deltas, baselines, and cost drivers.
Why use this? (Jobs, pains, gains)
Jobs to be done
- When spend changes, I want to see whether it’s a short-term spike or a sustained trend, so I can respond appropriately.
- When someone asks “why did the bill jump?”, I want a defensible explanation (baseline vs actual, drivers, notes) so I can answer quickly.
- When costs are rising, I want to see where we’re heading, so I can plan budgets and prioritise optimization work.
Common pains
- Cost surprises often show up at invoice time, not when the drift started.
- It’s easy to spot that spend changed, but hard to explain what contributed without stitching together multiple tools.
- Forecasting is usually a spreadsheet exercise (which is… a choice).
What you gain
- Faster “what changed?” answers using a consistent set of time windows (7/30/90/12).
- Early detection of unusual spend patterns via cloud cost anomaly detection (your “cost spike alert” layer), not just trend lines.
- A pragmatic forecast that supports planning conversations (with the usual caveat: it’s a forecast, not a contract).
Key capabilities
Where to find it
In the Spotto Portal, open your company and navigate to Investigate → Cost Analysis.
Select a subscription
Cost Analysis focuses on one subscription at a time. Use the subscription picker at the top of the page to switch context.
If you see an empty state, confirm you’ve selected a subscription and that it’s marked as ready/synced in Spotto.
Review trends and forecast
Each card represents a plot for a specific time range:
- 7 days: fast feedback for “did something change this week?”
- 30 days: useful for daily drift and “new thing quietly got expensive” patterns
- 90 days: good for trend confirmation and seasonality signals
- 12 months: the “are we growing, spiking, or oscillating?” view
- Forecast (next 90 days): a forward-looking projection based on historical behaviour
Investigate anomalies (with drivers and notes)
When Spotto detects cost anomalies in a given plot window, the card will show View N anomalies.
Open an anomaly to see:
- Confidence: how strongly Spotto believes this is a true anomaly vs normal noise.
- Total cost and delta vs baseline (including percent change).
- Baseline (30-day) used for comparison.
- Top drivers: the services/resources that contributed the largest share of impact.
- Share of impact: which drivers contributed the largest percentage of the anomaly delta.
- Notes: additional context, such as “new or previously idle” resources, or grouped observations for certain platform services.
Technical reference
| Component | Details |
|---|---|
| Inputs | Azure billing history ingested by Spotto for the selected subscription (cost time series + service/resource breakdown). |
| Outputs | A set of spend plots (7/30/90/12 + 90-day forecast) and anomaly records with confidence, baseline comparisons, and driver attribution. |
| Defaults | Plots cover the standard time windows; anomalies display a 30-day baseline and show a short list of top drivers (so you get signal, not a novel). |
How it differs from Azure-native cost views
Azure Cost Management is the source of truth for billing data, but it’s optimized for reporting and exploration. Spotto Cost Analysis is optimized for investigation:
- It standardises the “what’s happening?” time windows (7/30/90/12) and adds a forecast view.
- It surfaces anomalies with baseline vs actual, confidence, and driver attribution so you can move from “it changed” to “this is why” faster.
- It’s designed to pair with Spotto features like Cost Tree and Resources when you need to drill into resource- and tag-level detail.
How it works (high level)
- Spotto generates and serves the cost plots for each subscription, alongside anomaly metadata for the same periods.
- Anomalies are time-bound: when you open anomalies from a plot, Spotto filters them to that plot’s date range.
- Detection is built as an ensemble of strategies (not a single threshold), then surfaced as a single anomaly record with confidence, deltas, and drivers (so you’re not betting your incident response on one brittle rule).
Limitations (honest, boring, useful)
- Not real-time: Cost Analysis updates after billing data syncs; provider billing data can lag by days.
- Forecasts are directional: forecasts are best used for planning and “is this trend continuing?” checks, not precision accounting.
- Anomaly detection is probabilistic: confidence helps, but humans still get the last word (and should, for anything expensive).
Troubleshooting
“We don’t have cost analysis for this subscription yet”
What you're seeing: Cost Analysis shows a not-ready message. Likely causes:
- The subscription hasn’t completed its first billing sync.
- Billing history/plots haven’t been generated yet for this subscription. How to fix:
- Confirm the subscription is connected and syncing in Spotto.
- Wait for the next billing sync cycle and retry.
- If it persists, capture the subscription ID and contact support.
“We couldn’t load cost analysis data”
What you're seeing: Cost Analysis shows an error state instead of plots. Likely causes:
- Temporary API/service issue.
- The subscription ID isn’t accessible in your current company context. How to fix:
- Select the subscription again (to confirm context).
- Retry the request (the UI will offer a Try again action).
- If it continues, capture the error text + time and contact support.
“We don’t have this plot image yet. It will appear once the data is ready.”
What you're seeing: One plot card shows an image unavailable message. Likely causes:
- The plot asset is still being generated or hasn’t been published yet.
- Billing data for that window is incomplete. How to fix:
- Refresh the page after the next sync.
- If only one plot is missing, check the other time windows (they can become available at different times).
“We couldn’t load this plot image.”
What you're seeing: A plot card shows an image load failure. Likely causes:
- Temporary network/API issue while fetching the image. How to fix:
- Use Retry image on the plot card.
- If it keeps failing across multiple plots, refresh the page and retry after a few minutes.
“No anomalies detected for this period”
What you're seeing: The anomalies view is empty for the selected plot window. Likely causes:
- Nothing unusual happened in that period (congrats).
- Spend changed, but within expected variance for the current baseline. How to fix:
- Check a broader window (30/90/12) to see whether the change is gradual rather than spiky.
- Use Cost Tree to confirm whether a specific service or resource changed even if it didn’t meet anomaly thresholds.
Looking to enhance your cloud setup for cost efficiency, performance, reliability, or security?
Talk to a cloud expert! Email us or schedule a 30-minute consultation and let's optimize your cloud environment together.
Book a Free Consultation