Which of your services make money once you count the hours?
Tag every hour, fee and outside cost to one service, then compare contribution per hour. Keep shared account time on its own line. The service with the biggest fees can leave the least for each hour it takes.
You sell SEO, website builds and paid social. Your fees show which service is biggest. They don't show which one pays for the hours it takes. A service can bring in the most money and leave the least for each hour your team puts in.
This guide gives each service three figures, and shows how to handle time that serves several services at once. A fictional month at a six-person agency works through every step. Then it covers what to change when one service trails.
Three figures per service
A service makes money, before overhead, when its fees cover its outside costs and the cost of its hours, with something left. So each service gets three figures for the month:
Contribution = net fees − outside costs − hours × internal hourly cost
Margin = contribution ÷ net fees
Contribution per hour = contribution ÷ the service's delivery hours
Contribution is what the service left, in dollars. Margin is that amount as a share of its fees. Contribution per hour is what each hour of delivery left. It's the figure to compare when services differ in size, because every service competes for the same team hours.
Contribution here means contribution before overhead: fees minus the cost of delivering the work, before rent, software and other running costs. Client profitability: contribution before overhead explains it client by client.
Net fees are what you billed for the service, less any credits. Outside costs are what you paid others for that service's work, such as a freelance writer. Your internal hourly cost is what an hour of your team's time costs you, not what you charge. How to set an internal hourly cost rate shows how to work one out.
How to measure it
Step 1: Tag every hour to one service
Give each service a short code, such as SEO, WEB and SOC. Put the code at the start of every project name in your time log: "SEO monthly retainer", "WEB site rebuild". Then one formula totals the hours for each service in any spreadsheet:
Hours for SEO = SUMIFS(hours column, project column, "SEO*")
If your time tool has a tag field, use that instead, and total on the tag.
An hour goes to a service when it's spent on that service's work. That includes reviews, revisions and calls about that work.
Step 2: Give shared time a tag of its own
Some hours serve the client, not one service. Think of a monthly call that covers SEO and paid social, a combined report, or an invoice query. Tag those hours SHARED. Don't guess a split as you log them.
One rule keeps the tag honest: if an hour can be tied to one service, it goes to that service. SHARED is for time that truly spans services. Check what's in it each month, and move any hours that belong to one service.
Step 3: Put each fee and outside cost against its service
Most fees already belong to one service. Some clients buy two services for one fee. Split that fee by the prices in your proposal, or by what you'd charge for each on its own. Write the split down and use it every month.
Outside costs go to the service they paid for: a contract developer to web builds, a freelance writer to SEO. Software you'd pay for anyway stays in overhead. If you bill clients for costs you pass straight through, such as ad spend, leave them out of both fees and costs. Otherwise the service looks bigger than its work, and its margin looks thinner.
Step 4: Total each service, then divide once
At month-end, add up each service's fees, outside costs and hours. Work out the three figures from those totals. Add first and divide once, so a small project doesn't count as much as a large one.
A worked example (fictional)
Fictional example. Corriemoor Digital is not a real business. The figures are illustrative and are not a customer result.
Corriemoor Digital is a six-person agency that sells SEO retainers, website builds and paid social management, billed in US dollars. Its clients are fictional too. It uses one blended internal cost of US$55 an hour. In September it logged 630 hours:
- SEO: 190 hours, US$18,000 in net fees and US$900 of freelance writing.
- Web builds: 300 hours on two builds, US$24,000 of milestone invoices, and US$3,200 for a contract developer and theme licenses.
- Paid social: 80 hours and US$9,000 in management fees. Clients pay the ad platforms directly, so no ad spend passes through.
- Shared: 60 hours of account management, status calls and combined reports.
The month, by service:
| Service | Net fees | Outside costs | Hours | Cost of hours | Contribution | Margin | Per hour |
|---|---|---|---|---|---|---|---|
| SEO | US$18,000 | US$900 | 190 | US$10,450 | US$6,650 | 36.9% | US$35.00 |
| Web builds | US$24,000 | US$3,200 | 300 | US$16,500 | US$4,300 | 17.9% | US$14.33 |
| Paid social | US$9,000 | US$0 | 80 | US$4,400 | US$4,600 | 51.1% | US$57.50 |
| Shared | US$0 | US$0 | 60 | US$3,300 | −US$3,300 | — | — |
| Total | US$51,000 | US$4,100 | 630 | US$34,650 | US$12,250 | 24.0% | US$19.44 |
The arithmetic for web builds:
- Cost of hours: 300 × US$55 = US$16,500.
- Contribution: US$24,000 − US$3,200 − US$16,500 = US$4,300.
- Margin: US$4,300 ÷ US$24,000 = 17.9%.
- Contribution per hour: US$4,300 ÷ 300 = US$14.33.
The total checks both ways. The three services contributed US$6,650 + US$4,300 + US$4,600 = US$15,550. Less the US$3,300 of shared time, that leaves US$12,250. From the totals: US$51,000 − US$4,100 − US$34,650 = US$12,250. That's US$19.44 for each of the 630 hours.
What the month says
Ranked by fees, web builds come first. Ranked by contribution per hour, they come last.
- Paid social is the smallest service by fees, and it leaves the most per hour: US$57.50.
- SEO sits in the middle, at US$35.00 an hour.
- Web builds took 52.6% of the delivery hours (300 of 570) and brought in 47.1% of the fees (US$24,000 of US$51,000). They left 27.7% of the contribution before shared time (US$4,300 of US$15,550), or US$14.33 an hour.
Margin and per hour agree on the order here. They don't always. A service with large outside costs can show a thin margin and still leave a lot per hour. The outside costs use few of your hours. When the two disagree, per hour is the better guide to where your team's time should go.
One month isn't enough for web builds. Their fees arrive as milestone invoices, and the hours don't follow the invoice dates. A month with a big invoice flatters them, and a month between invoices does the opposite. Before acting, add up a quarter, or score each finished build as a whole project. How to price a project so it still pays after delivery shows how to compare a finished project with its quote.
Sharing the shared hours: two rules
Keeping the 60 shared hours on their own line shows what they cost: US$3,300 in September. If you also want one figure per service that covers everything, share that cost out by a rule. Here are two.
By delivery hours. Each service takes a share in proportion to its own hours:
Service's share = shared cost × service's delivery hours ÷ all delivery hours
For web builds: US$3,300 × 300 ÷ 570 = US$1,736.84.
By client accounts. Each account takes an equal share. Corriemoor ran 12 accounts in September: 6 on SEO, 2 web builds and 4 on paid social. That's 60 ÷ 12 = 5 hours, or US$275, per account.
| Service | Share by hours | Contribution | Per hour | Share by accounts | Contribution | Per hour |
|---|---|---|---|---|---|---|
| SEO | US$1,100.00 | US$5,550.00 | US$29.21 | US$1,650.00 | US$5,000.00 | US$26.32 |
| Web builds | US$1,736.84 | US$2,563.16 | US$8.54 | US$550.00 | US$3,750.00 | US$12.50 |
| Paid social | US$463.16 | US$4,136.84 | US$51.71 | US$1,100.00 | US$3,500.00 | US$43.75 |
| Total | US$3,300.00 | US$12,250.00 | US$3,300.00 | US$12,250.00 |
Per hour here is the contribution after the share, divided by the service's own delivery hours. Three things stand out:
- The total doesn't move. Both rules hand out the same US$3,300, so the agency still has US$12,250. A rule changes the split, never the sum.
- Sharing by delivery hours can't change the order per hour. It takes the same amount off every delivery hour: US$3,300 ÷ 570 = US$5.79. Paid social drops to US$51.71, SEO to US$29.21 and web builds to US$8.54.
- Sharing by accounts can change the order in dollars. Paid social has 4 accounts on 80 hours, so it takes US$13.75 off each of its hours (US$1,100 ÷ 80). SEO takes US$8.68 (US$1,650 ÷ 190), and web builds take US$1.83 (US$550 ÷ 300). Web builds now leave more in dollars than paid social: US$3,750 against US$3,500.
Per hour, the order still holds: US$43.75, US$26.32, US$12.50. It would flip only if one service carried enough extra shared time per hour to close the gap to the next. Before sharing, the closest two, SEO and web builds, were US$20.67 an hour apart.
Neither rule is right in every case. Pick the one that matches what drives the shared time, write it down, and keep it. If account management follows the number of clients, share by accounts. If it follows the size of the work, share by hours. Keep the shared line in view too, so a change of rule can't hide a change in the work.
Common mistakes
- Ranking by fees. At Corriemoor, the biggest service by fees left the least per hour.
- Dropping the shared line. Leave out the 60 hours and the services add up to US$15,550, not the US$12,250 the agency kept.
- Changing the rule from month to month. A service can then look better with no change in the work.
- Leaving hours untagged. An hour with no tag still costs US$55. If it sits in neither a service nor SHARED, the month looks better than it was.
What to change when a service trails
There are four moves. Consider them in this order:
- Price. Charge more for the same work. For web builds to match SEO's US$35.00 an hour on the same 300 hours, fees would need to be US$3,200 + 300 × (US$55 + US$35) = US$30,200. That's US$6,200, or 25.8%, more than September's US$24,000.
- Scope. Deliver less for the same fee: fewer revision rounds, a set number of page templates, or content the client supplies.
- Delivery mix. Change who does the work, or what you buy in. On web builds, the US$3,200 of outside costs is a place to look.
- Stop selling it. The last move, not the first.
Stopping a service doesn't stop the costs it shares. The 60 shared hours and the team's salaries carry on, unless the people leave or move to other paid work. Some clients also buy services together. A client who came for a website may be the one who now pays for SEO.
When to reprice, rescope or drop a client works through the same choices for one client, including how to raise a new price.
What this method doesn't do
- It uses one blended cost per hour. Some services use pricier people, such as developers on web builds. A blended rate then flatters that service and makes the others look worse. A rate per role fixes that, and the internal hourly cost guide linked above covers when to use one.
- It sees only the hours you log and tag. Untagged time either drops out or lands in SHARED.
- It reads one month at a time. Services billed at milestones need a quarter, or a whole project.
- It stops before overhead. Rent, software, insurance and admin time still come out of the US$12,250. It isn't net profit.
- The sharing rule is a choice. It changes how the total is split, not the total, and no rule makes the split exact.
- It looks back. It can't tell you what clients will pay for a service, or whether demand for it will grow.
- It's management arithmetic, not your accounts. For how services appear in your financial statements, or any tax question, ask your accountant.
Sources and method
Every figure in this guide comes from the fictional worked example. Contribution and margin by service apply the contribution-margin idea, revenue minus the costs that move with the work, to each service's hours and outside costs. Two points come from the managerial accounting text below: shared costs carry on when one part of a business is dropped, and products that customers buy together should be weighed before dropping one.
- OpenStax, 3.1 Explain Contribution Margin and Calculate Contribution Margin per Unit, Contribution Margin Ratio, and Total Contribution Margin (textbook: Principles of Accounting, Volume 2: Managerial Accounting, published Feb 14, 2019), read Oct 13, 2026.
- OpenStax, 10.4 Evaluate and Determine Whether to Keep or Discontinue a Segment or Product (textbook: Principles of Accounting, Volume 2: Managerial Accounting, published Feb 14, 2019), read Oct 13, 2026.
Common questions
Should account management time be split across services?
Keep it on its own line first, so you can see what it costs and whether it grows. If you also want one figure per service that covers everything, share it by a written rule: by delivery hours if the time follows the size of the work, or by client accounts if it follows the number of clients. Use the same rule every month.
What if one client buys two services for one fee?
Split the fee before you compare services. Use the prices in your proposal, or what you would charge for each service on its own. Write the split down and use it every month. Tag the hours by service as usual, so each service's share of the fee meets its own hours.
Does a service with a low figure per hour have to go?
Not on one month's figure. Check a quarter, or whole projects for work billed at milestones. Then try price, scope and delivery mix first. Stopping a service doesn't stop the shared time or the salaries behind it, and some clients buy one service because you sell another.
How we research, check and update these guides. Found an error? Email [email protected] and we’ll correct it and note the change here.