Skip to content

KPIs for a small agency: the 7 worth tracking

Most agency KPI lists have 25 items. A team under 20 needs seven, each with a formula, a worked example and a named owner. Here they are on one page.

·6 min read

Search for agency KPIs and you'll find lists of 15, 25, sometimes 40 metrics. They're not wrong, exactly. But a ten-person agency where the founder is also the head of sales, the senior designer and the person who chases invoices does not have time to look at 25 numbers. It barely has time to look at five.

The useful question isn't "what could I measure?" It's "what would I act on if it changed?" Below are seven KPIs that pass that test for small service businesses, each with a formula, a worked example, and what to do when it moves.

The seven, on one page

KPIFormulaReviewTells you
Project gross margin(fee − delivery cost) ÷ feeMonthlyWhich work makes money
Utilizationbillable hours ÷ available hoursWeeklyWhether capacity is sold
Effective hourly ratefee ÷ hours actually spentMonthlyWhether pricing holds up
Estimate accuracyestimated hours ÷ actual hoursWeeklyWhether quotes are trustworthy
On-time deliverydeliverables on time ÷ totalWeeklyWhether clients see reliability
Revenue concentrationtop client revenue ÷ totalQuarterlyHow exposed you are
Days to collectaverage days from invoice to paidMonthlyWhether cash keeps up with work

Seven numbers, three review rhythms. Let's take them in turn.

1. Project gross margin

Fee minus the cost of the hours your team put in, as a share of the fee.

Fee: $24,000
Hours: 190 at a loaded cost of $68/hr = $12,920
Gross margin: ($24,000 − $12,920) ÷ $24,000 = 46.2%

The point of tracking it per project, rather than for the whole business, is that agency averages hide losers. A business running at 40% overall can have one large client at 10% that's being subsidised by everyone else. Your biggest client might be losing you money walks through how that happens.

Act when: a project drops below the margin you priced it at by more than a few points. That's a scope conversation, not a year-end surprise.

2. Utilization

Billable hours as a share of the hours people are available to work.

Available: 8 people × 35 hrs × 4 weeks = 1,120 hrs
Billable logged: 694 hrs
Utilization: 62%

Low utilization means you're paying for capacity you aren't selling. Very high utilization means nobody has time for sales, training or fixing anything, and burnout is coming. The full guide to utilization covers setting a target by role.

Act when: it's been low for a month (sell, or don't hire) or high for a month (hire, or raise prices).

3. Effective hourly rate

What you actually earned per hour of work, after all the extra hours.

Retainer: $6,000/month
Hours delivered: 58
Effective rate: $103/hr

If you priced that retainer at $150/hr for 40 hours, you've given a 31% discount nobody agreed to. This is the number that shows scope creep in money terms. There's a whole post on it.

Act when: a client's effective rate is falling month on month.

4. Estimate accuracy

How close your estimates are to what the work actually takes.

Estimated: 120 hrs across 30 tickets
Actual: 156 hrs
Accuracy: 0.77 (work took 30% longer than estimated)

This is the KPI most small agencies skip, and it's the one that explains the other three. Bad margins usually start as bad estimates. Track it per type of work: you may find design estimates are fine and development runs 40% over, or the other way round.

In Suprwork, Projects & Time compares estimates with hours logged, person by person, which gives you this number without a spreadsheet.

Act when: one category of work is consistently under. Add that percentage to future quotes.

5. On-time delivery

Deliverables reaching the client by the date you promised, as a share of all deliverables.

Deliverables due this month: 22
Delivered on or before date: 17
On-time rate: 77%

Clients rarely see your margins or your utilization. They do see whether things arrive when promised. This is your reliability in the only form they measure.

Track the reasons for misses alongside the number. If most late deliveries were waiting on the client, that's a client-management problem with a different fix than if your team ran out of time.

Act when: it drops below whatever you consider acceptable for two weeks running.

6. Revenue concentration

The share of revenue that comes from your largest client.

Total monthly revenue: $85,000
Largest client: $34,000
Concentration: 40%

Above roughly a third, losing that client is an existential event, and they usually know it, which weakens your position on scope and price. There's no universal threshold; decide what you're comfortable losing overnight.

Act when: one client creeps past your threshold. The fix is sales effort elsewhere, not dropping the client.

7. Days to collect

Average days between sending an invoice and getting paid.

Invoices paid last month: 9
Total days outstanding: 387
Average: 43 days

Agencies go under while profitable because cash arrives weeks after the costs. If your payroll runs every two weeks and clients pay in 43 days, you're financing your clients. More in surviving the 60-day payment gap.

Act when: the average rises, or one client is consistently far slower than the rest.

Give every KPI an owner

A KPI without a name next to it gets looked at when something's already wrong. On a small team, owners might look like this:

KPIOwner
Project gross marginFounder
UtilizationOps lead or founder
Effective hourly rateAccount leads, per client
Estimate accuracyDelivery lead
On-time deliveryProject managers
Revenue concentrationFounder
Days to collectWhoever sends invoices

The owner doesn't fix every problem. They notice it first and raise it.

What's missing from this list, on purpose

Revenue growth. It matters, but on its own it hides whether growth is profitable. Margin and utilization tell you that.

Client satisfaction scores. Useful if you run them properly; most small agencies don't have enough clients for the numbers to mean much. On-time delivery is a more honest proxy.

Per-person output metrics. Those belong in 1:1s and reviews, not on a business dashboard. See measuring remote team productivity.

Website traffic, followers, leads. Marketing measures. Track them if marketing is a real channel for you, separately from how the business runs.

Getting the data without a finance team

Most of these come from two sources: time logged against projects, and your invoices. If people log time against tasks with estimates, you have utilization, effective rate and estimate accuracy. Add each person's cost rate and you have project margin. Suprwork's Margin view ranks projects from worst margin to best from logged hours and cost rates, and flags when a number can't be trusted yet (for example, hours from someone with no cost rate set).

If you're doing it in a spreadsheet, start with one tab per KPI and fill it monthly. It'll take an hour the first time and twenty minutes after that.

This week

Pick three: project gross margin, estimate accuracy and on-time delivery. Calculate each for last month, by hand if you have to. Write the owner's name next to each. Next month, do it again and compare. Two data points are enough to see which direction things are going.

Common questions

What are the most important KPIs for an agency?
Gross margin per project, utilization, effective hourly rate, revenue concentration, and on-time delivery cover most of what matters. Add cash collection and estimate accuracy once those are steady.
How many KPIs should a small agency track?
Five to seven. Each needs an owner and a regular review. More than that and nobody acts on any of them.
How do you measure agency team performance?
Through delivery measures (on-time, estimate accuracy, rework) rather than activity. Financial KPIs tell you whether the business works; delivery KPIs tell you why.
How often should agency KPIs be reviewed?
Delivery measures weekly, financial ones monthly, concentration and pricing quarterly.

Keep reading