
A weekly dashboard of MSP KPIs should help you decide which clients or service issues need attention. Keep the view small enough to review consistently, with definitions and source data you can check.
Start with five areas: effective hourly rate by client, gross margin, open and aged tickets, recurring revenue and churn risk, and cash. Put them on one page and refresh the view each week.
Say you run a 20-client shop. You used to spend two hours clicking through reports and still missed the client whose effective rate had halved because scope crept in quietly over a quarter. A one-page dashboard shows you that in one glance. The question is how to build it without hiring a data team. That's next.
What the Effective Hourly Rate Really Tells You
Effective hourly rate is the one number that shows you who pays for your time and who doesn't, even when revenue looks flat. It's the answer to the question every fixed-fee contract hides: what am I actually earning per hour of my team's work on this client?
The calculation is simple. Take all revenue from that client, contract plus billable, and divide by every hour your team spent on them, including project work, support calls, internal meetings, and the admin time you never billed. Picture a client on a $10,000 monthly retainer that consumes 120 hours of your team's time. That's $83 an hour. If your target is $100, you have a real problem, and you wouldn't have seen it from the revenue line alone.
Two things distort this number, and you need to know both before you act. First, if your techs don't log all their time, including internal and administrative work, the rate comes out inflated and false. Second, a large multi-month project or a single bad week can swing the number wildly, so use a rolling average, three months is reasonable, before you make any decisions about a client.
Check scope and the completeness of time records alongside pricing before deciding why the effective rate is low. The dashboard shows you the symptom. Figuring out which cause sits behind it is the work. That's where the next question comes in: how do you build the page itself?
Building the Dashboard Without a Data Team
You don't need Power BI or a fractional analyst. You need a spreadsheet and an hour of setup. One row per top-ten revenue client, five columns: revenue, hours, effective rate, margin, and a trend arrow. Below that, three more rows for the other numbers: open tickets and aged tickets, MRR against churn risk, and cash.
| Number | Where It Comes From | What To Watch For |
|---|---|---|
| Effective hourly rate | PSA time and billing exports, summed by client | Below your target for two weeks running |
| Gross margin | PSA or accounting reports, revenue minus direct cost of delivery | Slipping month over month without a cause |
| Open and aged tickets | PSA ticket report, filter by status and age | Ages over 30 days climbing |
| MRR vs. churn risk | Contract list plus any renewal or cancellation signals | A big account with an end date approaching |
| Cash in bank | Your bank feed or accounting tool | Below your minimum operating hurdle |
If your PSA can export hours by client, pull that export and sum it in the spreadsheet. If it can't, start with manual time logs for a week. The point is to get the number, not to perfect the tooling.
Format the cells so the page tells you what to look at. Effective rate below target goes red. Tickets aged over 30 days go orange. Cash under your hurdle goes red. Green means leave it alone. You want a page you can read in ten seconds, not one you have to parse.
Allow one to two hours for the initial setup and thirty minutes for the weekly review. Agree which changes require investigation and who will follow up.
When to Act and When to Watch
A red cell is a tripwire, not a verdict. It tells you where to look, not what to do. The discipline is knowing which reds demand action this week and which ones just need watching.
| Color | What It Means | What You Do |
|---|---|---|
| Red | Below target for two consecutive weeks, or cash under hurdle | Act this week: confirm the data, then have the conversation |
| Yellow | One bad week, or a single month of soft margin | Watch next Monday; check if it persists before acting |
| Green | On track | No action, and do not invent problems |
Take the client at $83 an hour against a $100 target. Two weeks in a row below target and the data is clean, then you have a conversation about scope. That conversation is where the limits of the dashboard show up.
If you have a fixed-fee contract without a rate review clause, you may have no room to raise the price. In that case the lever is scope: reduce what's included, or agree that the extra work is billable. And before you confront anyone, confirm the time logs are honest. A client with a legitimate one-off project doesn't deserve a pricing lecture.
The dashboard is a tripwire. It flags a problem you then investigate. It never replaces the investigation. Agree who owns the weekly review so the dashboard does not become another report you skip.
Why This Will Fail If You Skip It
The whole approach depends on three things: consistent time logging, a weekly review, and acting on what you see. Skip one Monday and the data goes stale. Skip two and the habit is gone, and you're back to clicking through separate reports.
Choose the review cadence from the decisions the dashboard needs to support and the time the reviewer can commit. If you delegate the review to a service manager, agree which exceptions need the owner's attention. Check that the person taking it on has room for the preparation and follow-up rather than assigning the job from headcount alone.
And be honest about what it can't do. A dashboard won't fix a pricing model that's broken, and it won't turn a client you should drop into a profitable one. It shows you the truth. The decision is still yours.
The lens only works if you look through it every week. Which brings you to Monday morning and the smallest possible start.
Your First Monday, Minimal Version
For the first version, put effective hourly rate for your top ten clients in a spreadsheet. Check that the revenue and recorded hours cover the same period before adding the remaining measures.
Next Monday, add a second KPI. The Monday after, a third. Within a month you have the full page, and the habit is already built because you started small enough not to skip it.
Review the same figures each week and record the actions they prompt. Investigate conflicting data before using it to make a pricing or staffing decision.
mspoutpost.com/articles/msp-kpis-build-a-weekly-dashboard-for-owner-decisions
Written by Graham Whitfield
MSP Outpost publishes information, not legal, financial, insurance, tax or compliance advice, and reading it creates no professional relationship. For decisions about your business, talk to a qualified professional.


