Skip to main content

How Sizing Works

How recommendations are produced, what data they use, and the concepts that appear on every recommendation, whatever the resource type.

Every card carries the same building blocks: severity and confidence badges, a one-sentence rationale, and the confidence factors behind the score.

Recommendation Lifecycle

Recommendations are computed during each scan, not when you open the page. The page loads the stored results, so it's fast, and changing a toggle never queries the server.

Each scan refreshes every recommendation with the latest metrics and the current Scanner Settings. A recommendation disappears when the resource no longer qualifies: it was resized or deleted, it stopped reporting metrics, or it no longer has a cheaper fit.

StratoLens is read-only. It never changes your resources; you apply recommendations yourself.

Sizing never recommends deletion

Sizing only recommends smaller or cheaper configurations. Unattached disks and App Service plans with no apps are covered by Orphaned Resources.

Resource Types Covered

Each resource type has its own page with the full analysis, toggles and card layout.

Virtual Machines
VMs and VM scale sets. Sized on CPU, memory and disk IOPS. The VM SKU (size, family, generation) can change.
Managed Disks
Attached Premium SSD and Standard SSD disks. Sized on per-disk IOPS and throughput. The performance tier or disk SKU can change; the size never does.
App Service Plans
Dedicated Basic, Standard and Premium v2, v3 and v4 plans. Sized on plan CPU and memory. The plan SKU, tier and instance count can change.

Statistics, Not Averages

Every resource type sizes against the P95 of observed usage (VM memory can use P99; see Virtual Machines). Sizing to the average leaves a resource too small for its peaks.

Where hourly data exists, the statistic is peak-aware: it takes the higher of the daily P95 and a P95 of hourly or daily-peak values, so short spikes aren't averaged away.

A resource whose newest metric data is more than 14 days old gets no recommendation, and any existing recommendation is removed. This retires recommendations for VMs that have been deallocated for weeks.

Pricing

All costs and savings use Azure Retail Prices API list prices in USD. App Service plan cards also note when the plan's cost data shows a reservation or savings plan (see App Service Plans).

List prices, not your bill

Enterprise agreements, negotiated discounts, reservations and savings plans are not applied. Use the figures to compare and prioritize, not as a billing forecast.

Severity and Confidence

Every recommendation card carries a severity badge, a confidence badge, a one-sentence Recommendation Rationale naming the move and why it fits, and, when present, two lists: Considerations (data-quality caveats such as limited data or a highly variable workload) and Required Actions (steps to take before acting, such as collecting more days of data).

Severity

Severity comes from the monthly savings of the recommendation the default toggle settings would show. It doesn't change when you flip toggles. The thresholds are the same for every resource type.

High
Over $200 per month
Medium
Over $50 per month
Low
$50 per month or less

Confidence

Confidence is a 0-100 score from weighted factors: 85 and above is Very High, 70 and above High, 50 and above Medium, and below 50 Low. Each card's Confidence Analysis lists the factors with their individual scores out of 100.

Virtual machines use five factors, described on Virtual Machines. Managed disks and App Service plans use three:

Data Sufficiency (40%)
Days of history, with full credit at 90 days. Under 30 days adds a "Limited data" consideration and a Required Action to collect more days.
Headroom Depth (35%)
How much free capacity the target keeps after the move.
Workload Stability (25%)
Day-to-day variability. When variability exceeds 100%, the level is capped at Medium regardless of score and a consideration is added.

Sequence the work by confidence

Start with Very High and High items, then review Medium and Low. Short data windows lower confidence, so treat Low and Medium items as directional.

Aggressiveness

Aggressiveness is the maximum projected utilization a target may reach: Conservative 70%, Balanced 80% (the default) or Aggressive 90%. Each resource type has its own setting in Scanner Settings, applied to that type's limits:

  • Virtual machines: CPU and memory on the target SKU.
  • Managed disks: the target tier's IOPS and throughput limits.
  • App Service plans: the target plan's CPU and memory.

There is no per-resource override. To leave a specific resource alone, hide its recommendation.

Minimum Data Window

A resource needs this many days of performance data before its first recommendation is created. Once a recommendation exists, it keeps updating every scan regardless of this setting. It's set per resource type in Scanner Settings, from 0 to 365 days.

Defaults

Minimum Data Window
7 days, for every resource type
Aggressiveness
Balanced (80%), for every resource type

Setting changes apply on the next scan

Aggressiveness and the minimum data window are read when a scan runs. Run a manual scan to apply them right away.

Realized Savings

When a recommended resource is changed to a cheaper configuration, the next scan records realized savings and shows them in the Show resolved view. There are two outcomes:

SKU Changed
The recommendation is gone. The resource is now right-sized.
Partially Downsized
The resource got cheaper but is still oversized, so a recommendation remains.

Savings are cumulative from the configuration first detected, so a VM downsized in two steps shows the total saving from its original size. What counts as a change:

  • VMs and scale sets: a SKU change.
  • Managed disks: a performance tier or SKU change.
  • App Service plans: a SKU change or an instance-count change, except count changes made by autoscale or automatic scaling.

A deleted resource records no realized savings. If a resolved resource becomes oversized again, a new recommendation appears and its earlier realized-savings entry is removed.

See Also

  • MCP Server: the get_sizing_recommendations tool returns the same recommendations, at default toggles, for all three resource types.
  • External API: the VM, disk and App Service sizing recommendation routes are available to external clients.

Was this page helpful?

Last updated October 27, 2026