> ## Documentation Index
> Fetch the complete documentation index at: https://docs.msportal.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Understand Client Health scoring and evidence

> Explain each dimension, source window, coverage requirement and provider boundary behind the default health model.

**Audience:** MSP staff reviewing Client Health. Company users ask their MSP to explain an assessment. Open **MSP Tools > Client Health**, then a company to inspect its scores, observations, coverage and **Last computed** date.

A health score describes the evidence available to the published scorecard. It is not a live availability monitor, a financial forecast or a guarantee about a client relationship. Use [Read a company's health details](/user-guides/msp-tools/read-client-health-details) for the page controls and [Scoring settings](/user-guides/settings/scoring) to change which metrics contribute.

## How the overall score is formed

The default model starts with these dimension weights:

| Dimension       | Base weight |
| --------------- | ----------: |
| Service Quality |         18% |
| Engagement      |         18% |
| Financial       |         13% |
| Sales           |          8% |
| Projects        |         10% |
| Standards       |         13% |
| Environment     |         10% |
| Operational     |         10% |

For each enabled, applicable dimension with a score, multiply its base weight by its evidence coverage. Those adjusted weights are then normalized across the observed dimensions to produce the **applied weights**. The overall score is the weighted average of the dimension scores using those applied weights.

Overall coverage compares the adjusted observed weights with the base weights of enabled, applicable dimensions. A missing dimension contributes no score, but can reduce coverage when it is enabled and applicable. An excluded or inapplicable dimension does not count toward that denominator.

The default model publishes a numeric score only when there are **at least three scored dimensions** and **at least 40% overall coverage**. Otherwise the result is **Limited data**. Available dimension scores and negative drivers may still appear.

For an illustrative configuration with only these three dimensions enabled:

| Dimension   | Score | Coverage | Base weight | Adjusted weight |
| ----------- | ----: | -------: | ----------: | --------------: |
| Financial   |    80 |      50% |          13 |             6.5 |
| Standards   |   100 |     100% |          13 |              13 |
| Environment |    60 |     100% |          10 |              10 |

Coverage is 29.5 ÷ 36, approximately 81.94%. The weighted score is (80 × 6.5 + 100 × 13 + 60 × 10) ÷ 29.5, approximately 82.03. This is a worked example, not a screenshot of customer results.

Calculated risk uses the score before the table rounds it to a whole number: **Thriving** at 80 or above, **Healthy** at 60 to below 80, **At Risk** at 40 to below 60, and **Critical** below 40. A rounded display close to a boundary can therefore appear inconsistent with its band. A [manual risk flag](/user-guides/msp-tools/manage-client-risk-flags) replaces the effective label without changing the score.

## Service Quality

Service Quality compares the last four complete ticket weeks with the preceding four complete weeks. It needs all eight weeks, a ticket source synced within 14 days, and enough observed enabled evidence. The observation threshold is approximately 58.82% of enabled risk weight.

| Metric                | Relative weight | Risk condition                                                                                          |
| --------------------- | --------------: | ------------------------------------------------------------------------------------------------------- |
| Ticket demand trend   |              25 | Current average weekly demand exceeds the prior average                                                 |
| Resolution time trend |              20 | Current average resolution time is at least 110% of the prior average; both periods need closed tickets |
| Open backlog size     |              15 | Current average backlog exceeds five tickets                                                            |
| Open ticket age       |              15 | Current average age exceeds ten days; an observed nonempty backlog is needed                            |
| Backlog trend         |              10 | Current average backlog exceeds the prior average                                                       |

The score is 100 multiplied by one minus the triggered risk weight divided by observed risk weight. Missing observations are omitted rather than counted as healthy. Switch exclusions change which weights participate. High-priority growth and escalation evidence can appear as warnings but do not directly add scoring penalties in this model.

## Engagement

| Metric             | Default share | Scoring basis                                                                                           |
| ------------------ | ------------: | ------------------------------------------------------------------------------------------------------- |
| Meeting recency    |           40% | Latest past meeting: within 90 days = 100, 120 days = 60, 180 days = 40, older = 20                     |
| Recent NPS         |           20% | Latest response within 365 days: 9+ = 100, 7+ = 80, 5+ = 60, 3+ = 40, below 3 = 20                      |
| Recent CSAT        |           25% | Mean normalized satisfaction score from mapped CSAT responses in the trailing 90 days, on a 0–100 scale |
| CSAT response rate |           15% | Response-count ratio mapped to the bands below                                                          |

Native and imported CSAT responses can contribute; CES campaigns and responses without a mapped company or normalized score do not. If the tenant has no qualifying CSAT response in the trailing 90 days, both CSAT metrics are unavailable and carry no weight. No meeting or recent NPS response means missing evidence for that metric, not a favorable default.

<Note>
  The current deployed response-rate calculation divides CSAT responses from the trailing 90 days by tickets closed in the last 13 complete weeks. These windows differ. Treat the result as an approximate response indicator rather than an exact percentage of closed tickets that received a response.
</Note>

Response rate is capped at 100% for display. At least 25% earns 100 points; at least 15% earns 80; at least 8% earns 60; a smaller positive response ratio earns 40. With no responses, at least five closed tickets earns 20; fewer than five is insufficient evidence. With no closed tickets, the rate is unavailable. These rules apply only when the tenant has qualifying CSAT activity.

## Financial

Financial uses profitability measures from the **three complete calendar months before the evaluation month**, plus invoice evidence. It requires the relevant source sync timestamps to be within 14 days. It evaluates the inputs independently, so an unavailable input need not hide every Financial metric.

| Metric                      | Default share | Interpretation                                                                                                                                  |
| --------------------------- | ------------: | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| Reactive hours per endpoint |         16.5% | Average monthly support hours divided by the configured endpoint count; below 0.33/0.50/0.75/1.00 hours earns 100/75/50/25 points, otherwise 10 |
| Effective hourly rate       |           17% | Managed revenue divided by support hours; at least 200/150/100/75 earns 100/80/60/40 points, otherwise 20                                       |
| All-in seat price           |         16.5% | Average monthly managed revenue per configured endpoint, compared with the target seat price                                                    |
| Overdue invoices            |           30% | Overdue count divided by still-open invoice count; this is a count ratio, not overdue balance divided by revenue                                |
| Payment speed               |           20% | Average nonnegative days from invoice date to paid date for paid invoices in the trailing year                                                  |

The endpoint model can use devices, users or the greater of those counts. Effective hourly rate needs positive revenue and support hours; seat price needs positive revenue and endpoint count. An absent denominator is not evidence of zero performance.

Seat price earns 100 at or above target, then 80/60/40 at 90%/80%/70% of target, otherwise 20. When no target is available, fixed amount bands of 200/150/100/75 earn 100/80/60/40, otherwise 20. Review [Financial Reporting settings](/user-guides/settings/financial-reporting) to understand the configured target and endpoint model; these settings are separate from metric inclusion.

For overdue invoices, no open invoices means no sample. Zero overdue earns 100, up to 10% overdue earns 80, up to 25% earns 60, up to 50% earns 40, and more earns 20. Payment speed earns 100/80/60/40 for averages no greater than 15/30/45/60 days, otherwise 20. No paid invoices means no payment-speed sample.

## Sales

Sales gives equal default shares to activity recency and decided win rate. Its sales source sync must be within 14 days.

* Activity recency uses the latest qualifying PSA opportunity or Quoter quote activity. Within 30/90/180/365 days earns 100/80/60/40 points; older activity earns 20. No activity means no sample.
* Decided win rate uses won outcomes divided by won plus lost outcomes within the trailing year. At least three decided outcomes are required. Win rates of at least 80%/60%/40%/20% earn 100/80/60/40 points; lower rates earn 20.

PSA opportunity outcomes take precedence for a company with PSA opportunity records. Quoter outcomes are a fallback when no PSA opportunity record is available for that company; an insufficient PSA decided sample does not automatically switch to Quoter.

**Quotes module support and Sales scoring support are separate.** The Quotes module supports Salesbuildr, QuoteWerks and Quoter. This scoring calculation directly reads PSA opportunities and Quoter quotes; it does not directly read Salesbuildr or QuoteWerks quote records. A quote appearing in [Quotes](/user-guides/quotes/index) therefore does not prove it contributes to Client Health. Company mapping, outcome classification and source freshness still matter.

## Projects

This dimension uses synced PSA project records and a project source synced within 14 days. It does not score every native project simply because it appears in the Projects workspace.

| Metric                         | Default share | Scoring basis                                                                                                                    |
| ------------------------------ | ------------: | -------------------------------------------------------------------------------------------------------------------------------- |
| Active project schedule health |           40% | Percentage of open, not-on-hold projects with due dates that are not overdue                                                     |
| Recent on-time delivery        |           40% | Percentage of closed projects completed in the trailing year, with due and completion dates, completed on or before the due date |
| Effort adherence               |           20% | Percentage of measured open or recently completed projects at or below 110% of estimated hours                                   |

Effort needs a positive estimate and an actual-hours value. A project on hold is omitted from active schedule health but may still qualify for effort adherence. Empty qualifying sets produce no sample, rather than a perfect score. Project count and project monetary values do not earn points on their own.

## Standards

Standards scores deployed required checks as a percentage of applicable checks:

* In a normal category, each required item is one check. Optional items do not count.
* In a **Require one of group** category, the category is one check if it contains items, regardless of each item's Required switch. Any deployed option satisfies it.
* Missing assignments count as Not Started.
* A normal check marked N/A or Declined is excluded. A one-of group is excluded only when every option is explicitly N/A or Declined; an unassigned option keeps the group applicable.
* An excluded company or a catalog without qualifying checks is not applicable. If all qualifying checks are excluded for that company, there is no score sample.

The current Standards list at the bottom of a Client Health detail counts deployed items across its displayed list. It does not use this required/group calculation and may also reflect changes made after the scorecard was published. See [Read the Standards matrix](/user-guides/msp-tools/read-standards-matrix).

## Environment

Environment gives 60% to server availability and 40% to patch coverage. The device source sync must be within 14 days.

Server classification uses a server type or server operating-system name. A server is observed when it has a status or last-seen timestamp. It counts as offline when its status explicitly says offline or its last-seen timestamp is over seven days old. A missing last-seen timestamp alone does not make an otherwise observed server offline. The score is the percentage of observed servers not counted offline; no observed servers means no sample.

Patch evidence currently comes from mapped, non-ignored **Datto RMM**, **ConnectWise Asio** and **Syncro** records. Recognized fully-patched/current states count as patched. Errors, required reboots, pending or missing patches count as unpatched. Unknown states are omitted from both numerator and denominator. The score is patched records divided by records with a recognized patched/unpatched state. It is not a percentage of every device shown in the portal.

Device count is context, not a health bonus. User activity is not an Environment scoring input.

## Operational

| Metric                | Default share | Scoring basis                                                                                          |
| --------------------- | ------------: | ------------------------------------------------------------------------------------------------------ |
| Planner timeliness    |           40% | Overdue, unfinished, non-archived items divided by all non-archived Planner items with due dates       |
| Goal progress         |           35% | Mean available goal progress, clamped to 0–100; a goal whose status is named Completed contributes 100 |
| Compliance timeliness |           25% | Past-due assignments without a completion timestamp divided by all assignments with due dates          |

For Planner and compliance, zero overdue earns 100; overdue shares up to 10%/25%/50% earn 80/60/40; higher shares earn 20. The percentage shown as the observed metric is the **overdue rate**, not the resulting health points: a smaller observed percentage can mean a better score.

Completed and Cancelled Planner items with due dates remain in the denominator but are not overdue. Archived Planner items are excluded. Compliance completion uses its completion timestamp. No qualifying due-date records or observed goal progress means no sample for that metric.

## Read changes over time

Previously published scorecards keep their results. The chart separates model-revision segments, but switching metric inclusion within the same model does **not** guarantee a new visible segment. A score change can reflect new evidence, changed inclusion or a different data sample, as well as changed performance. Review the settings and dimension coverage before attributing a trend to an intervention.

The portfolio stale warning uses a missing data-through timestamp or one older than 36 hours. The 14-day source requirements above are separate metric eligibility gates, so a stale warning does not necessarily mean every dimension is unavailable. [Refresh Client Health](/user-guides/msp-tools/refresh-client-health) explains source sync and publication.

## FAQs

<AccordionGroup>
  <Accordion title="Where can I see why a company received its health score?">
    Open MSP Tools > Client Health, select the company, and review Dimension Breakdown, coverage, applied weights, Top Negative Drivers and Last computed.
  </Accordion>

  <Accordion title="Is the overall health score a simple average of all dimensions?">
    No. Enabled, applicable dimensions use base weights adjusted by evidence coverage, then normalized into applied weights.
  </Accordion>

  <Accordion title="Why does an available dimension have no influence on the overall score?">
    An excluded dimension can retain observed values for context while its applied weight is zero.
  </Accordion>

  <Accordion title="What does Limited data mean?">
    The default model requires at least three scored dimensions and 40% overall coverage. Limited data means that evidence requirement is not met, not a score of zero.
  </Accordion>

  <Accordion title="Why can a displayed score of 80 still be Healthy?">
    The display rounds scores, while calculated risk uses the score before whole-number rounding. A value just below 80 remains Healthy.
  </Accordion>

  <Accordion title="Does a manual risk flag alter the score calculation?">
    No. It overrides the effective risk label without changing numerical scores or evidence.
  </Accordion>

  <Accordion title="How much history does Service Quality need?">
    Eight complete weeks, split into two four-week periods, a current ticket source and enough observed enabled risk weight.
  </Accordion>

  <Accordion title="Do high-priority growth warnings directly subtract health points?">
    Not in the current Service Quality model. They can appear as warning evidence separately from the five scored metrics.
  </Accordion>

  <Accordion title="Does no closed-ticket history count as good resolution performance?">
    No. Resolution trend needs closed tickets in both comparison periods; missing observations are not healthy defaults.
  </Accordion>

  <Accordion title="Which surveys count toward Client Health CSAT?">
    Mapped native or imported CSAT responses with normalized scores. CES campaigns and unmapped responses are excluded.
  </Accordion>

  <Accordion title="Does Client Health CSAT response rate use exactly the same window for responses and closed tickets?">
    No. The current deployed calculation uses 90 days of responses divided by tickets closed over 13 complete weeks. Treat it as an approximate response indicator.
  </Accordion>

  <Accordion title="Do companies with no CSAT responses always get a low score?">
    No. The tenant must have qualifying CSAT activity, and at least five closed tickets with no responses are needed for the silent-company band. Fewer closed tickets gives insufficient evidence.
  </Accordion>

  <Accordion title="Which period feeds Client Health profitability metrics?">
    The three complete calendar months before the evaluation month, not a rolling 90-day interval.
  </Accordion>

  <Accordion title="Does no overdue invoice balance automatically produce perfect Financial health?">
    No. Overdue invoice health uses counts of open and overdue invoices, and no open invoices means no sample. Other Financial metrics are separate.
  </Accordion>

  <Accordion title="Which endpoint count is used for Client Health financial metrics?">
    The configured endpoint model uses devices, users or the greater of those counts. Review Financial Reporting settings.
  </Accordion>

  <Accordion title="Do Salesbuildr and QuoteWerks quotes directly feed the Sales health score?">
    Not directly in the current calculation. Quotes supports Salesbuildr, QuoteWerks and Quoter, while Sales scoring reads PSA opportunities and Quoter quotes.
  </Accordion>

  <Accordion title="Will Quoter replace an insufficient PSA win-rate sample?">
    No. When the company has PSA opportunity records, PSA outcomes take precedence even if there are fewer than three decided outcomes.
  </Accordion>

  <Accordion title="How many decided sales outcomes are needed for a win-rate score?">
    At least three won or lost outcomes in the trailing year, with current source data.
  </Accordion>

  <Accordion title="Do all native projects count toward Client Health Projects?">
    No. The current dimension reads synced PSA project records. Workspace visibility alone does not prove inclusion.
  </Accordion>

  <Accordion title="Does putting a project on hold remove it from every Projects metric?">
    No. On-hold projects are excluded from active schedule health but can still qualify for effort adherence.
  </Accordion>

  <Accordion title="Does a missing required Standards assignment disappear from the score?">
    No. It counts as Not Started. A one-of group is satisfied by any deployed option and stays applicable if an option is unassigned.
  </Accordion>

  <Accordion title="Why does the Standards list percentage differ from the health dimension?">
    The detail list counts deployed displayed items, while scoring uses required checks and one-of groups from the published scorecard.
  </Accordion>

  <Accordion title="Which providers supply Client Health patch coverage?">
    The current calculation uses mapped, non-ignored Datto RMM, ConnectWise Asio and Syncro records with recognized patch states.
  </Accordion>

  <Accordion title="Do unknown patch states count as unpatched?">
    No. Unknown states are excluded from the recognized-state denominator. Errors, pending patches and required reboots count as unpatched.
  </Accordion>

  <Accordion title="Does a missing last-seen timestamp automatically make a server offline?">
    No. An observed server counts offline if explicitly offline or if its available last-seen timestamp is older than seven days.
  </Accordion>

  <Accordion title="Why is a lower Planner overdue percentage associated with a better score?">
    The displayed observation is an overdue rate; the health points reward fewer overdue items.
  </Accordion>

  <Accordion title="Do completed Planner items disappear from the timeliness denominator?">
    No. Completed and Cancelled items with due dates remain in the denominator, while archived items are excluded.
  </Accordion>

  <Accordion title="Does a scoring switch change always create a break in the trend chart?">
    No. Segment breaks follow model revisions. Metric inclusion changes within the same model need not create a visible break.
  </Accordion>

  <Accordion title="Does the 36-hour stale warning mean all source data failed its scoring gate?">
    No. The stale warning and metric eligibility gates are separate; several source-based dimensions use a 14-day freshness gate.
  </Accordion>
</AccordionGroup>

## Related guides

* [Read a company's health details](/user-guides/msp-tools/read-client-health-details)
* [Change scoring metric inclusion](/user-guides/settings/scoring)
* [Refresh Client Health scores](/user-guides/msp-tools/refresh-client-health)
