Two VPS plans can print the same $5, the same “2 vCPU”, and the same “40 GB SSD” and still differ by a factor of three in what they deliver per dollar. The difference is that one plan’s units are standardised and the other’s are marketing. Normalising a spec sheet takes about twenty minutes and is the only reliable way to compare budget providers. Here is the method, with the arithmetic that makes it work.
Why Headline Prices Are Not Comparable
Three things distort the sticker price, and each distorts it in a different direction.
- Billing term. A $2.50/month figure is often an annual prepay; the monthly rate on the same plan may be $4.50. Never compare prices quoted in different billing cycles.
- Introductory periods. A first-month discount of 50–70% is common. The renewal rate is the real price.
- Excluded line items. Backups, a second IPv4, snapshot storage, control panel licence and setup fees are frequently priced separately and can add 40–80%.
The fix is one column in your comparison sheet: monthly cost at renewal, in USD, with all add-ons required for the workload included. Everything else gets compared against that number.
The Five Ratios Worth Calculating
Once the true monthly cost is fixed, divide by the resources. Each ratio answers a different question and the answers frequently disagree, which is the point.
| Ratio | Formula | Healthy 2026 budget range | What a bad value signals |
|---|---|---|---|
| Cost per GB RAM | true monthly cost ÷ RAM (GB) | $3–$5 | Above $8: you are paying for something else |
| Cost per vCPU | true monthly cost ÷ vCPU | $3–$7 | Below $2: expect heavy oversubscription |
| Cost per 10 GB NVMe | true monthly cost ÷ (disk ÷ 10) | $1–$2.50 | Cheap disk at high RAM price: wrong shape |
| Cost per TB transfer | true monthly cost ÷ included TB | $2–$6 | Very low: usually a soft cap with throttling |
| Effective cost per GB RAM at peak | cost ÷ RAM actually available under load | within 20% of nominal | Large gap: RAM is ballooned or overcommitted |
The last row is the one nobody calculates and the one that explains most disappointment. A 2 GB plan that shows 1.6 GB available after the hypervisor balloon driver and kernel overhead is a 1.6 GB plan sold as 2 GB. Check with free -m during the refund window: total should be within 5–8% of the advertised figure, and the difference should be explainable by the kernel, not by “virtualisation overhead”.
Normalising vCPU: Cores Are Not Cores
vCPU count is the least comparable number on any spec sheet. Providers allocate it in at least four different ways, and only one of them behaves like a core.
| Allocation | What it means | Real-world behaviour |
|---|---|---|
| Dedicated thread | Pinned to a physical SMT thread | Consistent; best for latency-sensitive work |
| Fair-share cgroup | Guaranteed % of a core when contended | Predictable, slightly below nominal under load |
| Burst with credit | Full core until credits deplete | Fast for minutes, throttled for hours |
| Best-effort share | Whatever is left after other tenants | Drops to 20–40% of nominal at peak hours |
Two plans at $5 with “2 vCPU” can therefore differ by 3–4× under sustained load. The only way to tell is to measure: run sysbench cpu --threads=1 run three times at different hours and compare events-per-second. Stable numbers indicate dedicated or fair-share allocation; a 30% swing between 10 am and 8 pm indicates best-effort. Our guide to running benchmarks before you commit has the full test set.
Normalising Storage and Transfer
“SSD storage” covers three media with roughly an order of magnitude between them. Convert the label into a number before comparing:
- SATA SSD on shared controller: 150–300 MB/s sequential, 500–3,000 IOPS. Fine for static files, marginal for databases.
- NVMe on shared controller: 800–1,800 MB/s, 10,000–40,000 IOPS. The realistic baseline at $5–$10.
- NVMe with advertised IOPS guarantee: 2,000+ MB/s, 50,000+ IOPS. Rare below $15 and usually a headline not a floor.
Transfer needs the same treatment. “1 TB” that counts only egress is worth roughly twice as much as “1 TB” that counts ingress and egress together, and “unmetered” nearly always resolves to a fair-use clause with a throttling threshold somewhere between 2 and 5 TB. Read the acceptable-use section and note the number at which speed is reduced; that is the real cap.
A Worked Comparison of Three Plans
Three offers, all advertised at $5/month, all “2 vCPU / 2 GB / 40 GB SSD / 1 TB”. The normalised view is different.
| Line item | Plan A | Plan B | Plan C |
|---|---|---|---|
| Advertised price | $5.00 | $5.00 | $5.00 |
| Renewal price | $5.00 | $9.00 | $5.50 |
| Backups | $2.00 | included | $1.50 |
| Second IPv4 | $1.00 | $2.00 | n/a |
| True monthly cost | $8.00 | $11.00 | $7.00 |
| Available RAM at load | 1.9 GB | 1.95 GB | 1.6 GB |
| Storage medium | NVMe | NVMe | SATA SSD |
| Cost per GB RAM | $4.21 | $5.64 | $4.38 |
| CPU stability across hours | ±4% | ±6% | ±28% |
Plan C is the cheapest after add-ons but loses on both RAM honesty and CPU stability — it is the most expensive of the three for a database workload. Plan B is the most expensive but the only one where backups are included at renewal. Plan A wins on the ratios and loses on the annual commitment. None of that is visible from the three identical $5 headline numbers.
Building the Sheet
- One row per plan, one column per line item, all prices at renewal, all in USD.
- Add the add-on columns explicitly even when zero, so included and excluded items are visibly different.
- Compute the five ratios in adjacent columns; do not average them into a score. Divergence is the information.
- Add two measured columns filled in after purchase: available RAM and CPU stability across a day.
- Keep the sheet after you buy. Re-run the measured columns quarterly, because a plan that was fair at signup is not guaranteed to stay fair.
This is the same worksheet used to keep the budget VPS comparison table current, and it is worth running on any shortlist before you prepay a year. The plans that survive normalisation are rarely the cheapest ones advertised, and almost always the cheapest ones you actually end up paying for.

