Retention and At-Risk
Read V2's Retention card on Reports: the four account-health buckets, lifetime value, open renewal quotes, and overdue balance.
Retention and At-Risk
Open Business > Reports, then the Retention card, or go straight to /reports/retention. It has its own page and report-tab entry, and turns client history into an account-health view so the office can see which customers are active, drifting, dormant, or new. When a location is selected, the report includes active clients linked to that location either through a client-location assignment or a property there; clients without a property are included when they have the location assignment.
Health States
Every eligible active client is grouped into one of four buckets, based on location-local calendar dates since their last completed job:
- Active: under 183 days (about 6 months) since the last completed job
- At risk: 183 to 365 days since the last completed job
- Dormant: 366 days or more since the last completed job
- New: no completed job yet
The report uses the selected location's timezone. When viewing all locations, it uses the organization's default location timezone, then falls back to the first location's timezone or UTC. This is one implementation with one set of day thresholds; V1 had a SQL version and a TypeScript version of this same logic that disagreed with each other right at the boundaries.
The client table below the bucket counts lists each client's health bucket, days since their last completed job, lifetime value, open renewal quotes, and overdue balance, sorted at-risk and dormant first, then by overdue balance. It is not filtered by the page's date range; it is always an as-of-now snapshot of your client base, the same convention the AR aging card uses.
Lifetime Value, Open Renewal Quotes, and Overdue Balance
- Lifetime value is the client's all-time net collected cash (gross
payments minus refunds), not V1's completed-job-total definition. Cash is the more honest number: a completed job with an unpaid or refunded balance is not really lifetime value yet.
- Open renewal quotes counts the client's draft or sent estimates created
in the selected date range. This is windowed by the range on purpose, even though the rest of the card is an as-of-now snapshot; V1 silently ignored the date picker here and always counted every open quote ever.
- Overdue balance is the client's overdue invoice balance as of right
now, the same as-of-now convention the AR aging card uses, labeled the same way.
Generate Quote Action
An active standalone-client or V2 child-service-site row includes a Generate Quote action. Clicking it jumps into the estimate flow with that work-owning client already attached. A legacy V1 account keeps its account-level shortcut, but the estimate picker requires you to select the nested customer/contact that holds the service property; that nested record owns the quote.
A V2 company portfolio row is a rollup and does not generate a parent-owned quote. Open the portfolio profile, select the child service site that will own the work, and start the quote there. If no child site is available in your location scope, ask an administrator to confirm your access rather than using the portfolio parent as the customer.
Use this when:
- A repeat customer has gone quiet
- An at-risk account needs a renewal quote
- A dormant client is worth reactivating
Best Uses
- Review the report weekly for churn prevention
- Sort your call list around overdue balance plus days since last job
- Pair it with Lead Source Performance when you want to compare acquisition source results with long-term customer value
- Export the card (
retention) for the full client list past what fits on
screen; see Reporting Overview
Related articles
Was this article helpful?
Still need help? Contact support