Maximising consumption of AWS credits

Mark Ross
4 min readApr 5, 2024

AWS provides promotional credits in a number of different scenarios. These credits can be dispensed to an organisation increasing their usage of AWS, for example the Migration Acceleration Program (MAP), where they help customers overcome the ‘double running’ costs during a migration phase. Credits can also be dispensed to individuals, for example via some of the programs AWS runs, simply by visiting some of the Expo booths at a summit or re:Invent, or new for this year by competing in AWS DeepRacer and being one of the first 2,000 people to submit a model to the monthly race.

But how do you ensure you maximise the consumption of your AWS credits, and avoid leaving money on the table by having some expire?

AWS would have you believe from their documentation that there’s a simple ordered priority of consumption: -

Credit consumption order — AWS website

There’s of course some additional nuance where an AWS Organization is in use, as you can choose to enable credit sharing across your Organization, or keep the credits for a single account, but the principle above still holds true.

You’d therefore be forgiven for thinking that you could simply apply all the credits you have (so you don’t forget to apply them to your account) and AWS will ensure they get used in expiry order so the sooner credit to expire will get consumed first, after all that’s what the documentation says right?

I put out a poll on LinkedIn and that was certainly the most popular view of those who responded: -

Sadly despite the majority choosing the ‘textbook’ answer from the AWS documentation they were wrong…

Enter the opaque, undocumented credit characteristic — ‘Before’ or ‘After’ Discount.

I followed the above rational and applied a number of AWS credits to an AWS account. To my surprise I noticed that credits with an expiry date much further in the future were being consumed before credits that were about to expire in the next month or so, leading to a situation where some credits would not be consumed before their expiry. Believing this to be a mistake I raised a support ticket with AWS stating there was an issue with their system and my credits were not being consumed in the order the documentation states.

Much to my surprise the response I got back was that some of the credits in the account in question would only be applied ‘before discounts’ and some ‘after discounts’. I assume the principle of this is to control that customers with enterprise agreements are consuming credits against list prices, rather than anything they’ve negotiated, however the implementation leaves a lot to be desired. I learnt that it also affects credit preference order. I learnt that some of my soon to expire credits were being de-prioritised in favour of ones that had a much longer expiry as one batch was ‘before discounts’ and one batch was ‘after discounts’. Given none of this is documented on the AWS website I thought this was rather unfair and made support aware of my thoughts, to add insult to injury to avoid ‘losing’ the credits their advice was simply to hammer the AWS Account in question to burn all the credits almost immediately to avoid any of them expiring — ‘we recommend scaling up your usage if possible by trying new services and resources covered by your Credits, to take advantage of all credits and avoid them getting expired without being used.’!

At this point I don’t mind admitting I was a little annoyed, becuase if you don’t give a customer all the necessary details to manage things themselves it seems unfair. I went through the AWS leadership principles and quoted back in the ticket each one of them that I thought AWS were failing with their opaque process, incorrect documentation and frankly ludicrous suggestion of burning through the credits all in the same month so they weren’t lost given it’s impossible for a customer to know whether a credit falls into the ‘before’ or ‘after’ discount policy.

Eventually they credited the account with equivalent for the lost credits, but the wider problem is not fixed, despite my ticket having been raised in January 2024 as of today (5th April 2024) the website documentation is still incorrect with no reference to ‘before’ or ‘after’ discounts.

So the title of this blog was ‘Maximising consumption of AWS credits’, so what’s the advice to ensure this happens?

Well sadly it’s impossible to tell whether a credit you receive is a ‘before’ or ‘after’ discount credit. This holds true with the information you get when you receive a credit (typically you get the code and the expiry date), and even when you’ve applied the code in the console it doesn't’ tell you either, it simply lists the services the credit can be used against and the expiry. this therefore limits your options.

My advice at the present time is to only apply enough credits to see you comfortably beyond your current month’s bill. This will ensure you don’t get an unexpected bill, but equally you won’t apply credits that never get consumed due to the opaque top priority ‘before’ or ‘after’ discount designation. This does of course mean you need to manage your list of credits and remember to apply them.

Hopefully in the not too distant future AWS will solve this issue and update their documentation….

--

--