← Back to Vercel Bill Estimator
A Vercel Pro invoice is seats plus separately metered usage: Fast Data Transfer, Edge Requests, function invocations, Active CPU and provisioned memory, Fast Origin Transfer, image transformations and build minutes. The useful question is not "how do I spend less" but "which line, changed by how much, saves the most". That is arithmetic you can do before the invoice, from the numbers on your dashboard's Usage page.
Every uncached dynamic request pays for an invocation, CPU time, memory time and often origin transfer. Static generation, incremental static regeneration and Cache-Control headers move requests to the cache. If 40% of 60 million invocations become cache hits, you stop paying for 24 million of them and the compute behind them.
Crawlers and scrapers pay no attention to your bill. Firewall rules and rate limits remove their edge requests, bandwidth and function runs at once, which is why this often ranks first on public sites.
Fast Data Transfer beyond the included terabyte is billed per GB. Compression, modern image and video formats, lazy loading and dropping autoplay video cut it directly: 25% of 3,000 GB is 750 GB, about $112 a month at $0.15.
Each distinct source, width and format is a transformation. Serve right-sized sources, limit device widths, and raise minimumCacheTTL so results are reused.
An ignored build step for docs-only commits and a warm build cache cut build minutes, which are billed per minute with no allowance.
Paid seats are the one line with no allowance: move read-only teammates to Viewer seats and remove leavers. Provisioned memory is billed per GB-hour, so a function set to 3 GB that uses 400 MB is paying for memory it never touches.
Enter your usage in the estimator or from the CLI, and gate a budget in CI:
node cli.mjs estimate usage.csv --budget 500
Plans, regions, spend management, enterprise contracts and price changes are outside it. Prices here are approximate Pro-plan list prices and editable. The estimate is arithmetic on your inputs, never a bill reader.
For most Pro teams it is bandwidth (Fast Data Transfer), edge requests and function compute, in roughly that order of surprise, plus seats on larger teams. Estimate your own mix with the estimator rather than assuming, because a mostly static marketing site and a server-rendered app have different top levers.
The credit offsets usage charges such as bandwidth and function time, not seats, and it only goes as far as your usage overage. The estimator lets you edit the credit and every included allowance.
No. Caching and bot blocking act on the same requests, so each lever is calculated alone and the list is a ranking, not a plan total.