DarkBird
InfoSprout · For MSPs · Founding cohort · 3 places

Labor Margin Audit

We connect to your PSA, read your closed project history, and tell you exactly where your labor estimates break — by work type and by vendor — and what the gap has cost you.

Fee
None
Duration
3 weeks
Your effort
One connection, two calls
Afterwards
DarkBird free 90 days, then half price for six months
The premise

Every MSP knows the project hours run over. Almost nobody knows by how much.

The managed services side of your business is measured to death. The project side is quoted from experience, delivered, and then absorbed — and the difference between the two numbers is nobody's report.

Your PSA is already holding both halves of it: what you quoted on the project, and every hour your team booked against it. Nothing in ConnectWise or Halo puts those side by side across your whole project history and tells you which kinds of work are consistently under-quoted. That is the entire job of this audit.

It is a retrospective on work you have already delivered and been paid for. Nothing changes in how you operate, nobody adopts a new tool, and no one on your team has to assemble a spreadsheet.

Why it's free

We need three MSPs to make the benchmark real.

The analysis compares your variance against a pooled baseline from other MSPs. That baseline is only meaningful — and only safely anonymous — once at least three firms have contributed to it. You are being asked to be one of the three, and the honest trade is below.

You receive
  • Full variance analysis of your closed projects, written up
  • A 90-minute findings session with the person who ran it
  • DarkBird free through the audit and for 90 days after, then half price for six months
  • A labor template library built from your own project history
  • The raw analysis file, so your controller can check our math
We receive
  • Permission to pool your anonymized ratios into the benchmark
  • A reference conversation with one prospect, or a named case study — your call, decided after you have seen the report
  • 30 candid minutes on what the report got wrong
The output

What the report actually says

The core of it is one table: every recurring kind of work you deliver, what you estimated across all instances of it, what it actually took, and the spread — ranked so the worst offender is the first thing you read.

Work type Jobs Est. hrs Actual hrs Variance
Project management 34408657 +61%
M365 tenant migration 9612845 +38%
Firewall replacement / SD-WAN 11396511 +29%
Endpoint deployment 14742831 +12%
Backup / DR implementation 6336326 −3%
Wireless survey + AP deploy 9468431 −8%
An extract from the sample report. The pattern is the common one: field labor drifts, and project management is almost always the largest single under-estimate.
See the whole thing Sample report — Northgate Technology Group A complete audit for a fictional 34-project MSP: the headline dollar figure, variance by work type, variance by vendor, the three jobs to re-quote first, and a candid section on what the data could not support. Read the sample report →

Alongside the analysis you get four things:

  • Your headline number. Total variance across the window, converted to dollars at your blended labor rate.
  • Variance by vendor. Where the brand on the box changes how long the work takes — usually the finding that surprises people most.
  • The three repeat offenders, with sample sizes, so you can tell a real pattern from one bad job.
  • What we couldn't classify, and why. We publish our match rate. If we could only classify 60% of your labor lines, the report says 60% on the first page.
The connection

What we plug into, and what we read

DarkBird connects to ConnectWise Manage or HaloPSA using an API key you issue and can revoke at any moment. Nobody on your team assembles an export.

We read Used for
Closed projects in the windowThe job list and its date range
Project labor lines & phasesEstimated hours, grouped into work types
Time entries booked to those jobsActual hours
Your service catalogConfirming how your own codes map to work types
Product / agreement recordsThe vendor axis
Read-only throughout. Nothing is written back to your PSA, no tickets are created, and no record is modified.

From you we need three things, all settled on the intake call: the window you want analysed, your blended labor rate so we can turn hours into dollars, and 30 minutes with whoever can issue the API key.

If your PSA history is thin — you moved platforms recently, or projects lived in spreadsheets before last year — send what you have as a file instead. We map the columns on our side; they don't need renaming.

The one thing that stops this cold: if your PSA holds actual hours but no estimated hours anywhere — not on the project, not on the phases, not on the quote that created it — there is nothing to compare against. We find that out on the intake call by looking, and we will tell you then rather than produce a report built on a guess.

How it runs

Three weeks, two calls, one API key

01

Intake call45 minutes · week 1

We connect to your PSA on the call, screen shared, and look at what is actually in there together. If the data won't support an audit, we stop right there and you have lost 45 minutes.

02

Read-only sweepSame day

DarkBird pulls your closed project history. This is automatic and nothing is required from you or your team while it runs.

03

Analysis10 business days · weeks 2–3

Your labor lines are classified into work types, matched against your service catalog, and run through the variance engine. Quiet stretch — nothing needed from you.

04

Findings session90 minutes · week 3

We walk the report with you and whoever owns estimating. You leave with the written report, the raw file, and a DarkBird tenant already loaded with your own history.

Your data

What we do with it, in plain terms

  • Read-only, always. The connection cannot write to your PSA. Revoke the API key whenever you like — during the audit, or the day after it ends.
  • Your credentials are stored encrypted and are only ever decrypted server-side. They are never held in a browser and never leave our infrastructure.
  • Your company name, your clients' names, and your project names are never published without your written approval — and that approval is asked for after you have read the report, not before.
  • The benchmark pools ratios, not hours. Your contribution is the shape of your variance, stripped of names, dollars and volumes, and it is only ever released once three or more firms are in the pool — so no single firm's figures can be read back out of it.
  • Withdraw whenever you like. Say the word and your data is deleted from the pool and from our systems, including after the engagement ends.
Fit

Who this works for

A good fit

  • An MSP with a real project business alongside the managed services line
  • ConnectWise Manage or HaloPSA as the system of record
  • 15+ closed projects in the last 18–24 months
  • Time booked against projects, even imperfectly
  • Someone who owns estimating and is annoyed about it

Not a fit

  • Pure break/fix or managed services with no project work
  • Autotask, Kaseya BMS or a PSA we don't connect to yet
  • No estimated hours recorded anywhere, on any system
  • Fewer than roughly 15 closed projects to look at
  • SOC 2 required before any data moves — we're not certified, and we'd rather say so now
After the audit

The report is yours either way.

There is no proposal attached to it and no second meeting you have to sit through. You keep DarkBird free for 90 days past the findings session and half price for the six months after that, and if at the end of it you would rather go back to quoting the way you always have, that is a perfectly good outcome and costs you nothing.

If the audit turns up nothing worth fixing, we will tell you that too — which is a useful thing to know for free.

Damon Baker InfoSprout damon@infosprout.io