ForHosting KIT · Developer Utilities

Customer Account Health Score Calculator

The customer account health score calculator combines four familiar account signals into one transparent score from 0 to 100.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

Enter normalized scores for product usage, support ticket health, NPS, and payment history, then assign the percentage influence each signal should have. The calculator verifies that the weights total exactly 100%, applies a weighted-average formula, and reports both the composite result and each signal's contribution. This makes the result easy to explain, reproduce, and use consistently in customer success workflows.

Prepare comparable customer signals

Start by expressing usage, support tickets, NPS, and payment history on the same zero-to-one-hundred scale. A high value must consistently mean a healthier account, so support ticket activity may need to be transformed before entry: frequent unresolved escalations should produce a lower support score, while fast resolutions and low severity should produce a higher one. The NPS input is also a normalized health signal, not the raw minus-one-hundred-to-one-hundred survey scale. Define every signal upstream and apply that definition uniformly across accounts and reporting periods. Consistency matters more than false precision. For example, usage might combine active-user rate, feature adoption, and recent session frequency, while payment history might reflect punctuality and overdue balance. Document those source rules so that two analysts calculate the same inputs. The calculator deliberately does not infer or repair source scores because hidden transformations would make the composite difficult to audit. It combines the values you provide and exposes every weighted contribution in the result.

Choose weights and understand the formula

Assign each signal a percentage weight based on how strongly it should influence account health. All four weights must add to exactly 100%. The calculator multiplies each score by its weight and divides by 100, then adds the four contributions. If usage is 80 with a weight of 40%, its contribution is 32 points. A weight of zero is allowed when a signal is temporarily irrelevant, but the remaining weights must still total 100%. The validation rule prevents a common spreadsheet error in which incomplete or duplicated percentages quietly inflate or suppress the result. The response lists the submitted score, submitted weight, and weighted contribution for every signal, making the arithmetic inspectable. Results are rounded to four decimal places for stable automation while preserving useful precision. The score is also assigned a simple band: healthy for 80 or above, needs attention from 60 through just under 80, and at risk below 60. Treat those bands as operational defaults, then align escalation rules with your own customer lifecycle.

Use the score responsibly in customer operations

A composite health score is most useful as a consistent prioritization aid, not as a substitute for account context. Run the same formula on a regular cadence and compare both the overall result and the underlying contributions. A stable total can conceal offsetting movements, such as improving product adoption alongside deteriorating payment behavior. The breakdown helps a customer success manager identify the signal responsible for a change and choose an appropriate intervention. Store the input definitions, weights, and result with each reporting snapshot so historical comparisons remain meaningful when your model evolves. If you change weights, consider recalculating earlier periods or clearly marking a new model version; otherwise, a trend line may reflect methodology rather than customer behavior. Review thresholds against real outcomes such as renewal, expansion, downgrade, or churn, and adjust your upstream scoring definitions when evidence supports it. The API costs $0.002 per calculation, while the browser version can be used for individual checks. Neither route contacts outside services, and identical inputs always produce identical results.

Prioritize customer success outreach

Rank accounts with a consistent composite measure and inspect the lowest contribution before choosing an intervention.

Monitor a renewal portfolio

Recalculate account health on a regular cadence and flag material movement before renewal conversations begin.

Standardize executive reporting

Apply one documented weighting model across teams while retaining the contribution breakdown needed to explain each result.

What formula does the calculator use?

It multiplies each normalized score by its percentage weight, divides by 100, and sums the four weighted contributions.

What happens if the weights do not total 100%?

The calculation returns an invalid input error and reports the total it received. No composite score is produced.

Can I enter a raw NPS value below zero?

No. Convert raw NPS into a normalized health signal from 0 to 100 before using this calculator.

How are health bands assigned?

Scores of 80 or more are healthy, scores from 60 to below 80 need attention, and scores below 60 are at risk.

Can one signal have a weight of zero?

Yes. Every score and weight may range from 0 to 100, provided the four weights together still total 100%.

How much does an API calculation cost?

Each API calculation costs $0.002. The browser calculator is available for individual interactive checks.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/biz/customer-health-score-calc

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/biz/customer-health-score-calc \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"usage_score":82,"usage_weight":35,"support_tickets_score":68,"support_tickets_weight":20,"nps_score":74,"nps_weight":25,"payment_history_score":95,"payment_history_weight":20}'
{
  "usage_score": 82,
  "usage_weight": 35,
  "support_tickets_score": 68,
  "support_tickets_weight": 20,
  "nps_score": 74,
  "nps_weight": 25,
  "payment_history_score": 95,
  "payment_history_weight": 20
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "biz.customer_health_score_calc",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →