Condividi tramite


Informazioni sui calcoli dei risparmi nel toolkit FinOps

I report di FinOps Toolkit calcolano i risparmi confrontando valori di costo diversi per comprendere le opportunità di ottimizzazione e i risparmi effettivi ottenuti. Questo articolo illustra in che modo i valori di risparmio vengono calcolati e visualizzati, in particolare per scenari che coinvolgono risparmi negativi o dati sui prezzi mancanti.

Comprendere questi calcoli è essenziale per interpretare correttamente i report di ottimizzazione dei costi e creare attendibilità nei dati presentati.


Come vengono calcolati i risparmi

I calcoli dei risparmi nei report di FinOps Toolkit confrontano valori di costo diversi:

  • Risparmi di sconto negoziati = Costo elenco - Costo con contratto
  • Risparmio dello sconto di impegno = Costo contratto - Costo effettivo
  • Risparmio totale = Costo elenco - Costo effettivo

Questi calcoli dipendono dalla presenza di dati accurati sui prezzi per:

  • Prezzi di listino (tariffe al dettaglio pubblico).
  • Prezzi contratti (dopo sconti negoziati).
  • Prezzi effettivi (dopo tutti gli sconti compresi gli impegni).

Comportamento negativo dei risparmi

I risparmi negativi vengono visualizzati quando il prezzo effettivo pagato è superiore al prezzo di listino o al prezzo contrattato (negoziato). Ciò indica il costo della risorsa superiore al prezzo standard, che può verificarsi a causa di:

  • Errori di configurazione dei prezzi.
  • Condizioni di fatturazione insolite.
  • Problemi di qualità dei dati in Gestione costi.
  • Sconti di impegno che offrono meno risparmi rispetto agli sconti negoziati.

I risparmi negativi vengono visualizzati come numeri negativi ,ad esempio -$100, perché riflettono la realtà dei dati sui costi. Nascondendo o zerondo questi valori, è possibile:

  • Mascherare le preoccupazioni sui costi reali che richiedono un'indagine.
  • Impedire l'identificazione delle anomalie dei prezzi.
  • Ridurre la trasparenza nella reportistica sui costi.

Esempio: Se si ha un prezzo di listino di $ 100 ma un costo effettivo pagato di $ 120, il risparmio risulta di -$20, che indica che hai pagato $ 20 in più.


Comportamento di risparmio zero

Quando non è possibile effettuare un confronto dei prezzi affidabile, vengono visualizzati risparmi zero. Ciò si verifica quando:

  • I prezzi di listino sono mancanti o null.
  • I prezzi contrattuali mancano o sono nulli.
  • I prezzi di riferimento sono zero o non validi.

Quando mancano i dati sui prezzi, non esiste una base affidabile per calcolare i risparmi.

Esempio: se mancano i dati sui prezzi di listino ma hai pagato 80 dollari, i risparmi vengono visualizzati come $0 perché non è possibile determinare se hai risparmiato denaro o eccedenza.


Esempi di calcolo dei risparmi

Nella tabella seguente viene illustrato come vengono gestiti diversi scenari di prezzo:

Prezzo di listino Prezzo effettivo Risparmi visualizzati Explanation
100 100 0 Nessun sconto applicato
100 80 20 Risparmio standard di $ 20
100 120 -20 Risparmi negativi: eccedenza di pagamento di $ 20
Mancante 80 0 Impossibile calcolare i risparmi senza prezzo di listino
100 Mancante 0 Impossibile calcolare i risparmi senza prezzo effettivo

Impatto sui totali e sulle aggregazioni

Quando vengono visualizzati risparmi negativi nei totali aggregati:

  • Alcune righe potrebbero mancare di ListCost o ContractedCost.
  • Un costo effettivo può essere superiore al costo contratto per alcuni sconti sugli impegni.

Quando mancano i prezzi e vengono visualizzati risparmi zero:

  • I totali saranno inferiori al quadro di risparmio completo.
  • Si tratta di un comportamento previsto e indica dati di prezzo incompleti.
  • Prendere in considerazione l'esportazione del listino prezzi e la reinsezione dei costi per calcoli di risparmio più completi.

Interpretazione dei risultati

Se vengono visualizzati risparmi negativi nei report:

  1. Esaminare la causa : verificare la presenza di errori di configurazione dei prezzi o problemi di fatturazione.
  2. Esaminare l'utilizzo dell'impegno : assicurarsi di non pagare gli impegni inutilizzati.
  3. Convalidare la qualità dei dati : verificare che i dati di Gestione costi siano accurati.
  4. Valutare l'ottimizzazione : valutare se gli sconti per l'impegno forniscono valore.

Usare questa query KQL in lo Esplora Dati per individuare scenari specifici che causano risparmi negativi.

Costs
| extend EffectiveOverContracted = iff(ContractedCost < EffectiveCost, ContractedCost - EffectiveCost, decimal(0))
| extend ContractedOverList      = iff(ListCost < ContractedCost,      ListCost - ContractedCost,      decimal(0))
| extend EffectiveOverList       = iff(ListCost < EffectiveCost,       ListCost - EffectiveCost,       decimal(0))
| extend scenario = case(
    ListCost == 0 and CommitmentDiscountCategory == 'Usage' and ChargeCategory == 'Usage', 'Reservation usage missing list',
    ListCost == 0 and CommitmentDiscountCategory == 'Usage' and ChargeCategory == 'Purchase', 'Reservation purchase missing list',
    ListCost == 0 and CommitmentDiscountCategory == 'Spend' and ChargeCategory == 'Usage', 'Savings plan usage missing list',
    ListCost == 0 and CommitmentDiscountCategory == 'Spend' and ChargeCategory == 'Purchase', 'Savings plan purchase missing list',
    ListCost == 0 and ChargeCategory == 'Purchase', 'Other purchase missing list',
    isnotempty(CommitmentDiscountStatus) and ContractedOverList == 0 and EffectiveOverContracted < 0, 'Commitment cost over contracted',
    ListCost == 0 and BilledCost == 0 and EffectiveCost == 0 and ContractedCost > 0 and x_SourceChanges !contains 'MissingContractedCost', 'ContractedCost should be 0',
    ListCost == 0 and ContractedCost == 0 and BilledCost > 0 and EffectiveCost > 0 and x_PublisherCategory == 'Vendor' and ChargeCategory == 'Usage', 'Marketplace usage missing list/contracted',
    ContractedOverList < 0 and EffectiveOverContracted == 0 and x_SourceChanges !contains 'MissingListCost', 'ListCost too low',
    ContractedUnitPrice == x_EffectiveUnitPrice and EffectiveOverContracted < 0 and x_SourceChanges !contains 'MissingContractedCost', 'ContractedCost doesn''t match price',
    EffectiveOverContracted != 0 and abs(EffectiveOverContracted) < 0.00000001, 'Rounding error',
    ContractedOverList != 0 and abs(ContractedOverList) < 0.00000001, 'Rounding error',
    EffectiveOverList != 0 and abs(EffectiveOverList) < 0.00000001, 'Rounding error',
    ContractedCost < EffectiveCost or ListCost < ContractedCost or ListCost < EffectiveCost, '',
    EffectiveCost <= ContractedCost and ContractedCost <= ListCost, 'Good',
    '')
| project-reorder ListCost, ContractedCost, BilledCost, EffectiveCost, EffectiveOverList, EffectiveOverContracted, ContractedOverList, x_SourceChanges, ListUnitPrice, ContractedUnitPrice, x_BilledUnitPrice, x_EffectiveUnitPrice, CommitmentDiscountStatus, PricingQuantity, PricingUnit, x_PricingBlockSize, x_PricingUnitDescription
| summarize count(), EffectiveOverContracted = sum(EffectiveOverContracted), ContractedOverList = sum(ContractedOverList), EffectiveOverList = sum(EffectiveOverList), Type = arraystring(make_set(x_BillingAccountAgreement)) by scenario

Questa query classifica diversi scenari che possono causare risparmi negativi e consente di identificare la causa radice delle discrepanze dei prezzi.

Se viene visualizzato un numero elevato di valori di risparmio zero:

  1. Esportare i dati dei prezzi - usare i fogli dei prezzi di Gestione costi per popolare i prezzi mancanti.
  2. Abilitare il popolamento dei prezzi : nei report di archiviazione abilitare il parametro "Sperimentale: Popola prezzi mancanti".
  3. Usa gli hub FinOps - Gli hub FinOps, insieme a Esplora dati, popolano automaticamente i prezzi mancanti quando disponibili.

Inviare commenti e suggerimenti

Facci sapere come ci trovi con una breve recensione. Queste revisioni vengono usate per migliorare ed espandere strumenti e risorse FinOps.