Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Documentation Improvement] Convert Cost Management data to FOCUS #1125

Open
brianwyka opened this issue Nov 12, 2024 · 5 comments · May be fixed by #1153
Open

[Documentation Improvement] Convert Cost Management data to FOCUS #1125

brianwyka opened this issue Nov 12, 2024 · 5 comments · May be fixed by #1153
Assignees
Labels
Skill: Documentation Documentation updates Tool: FinOps guide Implementing FinOps guide

Comments

@brianwyka
Copy link

⚠️ Problem

Today, the Convert Cost Management data to FOCUS documentation for performing transformation is not 100% clear for cost related columns.

BilledCost and EffectiveCost reference this footnote:

  1. BilledCost should copy cost from all rows except commitment usage that has a PricingModel of “Reservation” or “SavingsPlan” which should be 0. EffectiveCost should copy cost from all amortized dataset rows; commitment purchases and refunds from the actual cost dataset should be 0.

I understand this as the following for BilledCost, but not sure if its correct.

IF (PricingModel = 'Reseration` OR PricingModel = 'SavingsPlan') {
  0
} else {
 CostInBillingCurrency
}

However, EffectiveCost does not give actual values that should be checked for proper calculation. What is the criteria for knowing a row is amortized and if the row is "commitment purchase or refund"?

ContractedCost has the column as UnitPrice * Quantity and a description of a lookup required against the PricingUnits reference data.

Map UnitOfMeasure using Pricing units data file and divide Quantity by the PricingBlockSize

Is the proper equation UnitPrice * (Quantity / PricingBlockSize)?

🛠️ Solution

Please clearly document the conversion of CostInBillingCurrency for BilledCost, EffectiveCost and ContractedCost so there is no guessing in how this is done.

🙋‍♀️ Ask for the community

We could use your help:

  1. Please vote this issue up (👍) to prioritize it.
  2. Leave comments to help us solidify the vision.
@brianwyka brianwyka added the Needs: Triage 🔍 Untriaged issue needs to be reviewed label Nov 12, 2024
@arthurclares arthurclares added Skill: Documentation Documentation updates Type: Feature 💎 Idea to improve the product Needs: Documentation labels Nov 21, 2024
@flanakin flanakin removed the Needs: Triage 🔍 Untriaged issue needs to be reviewed label Nov 22, 2024
@flanakin flanakin self-assigned this Nov 22, 2024
@flanakin flanakin removed Needs: Documentation Type: Feature 💎 Idea to improve the product labels Nov 22, 2024
@flanakin flanakin added this to the 2024-12 - December milestone Nov 22, 2024
@flanakin
Copy link
Collaborator

We can clarify this. Your logic is correct for BilledCost.

As a starting point, you should copy all rows from the amortized cost dataset and only the commitment purchases and refunds from the actual cost dataset. To identify commitment discount purchases and refunds, look for ChargeType == "Purchase" and PricingModel == "Reservation" or "SavingsPlan".

For ContractedCost, your formula is also correct.

flanakin added a commit that referenced this issue Nov 22, 2024
@flanakin flanakin linked a pull request Nov 22, 2024 that will close this issue
@flanakin
Copy link
Collaborator

@brianwyka Would you mind taking a look at PR #1153 to see if that helps?

@flanakin flanakin added the Tool: FinOps guide Implementing FinOps guide label Nov 22, 2024
@brianwyka
Copy link
Author

brianwyka commented Nov 22, 2024

Thanks @flanakin . I'll take a look at it today!

If I understand correctly, I need both the Cost and usage details (actual) and Cost and usage details (amortized) to correctly calculate BilledCost and EffectiveCost fields.

Is there any alternative with just the actual cost data? If we only have the actual, can we only safely calculate ContractedCost and LiatCost?

@flanakin
Copy link
Collaborator

If I understand correctly, I need both the Cost and usage details (actual) and Cost and usage details (amortized) to correctly calculate BilledCost and EffectiveCost fields.

Correct.

Is there any alternative with just the actual cost data? If we only have the actual, can we only safely calculate ContractedCost and LiatCost?

If you don't have any commitment discounts, then using actual cost alone is fine. If you do have commitment discounts, then you won't be able to show an accurate EffectiveCost value.

@flanakin
Copy link
Collaborator

Btw, thanks for the review! I love your comments and depth in reviewing this! So awesome to see from the community! 😊

I responded to your comments with some additional suggestions. Take a look and let me know if it'd be better to walk thru this in a call. Happy to find some time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Skill: Documentation Documentation updates Tool: FinOps guide Implementing FinOps guide
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants