The Egress Gap Between Vercel and Raw CDN Pricing
This calculator prices the same monthly egress volume against two very different rate cards. Vercel's commercial bandwidth pricing is modeled here at roughly $0.40/GB (approximating its ~$40-per-100GB tier once you're past included quotas), while standard CloudFront egress in North America and Europe runs about $0.085/GB โ a roughly 4.7x multiplier. Total bandwidth is simply monthlyActiveUsers ร avgBandwidthPerUserMB; the default 100,000 MAU at 50MB/user (HTML, JS bundles, and unoptimized images) already produces meaningfully different bills once you convert that to GB and multiply.
Where the Multiplier Actually Bites
The gap is invisible at low traffic because included-bandwidth allowances absorb it, and it's invisible in the Lighthouse/DX metrics teams usually watch. It shows up specifically when per-user payload is dominated by unoptimized media โ large hero images, unminified bundles, uncompressed fonts โ rather than HTML. Shrinking avgBandwidthPerUserMB through image optimization (WebP/AVIF, responsive srcset) reduces both platforms' bills proportionally, but doesn't close the ratio between them.
The Split Architecture Pattern
You rarely need to choose one platform for everything. A common pattern is keeping SSR routes and edge functions on Vercel for the deployment/preview developer experience, while routing /_next/static and /public media through a plain S3 bucket sitting behind CloudFront โ capturing the egress savings only where the byte volume actually lives.