Why egress behaves differently from every other cloud line item
Compute and storage can be right-sized. Egress cannot. It is a direct function of what your users do, it is charged per gigabyte on the way out with nothing charged on the way in, and it is the one cost that grows in exact proportion to product success. On media, gaming, analytics-export and file-sharing workloads it is routinely the largest single item on the bill.
It is also charged in a shape that surprises people. There is a free allowance, then a set of declining tiers, so your blended rate per gigabyte depends on volume and is always below the top tier rate. Traffic between regions is a separate meter at a separate rate. Traffic between availability zones inside one region is a third meter, usually cheaper again but not free, and it is the one that quietly scales with the number of nodes rather than the number of users.
The other reason egress deserves its own model is that it is the main lock-in mechanism in cloud pricing. Moving a petabyte out costs real money, which is why exit costs belong in any migration case and why regulators in some jurisdictions have pushed providers to waive transfer charges for customers leaving entirely. Budget the steady-state and the one-off exit separately; they are different numbers.
Tiered pricing, and the break-even that decides the CDN
Tiered cost is a sum, not a single multiplication. Subtract the free allowance, then fill the tiers in order: the first 10,000 billable GB at the first rate, the next 40,000 at the second, the next 100,000 at the third, everything above at the fourth. Each tier prices only the bytes that fall inside it, which is why the blended rate falls smoothly rather than dropping in a step when you cross a boundary.
The CDN question then has two terms. The CDN charges G × r_cdn for everything it delivers, and every cache miss pulls a copy from your origin, which your provider charges at G × (1 − h) × r_origin. Set that total equal to the direct cost G × r̄ and the delivered volume cancels, leaving
h* = 1 − (r̄ − r_cdn) / r_origin.
Read the shape of that expression. If the CDN rate already exceeds your blended egress rate, the numerator is negative and h* is above 1, meaning the CDN cannot win on price even with a perfect cache. If the CDN rate is below your blended rate by more than the origin rate, h* is below 0 and the CDN wins even with a cache that never hits. Between those two, the hit ratio is the whole argument.
Use the byte hit ratio, not the request hit ratio. A CDN can serve 95% of requests from cache and still fetch half your bytes from origin if the misses are the large objects, and it is bytes that are billed. Most CDNs report both; the byte figure is usually the lower and always the relevant one.
Worked example: 42 TB a month with a CDN in front
You deliver 42,000 GB a month to users, replicate 5,000 GB across regions at $0.02/GB, and have a 100 GB free allowance. Your egress tiers are $0.09, $0.085, $0.07 and $0.05. A CDN quotes $0.075/GB delivered, your byte hit ratio is 85%, and origin fetches cost $0.02/GB.
- Billable egress. 42,000 − 100 = 41,900 GB.
- Tier 1. 10,000 GB × $0.09 = $900.00.
- Tier 2. The remaining 31,900 GB falls inside the 40,000 GB second tier: 31,900 × $0.085 = $2,711.50.
- Direct egress cost. $900.00 + $2,711.50 = $3,611.50.
- Blended rate. $3,611.50 ÷ 42,000 GB = $0.085988 per GB — below the second-tier rate because the first 100 GB were free and only part of the volume is in the top tier used.
- CDN delivery. 42,000 × $0.075 = $3,150.00.
- Origin fetches. 42,000 × (1 − 0.85) = 6,300 GB × $0.02 = $126.00.
- Cost with the CDN. $3,150.00 + $126.00 = $3,276.00, which is $335.50 less than direct.
- Break-even hit ratio. 1 − ($0.085988 − $0.075) ÷ $0.02 = 1 − 0.549405 = 45.06%. Check it: at that ratio the origin pulls 42,000 × 0.549405 = 23,075 GB, costing $461.50, and $3,150.00 + $461.50 = $3,611.50, exactly the direct bill.
- Cross-region. 5,000 × $0.02 = $100.00, unaffected by the CDN.
- Annual total on the cheaper path. 12 × ($3,276.00 + $100.00) = $40,512.00.
The margin here is comfortable: your 85% hit ratio is 40 points clear of the 45.06% break-even. That headroom is what makes the CDN a safe decision rather than a marginal one, because hit ratios fall during releases, cache purges and long-tail traffic shifts.
How to read the result and where to look next
Start with the blended rate, not the total. It tells you which tier your marginal gigabyte is priced at and therefore what a 10% traffic increase will actually cost. At 42 TB, the marginal GB costs $0.085 while the blended rate is $0.085988, so growth here is slightly cheaper than the average — the gap widens as you cross into lower tiers.
Then check the margin on the CDN decision, not just its sign. A hit ratio five points above break-even is a decision that reverses itself the first time a release invalidates the cache. Twenty points or more is durable. If you are close, the fix is usually cache configuration rather than pricing: longer max-age on immutable assets, content-hashed filenames so you never need a purge, and separating rarely-changing large objects from frequently-changing small ones.
Give cross-region traffic its own scrutiny. It is the line most often larger than anyone expects, because it is generated by architecture rather than by users — a replicated database, a multi-region queue, a backup job. Unlike user egress, it can genuinely be designed away, and the calculator flags it when it exceeds your delivery cost. Cross-zone traffic inside a region deserves the same treatment; it scales with node count, so it grows when you scale out even if traffic is flat.
Finally, put the annual number next to the rest of the bill. Egress is often 20% or more of the total on content-heavy services and near zero on internal ones, so the effort it deserves varies enormously. The cost per transaction calculator shows whether egress is growing faster than the business, which is the signal worth acting on.
Blended egress rate by monthly volume
| Monthly egress | Billable GB | Tiered cost | Blended rate ($/GB) |
|---|---|---|---|
| 1,000 GB | 900 | $81.00 | 0.081000 |
| 5,000 GB | 4,900 | $441.00 | 0.088200 |
| 10,100 GB | 10,000 | $900.00 | 0.089109 |
| 25,100 GB | 25,000 | $2,175.00 | 0.086653 |
| 50,100 GB | 50,000 | $4,300.00 | 0.085828 |
| 100,100 GB | 100,000 | $7,800.00 | 0.077922 |
| 150,100 GB | 150,000 | $11,300.00 | 0.075283 |
| 250,100 GB | 250,000 | $16,300.00 | 0.065174 |
The blended rate peaks near 10,000 billable GB — the point at which the free allowance has been diluted but no cheaper tier has been reached yet — and falls from there.
Three meters, not one
Providers bill data movement on separate meters and it is easy to model only the first. Internet egress is data out to end users, tiered as above. Cross-region transfer is charged per GB in both the sending and, on some providers, the receiving side — read your own contract before assuming it is one-way. Cross-zone traffic within a region is charged at a lower rate but on far more volume than teams expect, because service meshes, replicated caches and multi-zone databases chat continuously. Inbound data transfer to the provider is normally free, which is why nothing in this model charges for it.
Assumptions and limits of this model
- Tier boundaries are fixed at 10 TB, 50 TB and 150 TB of billable volume. That matches the common structure but not every provider or contract; if yours differs, adjust the rates so the blended figure comes out right for your volume.
- GB means the billing gigabyte your provider uses, which is normally 109 bytes rather than 230. Mixing the two changes the answer by about 7%.
- Request charges are not modelled. CDNs and object stores also bill per 10,000 requests. On small-object workloads that can rival the transfer charge, so check it separately.
- A single blended CDN rate is assumed. Real CDN pricing varies by geography, sometimes by a factor of two or more between North America and South America or India, so weight your rate by where your traffic lands.
- The free allowance is applied once. Some providers grant it per service or per region rather than per account; check which before relying on it at low volume.
- Nothing here prices the performance benefit of a CDN. Latency, availability and origin offload are usually the reason to deploy one; this calculator only tells you what the transfer will cost.
Reducing egress before negotiating it
The cheapest gigabyte is the one you do not send. Compression on the wire, correct cache headers so browsers and CDNs stop re-fetching unchanged assets, right-sized images and video renditions, and pagination on large API responses all reduce the meter directly and none of them requires a commercial conversation. Teams routinely find that a large share of egress is a small number of oversized objects served without caching directives.
Architecture is the next lever, and it targets the cross-region meter. Read replicas that serve local traffic, region-local caches, and backup topologies that write once rather than fanning out all reduce inter-region volume. Because that traffic is generated by design decisions rather than by users, it is the part of the bill you can genuinely engineer away.
Commercial levers come last, and they are real at scale. Above a few hundred terabytes a month, private pricing, committed transfer agreements and CDN contracts with volume tiers are all available and are routinely well below list. Bring the blended rate from this calculator to that conversation, along with the twelve-month volume trend, and price the alternatives — including what the same content would cost delivered from a different runtime or stored on a different storage tier — so the comparison is complete.
