Setting the file. One moment.
Subchapter 1.5
references/cost-investigation.mdMarkdown3 KBView on GitHub
Explain what changed before recommending remediation.
query_costs with daily granularity for the anomaly and an equal-length
baseline. Prefer comparable weekdays, billing-cycle position, and known
seasonal or deployment periods over an arbitrary preceding window.granularity=None totals for the anomaly and baseline;
never sum daily rows in a shell or local interpreter. Calculate the absolute
and percentage delta from those returned totals per currency. Keep actual
and amortized cost separate; use amortized cost when commitment purchases
could distort the usage trend.ServiceName, rank by absolute delta, then narrow the leading
service through separate bounded queries by ResourceGroupName,
ResourceId, and Meter where those dimensions are supported. Reuse exact
values returned by the broader query instead of guessing filter values.ChargeType and PricingModel to distinguish recurring usage,
purchases, refunds, credits, marketplace charges, and commitment effects.
Do not attribute a shared or unallocated charge to one resource without
evidence.resourcechanges around the
anomaly. Run generate_query, validate_query, then execute_query.
Inspect creates, deletes, SKU or tier changes, scale events, region changes,
and ownership-tag changes.Use the cost-query workflow for limits, pagination, query errors, and API fallback.
Present:
Change history is short-lived, and empty results can reflect retention, permissions, or unsupported attribution. Never treat missing evidence as proof that nothing changed.
cost-optimization.cost-optimization commitment workflow.