How to raise your prices as a small service business - a simple calculation and a customer letter template
Your costs went up. Materials, fuel, software, insurance, your own time. Your prices did not.
Most small service businesses know they should raise their prices. The hard part is deciding by how much, and then telling customers. So it gets put off for another month, and then another year.
This guide breaks it into three small jobs. First, check your numbers. Second, see what a rise means for each regular customer, in a spreadsheet. Third, send a short, clear letter. Everything works in Excel and Google Sheets unless noted. It takes about 30 minutes.
What you will build
- A quick margin check to see if a price rise is needed.
- A Prices tab that shows the new price, the difference and the yearly effect for each regular customer.
- Two short email templates: one for regular customers, one for customers on a contract.
- A checklist of the places where your old prices still live.
Step 1. Check whether you need a price rise
Start with margin. Margin is profit as a share of the price. If a job costs you 300 to do and you charge 400, the profit is 100 and the margin is 25%.
Margin = (Price - Cost) / Price
Now watch what happens when costs go up and the price stays the same. Say the cost of that job rises by 10%, from 300 to 330. The price is still 400. Profit drops to 70, and the margin drops from 25% to 17.5%. Nothing about the job changed. You just keep less of it.
To check your own jobs:
- For one job, use the free Job Profit Calculator. Type in the price and the costs, and it shows the profit and margin.
- For all your jobs, use the sheet from our simple job costing guide. Sort by margin and look at the bottom of the list.
Pick a margin you are happy with. Then work out the price you need to reach it. If the job costs 330 and you want a 25% margin, put this in any cell:
=ROUND(330/(1-0.25),0)
The answer is 440. That is the price that gets you back to 25%, at today's costs.
Some signs that a rise is due:
- Your margins are lower than they were a year ago.
- You are booked up most weeks, and still not making much.
- You have not changed your prices in a long time, but your suppliers have.
- New customers say yes to your quotes straight away, every time.
Step 2. Set up the Prices tab
Create a tab called Prices and add these headers in row 1:
| A | B | C | D | E | F | G | H |
|---|---|---|---|---|---|---|---|
| Customer | Service | Current price | Visits per year | New price | Difference | Per year | Actual rise |
Then in J1 type Increase, and in J2 type the rise you are thinking about, for example 8%.
You only type into columns A to D, and J2. The rest are formulas.
Tips:
- One row per regular customer and service. If a customer gets two different services, use two rows.
- Current price is what you charge per visit or per job today.
- Visits per year is how often you do the job. Weekly is 52. Every two weeks is 26. Monthly is 12. Every three months is 4.
- Type the increase in J2 as a percentage. In both apps, typing 8% stores it as 0.08.
Step 3. Work out the new price with ROUND
In E2, paste:
=IF(C2="","",ROUND(C2*(1+$J$2),0))
This takes the current price, adds the increase, and rounds it to a whole number. So 85 with an 8% rise gives 91.80, which rounds to 92.
The $ signs in $J$2 keep the formula pointing at the same Increase cell when you copy it down.
Want prices that end in 0 or 5? Use this instead:
=IF(C2="","",ROUND(C2*(1+$J$2)/5,0)*5)
This rounds to the nearest 5. So 85 with an 8% rise gives 90, and 120 gives 130. Round numbers are easier to quote and easier to remember.
If you want to keep pence or cents, change the last 0 in the first formula to 2.
Step 4. Difference, yearly effect and actual rise
In F2 (Difference), paste:
=IF(C2="","",E2-C2)
This is how much more the customer pays each time.
In G2 (Per year), paste:
=IF(C2="","",F2*D2)
This is how much more you get from that customer over a year.
In H2 (Actual rise), paste:
=IFERROR(F2/C2,"")
Format column H as a percentage. Rounding moves the rise up or down a little. If you round to the nearest 5, a small price can jump by much more than you planned. This column shows you where.
Copy E2:H2 down for all your customers.
Then add two totals, anywhere on the tab, with a label next to each. The extra money per year, from all regular customers:
=SUM(G2:G200)
And what those customers pay you per year today:
=SUMPRODUCT(C2:C200,D2:D200)
Now you can see the rise in real money, not just a percentage.
An example
Here is a small window cleaning round with an 8% increase in J2, rounded to whole numbers:
| Customer | Service | Current price | Visits per year | New price | Difference | Per year | Actual rise |
|---|---|---|---|---|---|---|---|
| Smith | Windows | 25 | 12 | 27 | 2 | 24 | 8.0% |
| Patel | Windows and frames | 45.50 | 12 | 49 | 3.50 | 42 | 7.7% |
| Green Cafe | Shop front | 18 | 26 | 19 | 1 | 26 | 5.6% |
| Brown | Gutters | 85 | 4 | 92 | 7 | 28 | 8.2% |
| Lee | Conservatory | 120 | 2 | 130 | 10 | 20 | 8.3% |
The extra per year adds up to 140. These customers pay 1,894 per year today.
Look at Green Cafe. The rounding cut the rise to 5.6%, but it is a fortnightly customer, so it still adds 26 a year. Small prices with many visits matter more than they look.
Try a few values in J2, like 5%, 8% and 10%. Watch the totals change. Pick a number you can explain in one sentence.
Step 5. Decide how much notice to give
There is no single right answer here. Some common practice:
- Many businesses give regular customers around 30 days' notice before a new price starts.
- Pick a clear start date, like the first of a month. "From 1 February" is easier to remember than "from next time".
- Jobs that are already booked or quoted are usually kept at the old price. Say so in your letter.
If a customer has a contract or a signed agreement, read it first. It may say how and when prices can change, and how much notice you have to give. Follow what it says. If you are not sure, ask someone who can read the contract for you, like a solicitor, lawyer or business adviser.
Step 6. Tell your customers
Keep it short. Say what is changing, when, and thank them. You do not need to apologise, and you do not need a long list of reasons. One sentence about why is enough.
Send it by email, and keep a copy. If you use a customer list in a spreadsheet, add a column called Price letter sent with the date. Then you can see who still needs one.
Template 1: regular customers
Subject: New prices from [start date]
Hi [first name],
Thank you for using [business name]. I really appreciate your business.
I am writing to let you know that my prices will change from [start date].
My costs have gone up over the past year, and I have kept my prices the same
for as long as I could.
From [start date], your [service] will be [new price] per visit
(currently [current price]).
Anything already booked before [start date] stays at the current price.
If you have any questions, just reply to this email or call me on [phone].
Thanks again,
[your name]
[business name]
Template 2: customers on a contract
Subject: Price change for your [service] agreement
Hi [first name],
Thank you for working with [business name].
As set out in our agreement dated [agreement date], I am giving you notice
of a change to the price for [service].
From [start date], the price will be [new price] per [visit / month / job]
(currently [current price]). Everything else in our agreement stays the same.
The new price will show on invoices from [start date]. Work done before
that date will be invoiced at the current price.
If you would like to talk about this, please reply to this email or call me
on [phone]. I am happy to go through it with you.
Kind regards,
[your name]
[business name]
Only use the first line of Template 2 if your agreement really does say how prices change. If it does not, leave that line out, and check your contract before you send anything.
You can fill in the names and prices from the Prices tab. If you send a lot of these, a mail merge saves time. Our guide to appointment reminder emails from Google Sheets shows a similar setup.
Step 7. Update everywhere your prices live
Old prices hide in more places than you think. Before the start date, go through this list:
- Price list. Your main price list, printed or digital.
- Website. Your price page, booking page and any FAQ that mentions prices.
- Invoice template. Any saved line items or default rates in your invoice template or software.
- Quotes. Your quote template, and any quotes you send from now on. Decide what happens to open quotes that have not been accepted yet.
- Online listings. Directory pages, booking apps and social media profiles that show prices.
- Your spreadsheets. The price column in your job costing sheet, so new margins use the new prices.
On the start date, check the first few invoices you send. Make sure the new price is on them.
Using it day to day
- Once a year: pick a month to review your prices. The same month each year, so customers come to expect it.
- When a big cost goes up: check your margin with the Job Profit Calculator. If it drops below your target, run the Prices tab again.
- For new customers: quote the new price straight away, even before the start date for existing customers.
- After the rise: watch your margins for a few months. They should move back towards your target.
Small, regular rises are easier for everyone than one big jump after years of nothing.
What else could you automate?
Pricing gets easier when your numbers are already in one place. Our free Small Business Automation Check asks about your country, industry and daily tasks, and shows which admin jobs are easiest to automate next.