Skip to main content

Why this is a common failure point

Older callers often speak more slowly, pause mid-sentence and need information repeated; younger callers speak faster and in higher voices that some speech recognition hears poorly. An agent tuned on adult voices at a normal pace cuts elderly callers off in their pauses and mishears children, and those are often the callers who most need the call to go well.

How Roark tests it

Caller age handling runs the same flow with a child, a teenager, an adult and an elderly caller, with everything else held the same, and tells you whether any age makes your agent misunderstand, ask again, or fail the call. It is a property sweep: every value runs the same flow with everything else held the same, and the report tells you which values did worse than the rest and which differences are just chance.

The values

Each age runs only where the caller’s accent has a voice for it. An accent without a child voice, for example, runs its other ages and skips the child value.

What it measures

The template seeds these, and your flow’s own metrics run alongside them. Only checks can mark a value Worse on; the other measures explain why.

What to look for

  • Elderly callers and pace. An agent that speaks much faster than an elderly caller shows it in Speech Pace Delta, often before comprehension moves.
  • Children and pitch. Comprehension failures concentrated on Child usually point at transcription, not the agent’s logic.
  • Four values is a small run. At 6 calls per value the whole sweep is 24 calls per agent, so 10 per value is affordable and sees smaller gaps.

Setting one up

Pick the flow to test, then the values to run it across. Every value starts selected; deselect the ones you don’t need. Each value runs your flow again, so the values you keep are the cost of the run. Compared against sets the baseline: a reference value the report pins first, such as silence for background noise. The template suggests the natural one, and you can change it or choose none. It doesn’t change the verdict: whether a value did worse is always decided against every other value combined. Iterations live in the sweep panel rather than in Advanced. Each value runs every attached test case once per iteration:
Calls per value = test cases x iterations
Each value needs at least 5 calls to be compared with the others, and the Iterations field won’t go below the count that reaches it. It starts at 6 calls per value, so one call excluded after the run doesn’t drop a value out of the comparison. More calls let the report see smaller differences. For a sweep of 10 values:
Below 5 calls a value can never be flagged, however badly it does, which is why the minimum is enforced rather than suggested. Over the API, a sweep template defaults iterationCount to 6 and refuses a plan with fewer than 5 calls per value with a 400.

How the results are decided

The sweep’s table leads the run report. Its Compared with the rest column gives each value one result: How “too large to be chance” is decided:
  • Each value is compared with all the other values combined, one check at a time, never with a single other value. Two values that happen to land at opposite ends are not a finding on their own.
  • A sweep makes many comparisons at once (every value on every check), and some will look different by luck alone. The report accounts for that: of all the values it flags in a run, at most 1 in 10 is expected to be a fluke.
  • A value is flagged only when it does worse. Doing better than the rest is not a problem to fix.
Checks passed shows each value’s pass rate with the number of calls behind it, so 100% of two calls never reads like 100% of twenty. A lower rate with No difference beside it means the gap is not larger than chance. Fails, not age specific. A check that fails on at least 20% of calls with no value standing out is listed under this heading. It is a real problem, just not one age caused, so changing age won’t fix it. Select the check to open its evidence. The executive summary follows the same rules: it only blames the property for failures the table marks Worse on. Hover How this works under the table for this run’s own numbers.