- Accrual Accounting with the Cost (Amortized) Metric
- Key Facts and Limitations with Amortization
- Updating your AWS IAM Policy for RDS, Redshift, and Elasticache
Accrual Accounting with the Cost (Amortized) Metric
To see your reports, dashboards, and daily mail on an accrual accounting basis, use the Cost (Amortized) metric. It is exposed in the interface alongside our other cost and usage metrics, and can be used in conjunction with other dimensions like Account Name or Transaction Type for more context.
The amortization feature can track Reserved Instances (RIs) as they are modified or even sold, freeing your accounting department from having to track these manually in spreadsheets. The following example will show how to create a report using both accrual and cash based accounting.
The report below lists monthly costs for 2015. Note most costs are around two to three thousand dollars, with the exception of January and May, which are $14,000 and $16,000 respectively. This is due to upfront RI purchases during those months:
In order to see those reserved instance costs amortized, go to the metrics dropdown and select the Cost (Amortized) metric:
Now in one report you can see costs according to both accrual accounting and cash-based accounting methods. Notice the Cost (Amortized) metric shows costs with less variation, as it spreads the sign up charges associated with each reserved instance purchase across the duration of the contract:
To further understand the subtle differences between Cost (Total) and Cost (Amortized), add another dimension: Transaction Type. With that added, notice how each month expands to reveal the source of each charge. Let’s focus on the January rows below, with respect to Cost (Total), the cashflow-based metric, and Cost (Amortized), the accrual-based metric:
The One-time RI Sign Up Charge for January is $12,000, as shown in Cost (Total). Notice the same row has a value of zero for Cost (Amortized), which is expected as accrual accounting does not recognize costs when they are paid.
Next, look at the Amortized Charge row, where Cost (Amortized) shows a value of $1,000 for January ($12,000 divided by twelve months), while Cost (Total) is set to zero, as cash-based accounting does not amortize costs. In other words, Cost (Amortized) recognized only $1,000 for January, while Cost (Total) recognized all $12,000.
Last but not least, all other transaction type entries are the same for both metrics: usage charges, recurring charges, rounding, and credits.
Similar to reports and dashboards, the daily mail can be configured to show amortized costs. Click on the gear icon in the top right corner to select Preferences from the dropdown menu:
Once in the Preferences page, click on the dropdown to choose your spend metric for the daily mail and select Cost (Amortized).
Key Facts and Limitations with Amortization
Now that we have gone over the steps to create reports with amortized RI sign up costs, let’s go over a few key facts and limitations associated with the Cost (Amortized) metric.
The Cost (Amortized) Metric
The Cost (Amortized) metric will spread the sign up charges associated with a reserved instance (RI) across the duration of its contract. Specifically these costs are either sign up charges associated with all upfront or partial upfront RIs, or sign up charges associated with legacy RIs no longer available for purchase from AWS (e.g. Light, Medium and Heavy RIs). Furthermore, the state of the RI will be tracked, so if an RI has been modified, sold, or expired, its costs will be properly amortized.
Calculating Amortized Costs
Amortization is calculated at an hourly-level of granularity. When you buy a Reservation for a 1-year term, you are actually buying 8760 reserved hours. To amortize the original purchase for a given month, the math would look like:
- ($ original upfront cost / 8760 hours) * N days in given month * 24 hours
This means, for example, that 31-day months will have different totals than 30-day months, as costs are spread evenly across the terms of each reservation. And we'll start amortizing it as soon as we see it appear in the data -- often mid day.
And yes, we account for leap years (and leap hours)!
RI Sign-Up Charges Only
The Cost (Amortized) metric only amortizes the initial RI sign-up charges, not any other recurring or one-time charges:
The sign up charges for reservations will be amortized, but you will need to update your AWS IAM policy to include RDS, Redshift and Elasticache -- policies added before July 2016 only include EC2. See the details below on updating your AWS policy.
Currently, these are the services for which we amortize up-front charges:
Unsupported Reservation Types
We do not yet amortize up-front charges associated with the following services, as AWS does not provide programmatic access to this data (at the time of this writing):
We also do not yet support the following reservations:
- Marketplace RIs - We do not yet amortize Marketplace RIs, but plan to add this feature in a future version. We'll show an error when this occurs, as described below.
- Scheduled RIs - Scheduled RIs are not yet being amortized by the new Cost (Amortized) metric, as they'll require a different methodology to appropriately apply them across their term.
- Historical RIs - RIs that were purchased before the window of DBR data Cloudability has access to, will not be amortized.
In some cases, modification data does not contain enough lineage information for us to trace modified RIs back to original purchases. In this case we will present a warning (for example, if you only sell part of a reservation on the Marketplace, the remaining portion of the RI becomes an untraceable modification).
Possible Amortized Cost Warnings
If Cost (Amortized) does not contain any sign up charges due to dimensions or filters present on a given report, a warning message will be displayed. This could occur in the following cases:
- When a report contains RIs that do not have sufficient data to be amortized (Marketplace RIs, very old RIs, etc).
- When a report contains Credits associated with large RI purchased that are amortized, the total costs may fall well below $0 (we do not yet amortize Credits).
- When a filter in a report, dashboard, or view contains a tag, then Cost (Amortized) will not contain any amortized sign up charges. Tag-support is scoped for a future version of the feature.
- When a report contains the Item Description dimension, then be sure to include Product Name and Transaction Type to provide enough context for our calculations to properly amortize the appropriate line items.
Estimates and Daily Mail
As noted above, you can set Cost (Amortized) as the default cost metric for your account on the Preferences page. There are two aspects of this to note:
- Daily Mail: If you are on an Enterprise plan with Views enabled, tag-based views are not compatible with the Cost (Amortized) metric. You’ll need to select a default view without tag filters for your Daily Mail to function as expected.
- Estimates: The estimates algorithm currently supports the Cost (Total) -- i.e. Unblended -- and the Cost (Blended) metrics. If you select Cost (Amortized) as your default cost metric, Estimates will continue to appear based on Cost (Total). This is a feature we are working to address relatively soon after the initial release of the RI amortization feature.
Updating AWS IAM Policy for RDS, Redshift, and Elasticache
The Cost (Amortized) metric is, in most cases, ready to use with EC2 RIs based on our last recommended AWS IAM policy.
In order to amortize the upfront RI purchase costs for non-EC2 resources (RDS, Redshift, and Elasticache), you'll need to update your AWS IAM policy with additional services, including:
Here is how you make these updates, depending on your current account setup:
Master Payer: To update your master payer account/consolidate billing account, you'll need to generate a new policy within the Cloudability app, copy it, and then paste it into the AWS Security Console (IAM). Follow the instructions here: Integrating Cloudability with Amazon Web Services.
Linked Accounts: To update each of your linked accounts if you are using consolidated billing, navigate to your Security Credential Console (IAM) in AWS for every linked account, and update the policy by following the steps listed here: Collecting Data For Consolidated Billing Child (Linked) Accounts.
Please let us know if you have any questions!