The short version
Every account gets a score from 0 to 100. Six usage signals each get a sub-score from 0 (bad) to 1 (healthy). The health score is the weighted average of those six, times 100. Weights are editable on the dashboard, and each weight counts as its share of the total, so they never have to add up to 100.
| Signal | Full credit at | Zero at | Default weight |
|---|---|---|---|
| Weekly logins (office) | 10 or more a week | 0 a week | |
| Days since last login | 2 days or less | 30 days | |
| Jobs scheduled (30 days) | 15 per licensed crew | 0 jobs | |
| Invoices sent vs. jobs | 80% of jobs invoiced | No invoices | |
| Crews active vs. licensed | Every crew active | No crews active | |
| Support tickets (30 days) | 1 or fewer | 6 or more |
Why each signal matters to a contractor
Weekly logins
In a small trade business the office is one person, often the owner's spouse or a part-time office manager. If that person is not in the software every day, the schedule and the invoices are living somewhere else: a whiteboard, a paper calendar, a spreadsheet. The software is not the system of record yet.
Days since last login
Recency catches a fast drop that a weekly average hides. Contractors go quiet for real reasons: the office manager quit, the busy season buried them, or a salesperson from a competitor showed up. Two to three weeks of silence is the time to call, not after the renewal notice goes out.
Jobs scheduled
Scheduling is the heart of field-service software. A crew can handle roughly one job or stop per working day, so about 15 jobs per crew per month means the real workload is in the app. Far fewer than that usually means only the big jobs get entered and the routine work is still run by phone and text.
Invoices sent compared to jobs
This is the money signal. A contractor who schedules in the app but invoices in a separate accounting program is only half adopted and will question the price at renewal. Getting paid faster is the reason most owners buy, so an account that does not invoice through the app has not felt the payoff yet. The target is 80%, not 100%, because some jobs are warranty work, estimates or billed in batches.
Crews active compared to crews licensed
The owner buys the software, but crews decide if it sticks. If crew leads do not clock in, add notes and photos, and mark jobs done in the field app, the office has to chase them by phone and the software becomes extra work. Paying for crews that do not use it is also the first line item an owner cuts.
Support tickets
One ticket a month is normal. A pile of tickets in a short window means setup problems or frustration, and a frustrated owner does not wait long before looking at a competitor. This signal has the lowest default weight because some heavy users file tickets simply because they use more features.
Healthy, watch and at risk
- Healthy: score of 80 or more. No action needed; a good candidate for a referral or a case study.
- Watch: 55 to 79. Something is slipping. Fix it on a normal call before it becomes a problem.
- At risk: under 55. This account is likely to cancel or shrink at renewal without help.
Both cutoffs are editable on the dashboard.
Reasons and next actions
Any signal under 0.6 counts as a reason. Reasons are ranked by how many points they cost the account, so the top reason is the biggest problem, not just the first one found. The next action comes from the top reason:
- Training call when the problem is adoption: crews not using the field app, jobs not being scheduled, or invoices not going out. The fix is showing someone how.
- Check-in when the problem is engagement or friction: nobody logging in, or a run of support tickets. The fix is finding out what changed.
- Executive review when an account is at risk and renews within 90 days. There is no time for a slow fix, so a manager and the business owner need to agree on a recovery plan.
Why renewal date is not in the score
The score measures how healthy an account is. The renewal date measures how urgent it is. Mixing them would make a healthy account look worse just because its renewal is close. Keeping them apart lets the dashboard say "this account is in trouble" and "you have 41 days" as two separate facts.
Limits
The targets and weights are a starting point based on how small trade businesses run, not a fitted model. With real data, the next step is to check the score against which accounts actually canceled and adjust the weights until the at-risk list catches them early.