Dated starting points only — Unknown until verified means no invented $/GB. PipeToll does not scrape private consoles or guarantee figures.
Educational estimator:origin_egress_GB ≈ client_download_GB × (1 − cache_hit_ratio) × inflation. Then multiply by the origin provider's egress rate — which may differ from the CDN's bill. Two bills, one user request.
Path templates to model
Static site / asset CDN — high CHR potential; watch versioned URLs and short TTLs.
Authenticated API via CDN — often low CHR; origin fill ≈ client bytes.
Video / byte-range — partial objects still bill; track range miss patterns.
Multi-CDN failover — each CDN may cold-fill; thundering herds inflate GB.
Image resizing at edge vs origin — transformations can force more origin pulls.
Common traps
Using raw object size instead of transferred bytes misestimates. Ignoring revalidation storms after deploys understates fill. Blending edge bandwidth $/GB with origin $/GB double-counts or undercounts. No guaranteed savings from “add a CDN” without measuring CHR.
FinOps checklist
Export client bytes and cache hit ratio by path or Cache-Control group.
Estimate fill with Mode C; apply dated origin rates only.
Add inflation notes for ranges, purges, and multi-CDN.
Worked example (educational): 12 TB client / 70% CHR
Client downloads 12,000 GB; CHR 0.70 → origin fill ≈ 3,600 GB. Mode C: fill × origin $/GB. Edge CDN bill for 12 TB is a separate line. Inflation factors (revalidation storms, range misses) can raise fill — label them explicitly. Synthetic educational estimate; not a provider quote.