-
Notifications
You must be signed in to change notification settings - Fork 158
Document behavior for negative and missing savings values in cost calculations #1741
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
base: dev
Are you sure you want to change the base?
Conversation
Co-authored-by: arthurclares <53261392+arthurclares@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Initial review done. Waiting for more feedback.
|
||
**Negative savings are displayed when the effective price paid is higher than the list price or negotiated price.** This indicates the resource cost more than standard pricing, which can happen due to: | ||
|
||
- Pricing misconfigurations |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Pricing misconfigurations |
|
||
- Pricing misconfigurations | ||
- Unusual billing conditions | ||
- Data quality issues in Cost Management |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@flanakin How do you feel about this one?
|
||
### Why show zero savings for missing prices | ||
|
||
When price data is missing, there's no reliable basis for calculating savings. Showing zero ensures: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When price data is missing, there's no reliable basis for calculating savings. Showing zero ensures: | |
When price data is missing, there's no reliable basis for calculating savings. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Applied your suggestion to simplify the explanation. Commit 55b7114
|
||
When price data is missing, there's no reliable basis for calculating savings. Showing zero ensures: | ||
|
||
- Mathematical consistency in totals and aggregations |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Mathematical consistency in totals and aggregations |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed the bullet points as suggested. Commit 55b7114
When price data is missing, there's no reliable basis for calculating savings. Showing zero ensures: | ||
|
||
- Mathematical consistency in totals and aggregations | ||
- No misleading information is presented |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- No misleading information is presented |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed the bullet points as suggested. Commit 55b7114
|
||
- Mathematical consistency in totals and aggregations | ||
- No misleading information is presented | ||
- Clear indication that savings couldn't be determined |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Clear indication that savings couldn't be determined |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed the bullet points as suggested. Commit 55b7114
|
||
### Including negative savings in totals | ||
|
||
When negative savings are included in aggregated totals: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@flanakin Can you confirm if this is true?
|
||
When displaying savings in reports or dashboards, consider adding contextual information: | ||
|
||
### For negative savings display | ||
|
||
> **ℹ️ Note**: Savings may appear negative if the effective price is higher than the list or negotiated price. This may indicate pricing misconfigurations or unexpected billing conditions. [Learn more about savings calculations](savings-calculations.md). | ||
|
||
### For zero savings display | ||
|
||
> **ℹ️ Note**: Savings show as zero when price data is missing or incomplete. Export price sheets or use FinOps hubs to get complete savings calculations. [Learn more about savings calculations](savings-calculations.md). | ||
|
||
<br> | ||
|
||
## Related errors and troubleshooting | ||
|
||
Several error codes in FinOps toolkit relate to missing price data that affects savings calculations: | ||
|
||
- [`MissingListUnitPrice`](errors.md#missinglistunitprice) - List prices missing, preventing savings calculation | ||
- [`MissingContractedUnitPrice`](errors.md#missingcontractedunitprice) - Contracted prices missing, preventing savings calculation | ||
- [`MissingListCost`](errors.md#missinglistcost) - List cost values missing | ||
- [`MissingContractedCost`](errors.md#missingcontractedcost) - Contracted cost values missing | ||
- [`ListCostLessThanContractedCost`](errors.md#listcostlessthancontractedcost) - Data quality issue causing invalid savings | ||
- [`ContractedCostLessThanEffectiveCost`](errors.md#contractedcostlessthaneffectivecost) - Data quality issue causing negative savings | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When displaying savings in reports or dashboards, consider adding contextual information: | |
### For negative savings display | |
> **ℹ️ Note**: Savings may appear negative if the effective price is higher than the list or negotiated price. This may indicate pricing misconfigurations or unexpected billing conditions. [Learn more about savings calculations](savings-calculations.md). | |
### For zero savings display | |
> **ℹ️ Note**: Savings show as zero when price data is missing or incomplete. Export price sheets or use FinOps hubs to get complete savings calculations. [Learn more about savings calculations](savings-calculations.md). | |
<br> | |
## Related errors and troubleshooting | |
Several error codes in FinOps toolkit relate to missing price data that affects savings calculations: | |
- [`MissingListUnitPrice`](errors.md#missinglistunitprice) - List prices missing, preventing savings calculation | |
- [`MissingContractedUnitPrice`](errors.md#missingcontractedunitprice) - Contracted prices missing, preventing savings calculation | |
- [`MissingListCost`](errors.md#missinglistcost) - List cost values missing | |
- [`MissingContractedCost`](errors.md#missingcontractedcost) - Contracted cost values missing | |
- [`ListCostLessThanContractedCost`](errors.md#listcostlessthancontractedcost) - Data quality issue causing invalid savings | |
- [`ContractedCostLessThanEffectiveCost`](errors.md#contractedcostlessthaneffectivecost) - Data quality issue causing negative savings |
|
||
<br> | ||
|
||
## Give feedback | ||
|
||
Let us know how we're doing with a quick review. We use these reviews to improve and expand FinOps tools and resources. | ||
|
||
> [!div class="nextstepaction"] | ||
> [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20understand%20savings%20calculations%20in%20FinOps%20toolkit%20reports%3F/cvaQuestion/How%20valuable%20is%20the%20savings%20calculations%20documentation%3F/surveyId/FTK0.11/bladeName/Toolkit/featureName/Help.SavingsCalculations) | ||
|
||
<br> | ||
|
||
## Related content |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<br> | |
## Give feedback | |
Let us know how we're doing with a quick review. We use these reviews to improve and expand FinOps tools and resources. | |
> [!div class="nextstepaction"] | |
> [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20understand%20savings%20calculations%20in%20FinOps%20toolkit%20reports%3F/cvaQuestion/How%20valuable%20is%20the%20savings%20calculations%20documentation%3F/surveyId/FTK0.11/bladeName/Toolkit/featureName/Help.SavingsCalculations) | |
<br> | |
## Related content | |
## Troubleshooting | |
For troubleshooting these issues, see [Troubleshoot common FinOps toolkit errors](errors.md). | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Simplified the troubleshooting section as suggested. Commit 55b7114
Co-authored-by: arthurclares <53261392+arthurclares@users.noreply.github.com>
…s-toolkit into copilot/fix-1740
3. **Validate data quality** - Confirm Cost Management data is accurate | ||
4. **Consider optimization** - Evaluate if commitment discounts are providing value | ||
|
||
#### Diagnostic query for negative savings |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR addresses the need for standardized documentation explaining how negative savings and missing prices are handled in FinOps toolkit cost optimization calculations.
Problem
Users were experiencing confusion when seeing:
Without clear documentation, users often misinterpreted negative values as bugs or assumed zero savings always meant no optimization opportunity existed.
Solution
Created comprehensive documentation explaining savings calculation behavior:
📋 New Documentation:
savings-calculations.md
🔗 Enhanced Existing Documentation
📊 Key Behaviors Documented
Impact
Fixes #1740.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.