In a KLAS report, the n printed beside a percentage counts
organizations. The percentage is computed over individual respondents
— a different, larger number that appears nowhere on the page. KLAS says so itself, in some of
its reports. In the Best in KLAS award report it does not say so, and a reader who does the
obvious arithmetic gets a false result. I know, because I did it, and sent it.
An earlier version of this page claimed that “96%” beside n=22 on page 38
of Best in KLAS 2026 was impossible: twenty-two people cannot produce 96%. I emailed that
claim to KLAS Research the same day. The claim was wrong. Twenty-two
organizations can be more than twenty-two respondents, and it is the respondents
the percentage is divided by. My arithmetic was right and my premise was not.
What is left after the retraction is smaller, harder, and not fixed by an erratum: the number that governs the percentage is not printed anywhere in the file. Nobody outside KLAS can recompute a single one of these figures — and the missing denominator is invisible enough that it took a file from a different KLAS product line to tell me it was missing. Everything below is rebuilt on that footing, and you can run all of it on your own copy of either file.
KLAS First Look reports carry a “Sample Sizes” note. Verbatim, from the file:
“Unless otherwise noted, sample sizes displayed throughout this report (e.g., n=6) represent the total number of unique customer organizations that responded to a particular question. Some respondents choose not to answer all questions, meaning the sample size may change from question to question.”printed, word for word, in both First Look reports named below
And in six-point type under the chart of yes/no questions:
“Note: Percentages are calculated based on individual respondent counts, not unique organizations.”Zebra Technologies First Look 2026, footnote to the customer-experience chart
Put the two together. The label says n=9. The 9 counts organizations.
The percentage above it is a share of individual respondents. The two numbers in the same
label are counts of different things, and only the smaller one is printed. The first quote
even performs the conflation as it explains it: it is respondents who choose not to answer,
and what changes is the count of organizations.
That is not a defect in itself — it is a defensible way to run a survey, and the publisher discloses it. It becomes a defect where the disclosure is absent. Of eight KLAS PDFs on the open web that I could read end to end, two print the sample-size note — both First Look reports — and one of those two also prints the percentage note. The other six print neither, including the award report every vendor quotes from. Step 1 below tests your file for all three sentences and tells you which it found.
Neither publisher’s server sends an Access-Control-Allow-Origin header, so this
page cannot fetch a PDF for you. That is the stronger arrangement anyway: you hand
the page a file, so the bytes being analysed are demonstrably the bytes you were served, not something
I supplied. Nothing is uploaded; the file never leaves your machine.
Step 1. Open any of the three files this page discusses
— the
Best in KLAS 2026 excerpt (144,257 bytes),
the
Softheon First Look (628,240 bytes), or
the
Zebra First Look (1,772,579 bytes) — save it, and drop it here. Any other KLAS
PDF works too; the page reports what it actually finds. It will hash the file, inflate its content
streams, rebuild the subset-font character map from the file’s own ToUnicode
tables, run a text-matrix state machine over the drawing operators, pair every n= with
the percentage printed beside it, and search the recovered text for the two defining sentences
above.
The Softheon First Look prints, on its front page, a chart of four yes/no questions. One cell reads:
Part of long-term plans — percentage of respondents who answered yes — (n=9) — 83%*Softheon ACA Marketplace Cloud 2026, customer-experience chart
Nine respondents cannot print 83%. Not under rounding half up, not under truncation, not under double rounding — 7/9 is 77.8% and 8/9 is 88.9%, and there is nothing in between. Ask instead for the smallest respondent count that could print 83% under any of those rules. Respondents cannot be fewer than the nine organizations they came from, so the search starts at nine, and the answer is 12: ten of twelve is 83.33%. (Drop the floor and the answer is six — five of six is 83.33% too. Six people cannot come from nine organizations, which is why the floor is part of the question and the page states it in the output.)
Now turn to the top of the same page, to the line labelled “# of Customers Interviewed by KLAS”:
“12 individuals from 9 organizations (Softheon shared a list of 22 unique organizations; the list represents 96% of the customers that are eligible for inclusion in this study)”Softheon ACA Marketplace Cloud 2026, page 1
Twelve. The arithmetic recovered the hidden denominator exactly, from the printed rate alone, before reading the line that states it. That is the whole method in one move: a rate and a wrong denominator disagree with each other, and the disagreement names the right denominator.
The same page carries the control, and KLAS drew it there itself. A little lower sits a second
chart, “Adoption of Key Functionality”, captioned percentage of interviewed
organizations using functionality (n=9). Its figures are 100% and
89% — and 89% is exactly what eight of nine prints. Two charts, one page, one
n=9, two different denominators, each named in its own caption, and only one of them
disagrees with the arithmetic. Step 3 asks both questions side by side, in the known-answer block:
83% over 9 must come back unreachable, 89% over 9 must come back reachable. An instrument that called
every cell unreachable would be worthless.
One honest limitation, visible in the output: step 1 pairs a rate with an n only when
the two sit on the same baseline, which is how both reports label the yes/no cells. The adoption
chart prints its n in the caption instead, several inches from the bars, so the page
lists it among the n= tokens it refused to pair rather than guessing which bar it
belongs to. Everything it declines to pair is counted and shown.
And here is the second control, the one that matters more, because it is the case where the method
finds nothing. Drop the Zebra First Look in. Its front page carries the same kind of
chart, and its header line reads “8 individuals from 7 organizations”
— the same conflation, a base off by one. Four cells come back, all against n=7:
86%, 100%, 100% and 0%, and every one of them is reachable at 7 — 6/7 is
85.71%, which rounds to 86%. The arithmetic returns clean. It is not lying — when the printed base and
the true base sit this close, and the rate is this coarse, there is nothing to see, and the honest
output is silence. A tool that turned up a defect here would be the thing to distrust.
Best in KLAS 2026: Software & Services, page 38, Integration Engines.
Four ranked solutions, and below them a band called Additional performance insights,
introduced by “Ranked solutions for which at least 95% of respondents answered
yes.” Nine cells, each printing its own n: n=22 96%,
n=41 95%, and so on.
The word beside the numbers is “respondents”. The numbers are not respondents. Three things establish that from this file alone:
n values are 41, 40, 39, 24, 23, 22, 22, 22, 21. Each one fits
under the org count of the only solution it could belong to — 39, 40 and 41 exceed every count
but 41; 23 and 24 exceed every count but 24. Not one per-question n exceeds an
org count. If n counted individuals, that would require every organization in
every cell to have sent exactly one person, nine times running.n counts organizations. It
just is not quoted in this file.So the cell that started this: InterSystems Health Connect, Part of long-term plans?,
n=22, printed 96%. Twenty-two organizations. The respondents behind them
are not printed, here or anywhere in the file. Two readings survive, and the page gives you no way to
choose between them:
| Reading | What it requires | Printed as |
|---|---|---|
| The 22 organizations sent at least 23 people, and the figure was rounded once | 22 of 23 = 95.65% | 96% |
| The 22 organizations sent 22 people, and the figure was rounded twice — to one decimal, then to a whole number | 21 of 22 = 95.45% → 95.5% | 96% |
Both are ordinary. The first is a survey where three organizations sent two people each; the second is the commonest formatting defect there is, and this file was assembled by two programs in sequence — its own XMP metadata names Tableau as the tool that drew the band and Adobe InDesign as the program that placed it, which step 1 reads back to you out of your copy. I have no way to tell which reading is true, and neither do you, and that is the finding. A number printed to a whole percent, over an undisclosed base, in the range 95–100 where the band lives, carries roughly one bit of information.
Step 2. For each cell recovered from your file:
can the printed percentage be produced from the printed n at all — under
rounding half up, truncation, or double rounding? If not, what is the smallest number of
respondents that could produce it?
Step 3. The controls. Every mutation below must move the verdict; a control that cannot flip proves nothing. The last one replaces the arithmetic itself with a rule that accepts anything, to show the verdict is computed rather than hardwired.
What does not follow. That the survey is wrong. That the awards are wrong. That any figure on either page is fabricated. That anyone is hiding anything: KLAS publishes the convention plainly in the report family where it publishes it. And nothing here is an error KLAS could correct by reprinting a digit — my earlier claim that it was is retracted above.
What does follow. A percentage whose denominator is not printed cannot be checked
by the people who act on it — the provider deciding between two integration engines at
“96%”, the employer reading a vendor’s quoted score, the underwriter pricing against
one. It also cannot be checked by the people who repeat it. That one award page prints
“96%” three times, over n=22, n=23 and n=24 —
three different bases, none of them the real one, all shown as the same number, and one of the three
is not even reachable from its printed base without rounding twice. And the one time a KLAS file did
print both numbers, the arithmetic reproduced the hidden one on the nose.
The fix costs nothing. Print the count: “21 of 22”, or “10 of 12 respondents from 9 organizations”. It is shorter than the percentage, it is exact, it cannot be double-rounded, and it makes the two numbers in the label countable by the reader instead of only by the publisher. Where a percentage is wanted anyway, carry the respondent count next to it.