Skip to main content

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.

tip

If you see an empty state, confirm you’ve selected a subscription and that it’s marked as ready/synced in Spotto.

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

ComponentDetails
InputsAzure billing history ingested by Spotto for the selected subscription (cost time series + service/resource breakdown).
OutputsA set of spend plots (7/30/90/12 + 90-day forecast) and anomaly records with confidence, baseline comparisons, and driver attribution.
DefaultsPlots 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:
  1. Confirm the subscription is connected and syncing in Spotto.
  2. Wait for the next billing sync cycle and retry.
  3. 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:
  1. Select the subscription again (to confirm context).
  2. Retry the request (the UI will offer a Try again action).
  3. 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:
  1. Refresh the page after the next sync.
  2. 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:
  1. Use Retry image on the plot card.
  2. 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:
  1. Check a broader window (30/90/12) to see whether the change is gradual rather than spiky.
  2. Use Cost Tree to confirm whether a specific service or resource changed even if it didn’t meet anomaly thresholds.
Optimize Your Azure Environment

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