Overview
The Introduction to Usage Reporting article provides an overview of Nebula’s usage reporting approach, but this article provides more specific methodology on how Nebula performs its calculations.
Methodology for Discount Eligible Meters
For all “discount-eligible” meters as described in Discount Eligible Azure Meters, Nebula re-rates Azure usage using Microsoft’s published retail rates using the following methodology:
- Each calendar month, Nebula acquires the Retail pricing in USD using the API described in the Microsoft article Azure Retail Prices REST API overview. This pricing should match the default USD pricing available in the Azure Pricing Calculator. Default pricing is available when the user is not logged into the Calculator. When logged in, default is shown if a specific Azure Agreement type is not active.
- For Provisioning Entities using the JPY and AUD currencies, the System uses the exchange rate described in NTT Transactional Model JPY and AUD Exchange Rates to convert the rates to JPY/AUD currency. The USD Retail price rate is returned by the API with six decimal places precision. The system multiplies the USD rate times the exchange rate and rounds the result to three decimal places (JPY) or six decimal places (AUD).
- The resulting price list (after any exchange rate if applicable) is available in the Azure PAYG Price List Report. Microsoft does not publish historical retail pricing so this report can be useful in identifying if the current pricing available in the Azure Pricing Calculator differs from that used in a previous month.
- Azure does not finalize Azure usage for a given usage month until the end of the third day after the calendar month. Therefore, on the fourth day of the calendar month following the usage, Nebula acquires the underlying detailed usage data from Azure Cost Mangement for each SCE using Azure’s ACM Export functionality.
- For discount-eligible meters, the system discards the UnitPrice, EffectivePrice, cost, UnitofMeasure, and OfferId fields from the exported usage data and recalculates those values using the retail price list gathered above based on each Organization and its associated Subscriptions. Specifically:
- System identifies the aggregate Quantity for the meter for the calendar month based on usage across all subscriptions of the same Offer (i.e. normal or Dev/Test) associated with the Nebula Organization.
- This Aggregated Quantity is multiplied by the prices gathered from the Azure Retail Pricing API and rounded to the nearest two decimal places (AUD/USD) or integer (JPY). Note that some meters use retail pricing with usage “tiers” with different rates for different levels of usage (see Internet Egress Bandwidth pricing for an example). In this case, the system will apply such tiers based on the Organization’s aggregate usage. The results of these calculations are returned in the Azure Monthly Costs report.
- For each Organization, the system identifies the Meter’s EffectivePrice = Aggregate Cost / Aggregate Quantity for the meter/offer combination. The system replaces all the ACM usage data for EffectivePrice and cost fields with its calculations. The results are returned in the Detailed Azure Usage Report.
- NOTE: UnitPrice field is not returned with data in the Detailed Azure Usage Report as the tiered pricing system cannot be summarized in a single field. The system also replaces the UnitofMeasure field with the associated value from the Retail Price List and updates the OfferId to reflect the appropriate retail pricing offer.
- In the rare case where an Azure meter appears in a given month’s usage but does not appear in the current calendar month’s price list, the system attempts to use the most recent pricing available. If none is available, the system reports the native Microsoft SCE costs. When these scenarios occur, the Azure Monthly Costs Report will populate the errorCode field to denote the source of the pricing. See that article for further details.
Methodology for Non-Discount Eligible Meters
Nebula does not re-rate usage for non-discount eligible meters so no conversions are made by the system. The data reported in all reports is identical to the the data acquired by Azure Cost Mangement. with the exception of the OfferId. The Azure Monthly Cost summarizes the total for all Subscriptions associated with the Organization. The Detailed Azure Usage Report returns the data unchanged.
Usage in JPY and AUD will generally follow the same conversions used by Nebula for Discount Eligible Meters but Microsoft’s methodology does not precisely follow the same approach described above, so minor differences can be expected.