Most guard companies track one number: revenue. Revenue tells you what already happened. The twelve metrics below tell you what is about to happen — which contract is going to churn, which site is bleeding margin, which supervisor is about to lose a crew.
A KPI is only useful if three things are nailed down: a formula anyone in the office can reproduce, an owner who is accountable for the number, and a cadence on which it gets reviewed. A metric reviewed “when we think about it” is decoration.
Set thresholds from your own baseline, not from a benchmark
Do not copy targets out of an article — including this one. Measure the metric for 90 days, take your median, and set the first threshold slightly better than the median. That gives you a target you can actually hit, plus a trend line that means something. Once you hold the threshold for a quarter, tighten it.
The only numbers you should treat as hard limits are the ones written into your contracts: coverage commitments, report deadlines, and response times in your SLA. Miss those and the metric conversation becomes a legal one.
Operational KPIs
1. Shift coverage rate
Formula: (Shifts fully covered ÷ Shifts scheduled) × 100. A shift counts as covered only if an officer was on post for the entire scheduled window — a shift covered for six of eight hours is not a covered shift.
Cadence: daily, by site. Weekly rollup by account manager.
What goes wrong: operations counts a shift as covered because someone eventually showed up. Clients count it from the minute the post was empty. Score it the client’s way or the number will flatter you right up until the cancellation notice.
2. Post punctuality rate
Formula: (Shift starts where the officer clocked in within the accepted window ÷ Total shift starts) × 100. Define the window explicitly — five minutes either side is common — and apply it to every site.
Cadence: daily exception review, weekly trend by officer and by site.
What goes wrong: chronic lateness at one post is usually a scheduling problem, not a discipline problem. Check commute time and shift pattern before you write anyone up. Note that GPS clock-in needs a signal: an officer in a basement garage cannot clock in until they surface, which is why you need a documented late-entry approval path rather than a silent gap in the record.
3. Patrol completion rate
Formula: (Checkpoints scanned inside their time window ÷ Checkpoints scheduled) × 100. Scans that land outside the window count as missed, not as completed.
Cadence: daily for exceptions, weekly for the rate.
What goes wrong: the rate drops and everyone blames the officers, when the real cause is a route with too many checkpoints or a window that ignores elevator waits. Before disciplining anyone, re-read how many checkpoints a route should have and check whether anyone is actually acting on the missed-checkpoint alerts.
4. Incident report lag
Formula: Median minutes between the time the incident occurred and the time the report was submitted. Use the median, not the average — one report filed three days late will destroy an average and hide an otherwise healthy distribution.
Cadence: weekly median, plus a same-day review of any report over your escalation threshold.
What goes wrong: you measure from when the officer started the report instead of when the incident happened. The client measures from the incident. So should you.
Financial KPIs
5. Billed hours vs. paid hours
Formula: (Hours billed to clients ÷ Hours paid to officers) × 100.
Cadence: every billing cycle, before invoices go out.
What goes wrong: this is the single most common source of silent margin loss. Rounding, unapproved early arrivals, and shift overlap at handover all get paid and never get billed. Anything under 100% is leakage you are funding personally.
6. Overtime percentage
Formula: (Overtime hours ÷ Total hours worked) × 100, per pay period and per site.
Cadence: mid-period, so you can still act, and again at close.
What goes wrong: overtime is reviewed after payroll runs, when nothing can be changed. Run it at the halfway point of the period so the scheduler can move hours. Scheduling software that alerts on projected overtime before the shift is assigned is worth more than any report produced afterward.
7. Gross margin per contract
Formula: (Billed amount − direct labor − burden) ÷ billed amount, per contract per month. Burden means payroll taxes, workers’ comp, benefits, and uniform and equipment cost — not just wages.
Cadence: monthly, ranked worst to best.
What goes wrong: margin is calculated in aggregate, so two healthy accounts hide one that has been underwater since the bid. Rank contracts individually and work the bottom three. The mechanics of pricing that back live in margin levers for security companies.
8. Revenue per billed hour
Formula: Monthly revenue ÷ monthly billed hours.
Cadence: monthly, trended over twelve months.
What goes wrong: the number drifts down a few cents a month as new accounts come in below your standard rate, and nobody notices for two years. Trend it; the slope matters more than the value.
Client KPIs
9. Client retention rate
Formula: ((Clients at end of period − clients gained during period) ÷ clients at start of period) × 100.
Cadence: quarterly by logo, annually by revenue.
What goes wrong: logo retention looks fine while revenue retention collapses, because the accounts you kept are the small ones. Run both.
10. Renewal risk flags
Formula: count of active accounts carrying at least one flag — a monthly report that went out late or not at all, an unresolved complaint older than 14 days, no portal logins in 60 days, or a coverage rate below your threshold two months running.
Cadence: monthly, reviewed in the account management meeting.
What goes wrong: companies wait for a formal satisfaction score. A count of concrete flags is faster, cheaper, and points at something you can fix this week. Bring the same list into every quarterly business review.
People KPIs
11. Officer turnover rate
Formula: (Officers who left during the period ÷ average headcount during the period) × 100, annualized.
Cadence: monthly, split by voluntary and involuntary.
What goes wrong: turnover is reported as one blended figure. Voluntary and involuntary departures have opposite causes and opposite fixes. Also split by site — one bad post usually drives a disproportionate share.
12. 90-day new-hire retention
Formula: (New hires still employed at day 90 ÷ new hires in that cohort) × 100, tracked by hire month.
Cadence: monthly by cohort.
What goes wrong: losing new hires in the first three months is almost never a pay problem. It is unclear post orders, no shift predictability, or an app nobody showed them how to use — which is why app training belongs in onboarding, not in a memo.
A workable review rhythm
| Cadence | Metrics | Who runs it |
|---|---|---|
| Daily | Coverage exceptions, punctuality exceptions, missed checkpoints | Dispatch / duty supervisor |
| Weekly | Coverage rate, patrol completion, incident report lag, open positions | Operations manager |
| Per pay period | Overtime %, billed vs. paid hours | Scheduler + payroll |
| Monthly | Margin per contract, revenue per billed hour, turnover, renewal risk flags | Owner / GM |
| Quarterly | Client retention, 90-day retention, threshold recalibration | Owner + account managers |
If twelve is too many to start, take five: shift coverage, billed vs. paid hours, overtime, margin per contract, and turnover. Those five will surface most of the problems that actually cost money.
Three mistakes that make a KPI program useless
- No owner. A metric on a dashboard with nobody’s name against it never gets acted on. Assign each one to a person, not a department.
- Changing the formula to make the number look better. If you redefine “covered shift” halfway through the year, you have destroyed your own trend line and can no longer tell whether anything improved.
- Reviewing without a decision. Every review should end with a written action and a date. Otherwise you are holding a meeting about numbers, not managing an operation.
Where the data comes from
Most of these formulas need timestamped field data you cannot reconstruct from a spreadsheet: clock-in time and location, checkpoint scan time, incident submission time, hours per officer per site. Guard management software captures that as a byproduct of the shift, which is the only way the numbers stay honest — nobody has to remember to record anything.
CGuardPro records GPS clock-in with a selfie and an opening checklist, QR/NFC checkpoint scans with server-side location verification, and incident reports with photos, and exposes the client-facing slice of it through a client portal. Pricing is a single plan at $5 per user per month, everything included, with a 7-day free trial and no card required.