# How to price hosting plans: a cost-based formula that works

> How to price hosting plans from real costs: cost per account, safe density per server, support time, margin, and tiers that never lose money.

Source: https://zopanel.net/blog/hosting-plan-pricing  
Updated: 2026-10-21

## Key takeaways

- Price hosting plans from your cost per account, not from the cheapest competitor.
- On a dense server, support time usually costs more than the server and the licence combined.
- Sell about half to two thirds of the capacity you measured, to leave room for spikes.
- Limit plans by what actually costs you money: RAM, CPU, PHP workers and outgoing mail, not just disk space.

How to price hosting plans the right way? From the bottom up: add up what one server costs per month, divide by the number of accounts you can safely sell on it, add the support cost per customer, then add your margin. Only then compare the result with the market to decide how to position it. Start from competitors' prices instead and it is easy to launch a plan that sounds great and quietly loses money on every customer.

This guide gives you a concrete formula, a worked example with every assumption spelled out, a three-tier structure, an honest look at overselling, and the pricing mistakes that keep small hosts unprofitable. If you are just getting started, read it alongside [how to start a web hosting business](/blog/start-web-hosting-business).

## What does a hosting plan really cost you?

Most newcomers count only the VPS. The full list is longer:

| Cost | Fixed or per customer | Notes |
| --- | --- | --- |
| VPS or dedicated server | Fixed per server | Include a standby server if you keep one |
| Control panel licence | Per server or per account | Varies enormously between panels |
| Off-site backup storage (S3) | Grows with data | Mandatory if you promise restores |
| Billing software (WHMCS, Blesta…) | Fixed monthly | Or transaction fees on other platforms |
| Payment processing | Percentage of revenue | Often forgotten when pricing |
| Support time | Per customer | Usually the biggest line |
| Monitoring, alerting, your own domains | Fixed | Small but real |
| Refunds, churn, bad debt | Percentage of revenue | Reserve a few percent |
| Tax and accounting | Percentage of revenue | Ask your accountant |

SSL certificates are no longer a cost: Let's Encrypt issues them free, and every modern control panel issues and renews them automatically.

## How many customers fit on one server?

This is the denominator of every calculation, and the number people guess most often. We measured it on real VPSs and published the method in [how many WordPress sites fit on a 4 GB VPS](/blog/how-many-wordpress-sites-4gb-vps): an Ubuntu VPS with 4 GB RAM and 4 vCPU ran about **100 WordPress sites without page cache and 250 with it**, plus 30 other apps; a 3 GB Debian VPS ran 50 and 200.

Do not sell right up to that number. A benchmark result is the point where the server still ran smoothly under one specific traffic pattern; your customers will have heavier plugins, stores with logged-in shoppers, and bots. A sensible rule is to **sell about half to two thirds of the measured capacity**, then watch real usage and raise it gradually. Better still, measure with a typical customer site of your own.

Also separate accounts from websites: a top-tier account may host ten sites. Plan capacity by sites and real load, not by the number of contracts.

## A formula for pricing hosting plans

Simple, and good enough:

```text
Cost per account per month = (Fixed cost per server / Accounts sold on it)
                             + Support cost per account
                             + Other variable costs (backups, payment fees)

Price = Cost per account / (1 - Target margin)
```

A 60% margin means price equals cost divided by 0.4, or 2.5 times cost. For a service with real support costs and churn risk, a gross margin much below that leaves very little for marketing, development and bad months.

### A worked example (assumed numbers)

The figures below only illustrate the method. Replace them with the quotes you actually get.

- 4 GB VPS: assume **USD 16/month**.
- ZoPanel Pro licence: USD 49/year, about **USD 4.08/month**, unlimited websites on one server (see [pricing](/pricing); prices may change).
- S3 backup storage: assume **USD 2/month**.
- Total fixed cost: about **USD 22.08/month**.
- Accounts sold: **120** (roughly half of the 250 sites measured with page cache).

Server and licence per account: 22.08 / 120 ≈ **USD 0.18/month**.

Now support. Assume each customer needs 10 minutes of support a month on average (tickets, file restores, explaining DNS), and an hour of a technician's time costs USD 30 fully loaded. That is **USD 5.00 per customer per month**, more than 25 times the server and licence share.

Cost per account ≈ 0.18 + 5.00 + payment fees and reserve (assume 0.40) ≈ **USD 5.58/month**. At a 60% margin, the floor for the entry plan is about **USD 14/month**. If that is above what your market pays, the lever is not a cheaper server; it is fewer support minutes per customer.

The lesson: **with per-server licensing, infrastructure per customer is almost negligible; support time sets your price.** Everything that lets customers help themselves (restoring their own backups, issuing SSL, seeing their own usage) goes straight to your margin.

### How per-account licensing changes the maths

When the panel is priced per account, the licence grows with every customer instead of being spread thin. For example, at the time of writing (October 2026), [cPanel's official pricing page](https://cpanel.net/pricing/) lists the Premier tier at USD 69.99/month for up to 100 accounts, plus USD 0.49 for each additional account. At 120 accounts that is about USD 79.79/month for the licence alone, roughly USD 0.66 per account, before CloudLinux if you need per-account resource limits. These prices change yearly and differ through partners, so check the current figures. We break this down in [cPanel license cost in 2026](/blog/cpanel-license-cost).

## How should you structure hosting tiers?

Three tiers are popular because they are easy to choose from: a low-priced plan to attract, a middle plan you actually want to sell most, and a high plan for heavier users. What matters is **limiting each plan by what really costs you money**:

| Limit | Starter | Business | Premium |
| --- | --- | --- | --- |
| Websites | 1 | 5 | 20 |
| Disk | 5 GB | 20 GB | 50 GB |
| RAM | 512 MB | 1 GB | 2 GB |
| CPU | 50% of a core | 1 core | 2 cores |
| Concurrent PHP workers | 4 | 10 | 20 |
| Outgoing emails per hour | 50 | 200 | 500 |
| PHP always running (never sleeps) | No | No | Yes |

These are starting points, not a standard. A few principles:

- **Disk is cheap; RAM and CPU are not.** "50 GB NVMe" sells well, but disk is rarely what overloads a server. RAM, CPU and PHP worker limits are what protect it.
- **Cap outgoing mail.** It keeps your server's IP off blocklists when a hacked site starts sending spam.
- **Premium features should carry a real cost.** Always-on PHP keeps 20 to 60 MB of RAM per site even with no visitors, which is exactly why it belongs in the top tier.
- **"Unlimited" needs a clear fair-use policy.** No server is unlimited; say in your terms what happens when one account uses too much.
- **Annual discounts** help cash flow and reduce churn, but remember you are paid up front and must deliver for twelve months.

## Should you oversell?

Overselling means the plans you sold add up to more than the server physically has. It is how shared hosting works: most sites use a small fraction of their allowance. Moderate overselling of disk space is usually safe if you watch actual usage.

What you should not oversell is **performance**. When every account has RAM and CPU limits enforced by the kernel, a heavy customer only slows down their own site instead of dragging down the other 119. Without such limits, overselling is a bet that nobody will use what they paid for.

## Pricing for resellers

Resellers buy a block of resources and split it into their own plans. Reseller pricing is usually based on the total allowance (disk, websites, number of sub-accounts) at a discount to retail, because the reseller takes on support for their customers, which is your most expensive line. This only works safely if the panel keeps each reseller inside what they bought: a reseller must not be able to create plans larger than their own. See the [reseller docs](/docs/reseller).

## Setting up hosting plans in ZoPanel

In ZoPanel, a package is a set of limits enforced by the Linux kernel:

1. Go to **Packages** and click **New package**.
2. Set the counts (websites, databases, cron jobs, mailboxes, Docker apps) and the resources: disk, files (inodes), CPU as a percentage of one core, RAM, processes, disk speed, database connections and emails per hour.
3. Set **PHP memory_limit**, **PHP workers**, and turn on **PHP always running** for premium plans if you want.
4. Save. When you edit a package later, the new limits apply at once to every account on it.

Customers see their usage on the **Resources** page, so they know when to upgrade without opening a ticket. The **Tuning** page warns when all packages together allow more PHP processes than the RAM can hold, which is exactly when your overselling has gone too far. Every field is described in [packages and limits](/docs/packages-limits).

To automate sales, Pro includes modules for WHMCS, Blesta, HostBill and Paymenter: a customer pays and the account is created, an overdue invoice suspends it, an upgrade changes its limits. See the [WHMCS docs](/docs/whmcs).

## Common pricing mistakes

- **Copying the cheapest competitor.** They may be losing money, be many times your size, or subsidise hosting with domain sales.
- **Not pricing your own time.** If you answer tickets yourself, your hours are still a cost.
- **Giving too much away** (free domains, free months) without putting it in the cost.
- **Selling lifetime plans for a service with monthly costs.** One-time revenue, permanent costs.
- **No price-change clause.** Server and licence costs move over time; your terms should let you adjust prices at renewal with notice.

## Conclusion

A good price starts with three numbers only you know: the cost of each server, how many accounts you can safely sell on it, and the average support time per customer. With per-server licensing, infrastructure per customer is tiny, and your real competitive edge is spending less time on support.

You can measure those numbers on your own server: ZoPanel's Free plan gives you 3 hosting accounts, 10 websites and 10 databases with no time limit. When you are ready to sell, Pro unlocks unlimited websites, reseller accounts, S3 backups and the API tokens the billing modules need. See [pricing](/pricing).

## Frequently asked questions

### What should hosting plan prices be based on?

On your cost per account: server and licence costs divided by the number of accounts you can safely sell, plus support and other variable costs. Add your margin, then compare with the market for positioning, rather than starting from competitors' prices.

### How many hosting accounts can I sell on a 4 GB VPS?

In our measurements, a 4 GB VPS ran about 100 WordPress sites without page cache and 250 with it. To be safe, sell about half to two thirds of that and adjust to your own customers' real usage.

### What is a reasonable margin for web hosting?

There is no universal number, but a service with support costs and churn needs a gross margin large enough to pay for marketing, development and bad months. Use price = cost / (1 − margin) and revisit it every quarter.

### Should I sell unlimited hosting?

Only with a clear fair-use policy and kernel-enforced per-account limits on RAM, CPU and processes. "Unlimited" disk or bandwidth is a marketing choice; performance is always limited by the server.
