Skip to content
ENExplore Calculators

Serverless Health Score Calculator

Score a serverless workload out of 100 on errors, throttles, latency margin, cold starts, memory fit and observability.

About Serverless Health Score Calculator

Each input is normalised to a 0-100 sub-score with a deliberately steep penalty curve — throttles cost a point per 0.01% because they mean dropped work, while cold starts cost only ten points per percent because they are a latency tax rather than a failure. The weights then combine them, and the weakest area is simply the lowest sub-score, which is where remediation buys the most improvement. Serverless workloads fail in ways a single availability number hides: a function can report 100% success while throttling a slice of traffic at the concurrency limit and silently dropping async events that have no failure destination.

Formulas

Serverless Health Score

score = 0.22 × error + 0.15 × throttle + 0.15 × timeout margin + 0.13 × memory fit + 0.15 × alarm coverage + 0.10 × cold start + 0.10 × failure-destination coverage.

error sub-score
100 − error rate × 40, so 2.5% errors scores zero
timeout margin
100 − (p99 ÷ timeout × 100) — a p99 near the timeout scores low
memory fit
100 − |utilization − 70| × 2, penalising both waste and out-of-memory risk

Sub-scores

reliability = 0.45 × error + 0.30 × throttle + 0.25 × failure-destination coverage; efficiency = 0.45 × memory fit + 0.35 × timeout margin + 0.20 × cold start.

Worked example

With the default values below, Serverless Health Score Calculator returns Serverless Health Score of 74. Change any input above and every figure here is recalculated in your browser.

Inputs used

Invocation error rateaccepts 0–100 %
0.5 %
Throttle rateaccepts 0–100 %
0.2 %
p99 durationaccepts 1–900,000 ms
900 ms
Configured timeoutaccepts 1–900,000 ms
3,000 ms
Share of invocations that cold startaccepts 0–100 %
2 %
Peak memory used of memory configuredaccepts 1–100 %
55 %
Functions covered by alarmsaccepts 0–100 %
70 %
Async functions with a dead-letter or failure destinationaccepts 0–100 %
60 %

Results

Serverless Health Score
74 /100
Grade
C — Fair
Reliability Sub-score
75
Efficiency Sub-score
72
Observability Sub-score
67
Weakest Area
Dead-letter or failure destination coverage

Step by step

  1. 1Values used
  2. 2Serverless Health Score
  3. 3Sub-scores
  4. 4Serverless Health Score= 74 /100
  5. 5Grade= C — Fair
  6. 6Reliability Sub-score= 75
  7. 7Efficiency Sub-score= 72
  8. 8Observability Sub-score= 67
  9. 9Weakest Area= Dead-letter or failure destination coverage

Assumptions and limits

  • The result is derived only from the 8 inputs listed above. Anything not among them is not part of the calculation.
  • In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
  • Figures are rounded for display to whole numbers, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.

How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.

Frequently Asked Questions

How is Serverless Health Score calculated?

score = 0.22 × error + 0.15 × throttle + 0.15 × timeout margin + 0.13 × memory fit + 0.15 × alarm coverage + 0.10 × cold start + 0.10 × failure-destination coverage. Each input is normalised to a 0-100 sub-score with a deliberately steep penalty curve — throttles cost a point per 0.01% because they mean dropped work, while cold starts cost only ten points per percent because they are a latency tax rather than a failure. The weights then combine them, and the weakest area is simply the lowest sub-score, which is where remediation buys the most improvement.

Why does Serverless Health Score matter?

Serverless workloads fail in ways a single availability number hides: a function can report 100% success while throttling a slice of traffic at the concurrency limit and silently dropping async events that have no failure destination.

What values do I need to enter?

This calculator takes 8 inputs: Invocation error rate, Throttle rate, p99 duration, Configured timeout, Share of invocations that cold start, Peak memory used of memory configured, Functions covered by alarms, Async functions with a dead-letter or failure destination. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.

Why is memory utilization penalised for being too low?

Because you pay for memory you reserved, not memory you used. A function peaking at 20% of a 1 GB allocation is paying five times over, while one peaking above 90% is one payload spike away from an out-of-memory kill — around 70% balances the two.

What is a good score?

Above 75 is a workload you can operate without surprises. Below 60 usually means one specific gap — most often missing alarms or missing failure destinations — rather than broad decay, which is why the weakest-area output matters more than the total.

Serverless Health Score Calculator | Calcrivo