Every QA tool says it scores with confidence. This one prints the number, and the lines of transcript it came from.
“Good morning, this is Priya from [MASKED]. May I confirm the last four digits of your account?”
Mandatory disclosure was never read out before verification began.
“I understand this is frustrating, let me see what I can do.” Acknowledged once, then moved on.
When a QA tool tells an agent they scored 62 on empathy, there is nothing to discuss. The agent cannot check it, the supervisor cannot defend it beyond “the system said so”, and the conversation becomes about the tool rather than about the call.
Every parameter here returns the transcript spans it was judged on. Not a summary of them, not a paraphrase: the lines themselves, with their position in the transcript, shown next to the score rather than buried behind an export.
The disagreement then has somewhere to go. Either the quoted line supports the score or it does not, and both people are looking at the same sentence.
auditResults[].evidence[] · call-audit.schema.ts
Some questions have clean answers. A recording disclosure either was or was not read out; a model should be near-certain either way, and it usually reports somewhere in the nineties.
Others are judgement calls. Whether an agent showed genuine empathy or merely said an empathetic sentence is a reading of the call, and a low confidence figure there is the honest answer, not a defect.
That makes confidence a routing signal. The calls the model hedged on are the calls worth a human ear, which is a far better use of your analysts than re-reviewing a random sample of the ones it was sure about.
The call carries an overall figure too: the mean of its parameters.
auditResults[].confidence · 0–100, per parameter
The tail is the product. Those are the calls the model hedged on, and they are the ones worth an analyst's time.
| Confidence band | Parameters |
|---|---|
| 30–34 | 12 |
| 35–39 | 21 |
| 40–44 | 38 |
| 45–49 | 61 |
| 50–54 | 84 |
| 55–59 | 124 |
| 60–64 | 171 |
| 65–69 | 238 |
| 70–74 | 331 |
| 75–79 | 432 |
| 80–84 | 528 |
| 85–89 | 611 |
| 90–94 | 664 |
| 95–99 | 583 |
said or not said
checkable against the record
a judgement call
not reported
A confidence figure is the model's own account of how clear the evidence was. It is not a measured error rate, it is not validated against a human ground truth you have not given us, and a model can be confidently wrong. Any vendor telling you otherwise is selling you a number they cannot support.
What it is good for is triage and disagreement. High confidence plus a quoted disclosure that plainly is not there means the call failed. Low confidence on a subjective parameter means read the call yourself before you coach anyone on it.
Where the model reports no confidence at all, the interface shows a dash. It would be trivial to substitute a plausible default and nobody would notice, which is exactly why we do not. The whole value of printing the number is that it means something.
For each parameter, provide a confidence score (0-100) reflecting how clearly the transcript supports your judgement.
A single sentiment score for a whole call throws away most of what makes it worth knowing. A customer who starts angry and ends calm is a call that went well. A customer who stays pleasant while the agent grows terse is a different problem entirely, and one overall figure hides both.
Customer and agent are scored separately, and the emotional turning points are timestamped, so you can jump to the moment rather than re-listening to eight minutes to find it.
sentiment.customerScore / .agentScore · emotionalMoments[]
Every vendor in this category publishes a table of green ticks. Here is one with the gaps in it.
| Criterion | QXAI |
|---|---|
| Quoted transcript evidence per parameter | YesYesShown beside the score, not in an export. |
| Confidence figure per parameter | YesYes0–100, plus a mean for the call. |
| Customer and agent sentiment, separately | YesYesWith timestamped turning points. |
| Validated accuracy percentage | Not claimedNot claimedWe have no benchmark you can audit, so we publish no number. Anyone quoting one should be asked how it was measured. |
| Word-level timestamps | NoNoEvidence cites lines of transcript, not exact audio offsets. |
| Acoustic speaker diarisation | Context-basedContext-basedSpeakers are inferred while transcribing. Reliable on a two-party call, less so with heavy overlap. |
| Calibration workflow | NoNoAutomated scoring removes the reviewer drift calibration exists to correct, but if you run formal sessions they stay outside the product. |
| Real-time assistance during a live call | NoNoAuditing is post-call. There is no agent-assist. |