Analysis Findings

The platform reads your bill so you don’t have to.

Every scan turns raw cost data into findings: spend anomalies, weekend waste, orphaned resources, top movers, and savings opportunities — each with severity, confidence, and an estimated value.

Anomaly detection

Unusual spend gets flagged against its own history — before it compounds.

Severity & confidence

Findings are ranked so teams act on what matters first.

Estimated savings

Each opportunity carries a monthly value, rolled up across the estate.

Both clouds

Azure and AWS findings in one queue, one workflow.

Analysis Findings — anomalies and optimization opportunities with severity
Three scan types

What the engine
actually does.

Three independent scan pipelines. Each can run individually or as part of a coordinated full scan. Results are confidence-scored, de-duplicated, and tracked with first-seen / last-seen lifecycle — so you know what is genuinely new versus what has been sitting there for months.

Waste Detection
Azure Resource Graph + AWS APIs · Azure + AWS

Queries Azure Resource Graph and AWS service APIs directly for idle, orphaned, and overprovisioned resources. All Azure checks are collapsed into a single union query per tenant to stay well within API rate limits. AWS checks run in parallel per account.

Azure — what it checks
Stopped VMs — Deallocated compute still paying for managed disks and static IPs
Orphaned managed disks — Unattached Premium/Standard SSD with no owner VM
Idle VPN gateways — Provisioned but carrying no active tunnels
Idle load balancers — No active backend pool members
Old snapshots — Disk snapshots older than 90 days with no documented purpose
Idle Bastion hosts — Bastion provisioned in a subscription with no VMs to reach
AWS — what it checks
Stopped EC2 instances — Stopped for 14+ days, still paying EBS and Elastic IPs
Unused Elastic IPs — Allocated but not attached to any running instance
Old EBS snapshots — Snapshots older than 90 days
Idle load balancers — ALB/NLB with no registered healthy targets
Stopped RDS instances — Stopped database instances still accruing storage costs
How findings are stored
· Confidence score per finding (based on age, SKU, and region cost data) · Stable fingerprint key — same resource de-duplicates across scans · State lifecycle: Active → Resolved (disappears from cloud) or Dismissed · Estimated monthly saving in your selected currency · Region-adjusted pricing — a stopped D4s_v3 in Norway costs more than in East US
Cost Analysis
Runs over stored cost data · Azure + AWS

Analyses 90 days of stored cost snapshots to surface patterns invisible in raw billing data: spend anomalies, weekend cost accumulation, orphaned service lines, top movers, and rightsizing opportunities. Runs on-demand against the data already in the database — no additional cloud API calls.

Holt-Winters anomaly detection

Seasonal model that learns weekday / weekend spend patterns and baseline variance. Flags deviations that exceed the expected range — not just a percentage threshold. A 40% spike on a quiet Friday is flagged; a 40% spike on a month-end billing cycle is not.

Weekend waste detection

Identifies services with consistent weekend spend above a configurable baseline. Development and staging environments that run 24/7 are the most common source.

Orphaned service detection

Finds accounts or services with recent spend that suddenly drops to zero — a signal that a resource was deleted without notification, or cost data stopped arriving.

Top movers

Services with the largest absolute or percentage cost increase period-over-period. Critical movers (>200% change) are separated from high / medium movers. Each finding includes the prior-period and current-period cost.

Reserved Instance opportunities

Identifies compute services with sustained steady-state spend above a floor and recommends a 1-year commitment at typical cloud discount rates (30%).

Metrics-verified rightsizing

Combines cost trends with real Azure Monitor / CloudWatch CPU and memory percentile data (p50, p95, p99). Flags resources where spend is significant but utilisation evidence suggests they are overprovisioned.

FinOps Scan
8 specialist scanners · Azure + AWS

Eight specialist scanners run in parallel across your cloud estate, each targeting a distinct FinOps practice area — from commitment coverage and rightsizing to storage lifecycle and Kubernetes allocation. Results are de-duplicated by a stable fingerprint key and upserted per scan, so the recommendation set always reflects the current state.

Rightsizing

Flags resources with significant spend and flat or declining usage trends. Cross-referenced with real p95 CPU/memory metrics where available.

Commitments

Identifies steady-state compute spend above a materiality floor and recommends 1-year Reserved Instance or Savings Plan coverage at ~30% discount.

Storage lifecycle

Flags accounts with high storage spend where lifecycle tiering (moving infrequently-accessed objects to cold/archive tiers) would reduce costs meaningfully.

Commitment expiration

Monitors Reserved Instances and Savings Plans expiring in 30 / 60 / 90 days so renewals do not fall through.

Tag governance

Surfaces accounts or subscriptions with untagged spend above a threshold — untagged resources cannot be allocated to cost centres or teams.

Network egress

Identifies accounts with disproportionately high bandwidth spend relative to compute — a signal of data-intensive workloads that may benefit from CDN or architecture review.

Kubernetes allocation

Flags clusters with high spend per pod metric — clusters with few pods relative to their compute cost may be underutilised or misconfigured.

Carbon

Identifies regions with significant spend where a lower-carbon equivalent region exists — relevant for sustainability reporting and ESG commitments.

All scanners respect the active scope filter — running a FinOps scan on a single team's accounts produces recommendations scoped to that team's spend only.
Cost sync Analysis Waste FinOps

When Run All is triggered, the four steps execute in this fixed order — cost data is fully synced before Analysis, Waste, and FinOps (which depend on fresh cost and inventory data) begin. Each step can also run independently on demand. A global top-bar indicator shows the scan status on every page until completion.

See it on your numbers.

Early access — a new platform, onboarding teams now.