CPA Technical Specifications

CPA Prediction Algorithm

CPA & AMD integration guides

This article documents the CPA classification thresholds. For implementation guidance, see the companion guides: CPA & AMD Integration Overview, MRCP Integration, and gRPC Integration. Related CPA articles: Introduction to CPA, Grammars in CPA and AMD, and CPA Tuning.

The thresholds documented below are not arbitrary; they encode a statistical regularity in how called parties answer the phone. A person at home typically answers in a single short burst — “Hello?” — and then stops, yielding to the caller. A business answer is longer, because it carries identifying information: a name, a department, a company. A machine greeting is longer still, and keeps going, because it is a recorded script with nothing on the other end waiting for a turn to speak. Call Progress Analysis (CPA) exploits the fact that these three populations separate cleanly along one axis: how many milliseconds of continuous speech the called party produces before going silent.

Every threshold an integrator can move is therefore a point on a false-positive/false-negative trade-off, and the cost is asymmetric. Lower the answering-machine boundary and you classify machines sooner — but you begin clipping long-winded humans into the machine bucket, which in an outbound campaign means dropping live people (an abandoned call: a customer-experience failure and, under regimes such as US TCPA and Ofcom abandoned-call rules, a compliance exposure). Raise it and you protect those humans — but you let more machines through as people, wasting agent time and corrupting dialer pacing. The defaults below sit at a balance point that works for typical North American greeting patterns; the right values for a given campaign depend on its callee population and on how the deployment weighs an abandoned live call against a wasted agent connect.

The classifier differentiates a human residence, a human business, and an answering-machine greeting using Capacity Private Cloud ASR capabilities together with traditional time-based CPA predictors. It listens to the incoming audio for human speech using Voice Activity Detection (VAD) — the signal-processing front end that distinguishes speech energy from silence, line noise, and background sound, and that marks the precise boundaries (endpoints) where speech starts and stops. Once the audio is endpointed, the algorithm classifies the called party based on the length of time the called party speaks before falling silent.

Consider the following ways a called party might answer the phone:

  • "Hello? <silence>"
  • "Hi, this is John. <silence>"
  • "Thank you for calling XYZ corporation, how may I help you? <silence>"
  • "This is John Smith at XYZ corporation. I'm away from my desk right now, but if you leave me a message with your name and number I'll get back to you as soon as possible. <silence>"

By measuring the interval between the start of speech and the onset of silence, CPA returns a hypothesis about whether the call reached a human residence, a human business, or a machine. The classifier returns its result as soon as the decision is determined rather than waiting for an entire greeting to finish — an important property under the latency budget of a live predictive or preview dialer, where the goal is to hand a real connection to an agent before the conversational window closes. A fourth case is that the called party says nothing at all, which CPA reports explicitly.

The following table gives the amount of speech or silence CPA must observe before returning each result. These are default values and can be modified; doing so moves the trade-off described above:

ResultAudio LengthDescription
Human Residence< 1800 ms of speech  Very short greeting indicates a strong likelihood of having reached a human residence.
Human Business > 1800 ms of speech but < 3000 ms Moderate-length greeting indicates likelihood of having reached a human business. 
Answering Machine Prediction > 3000 ms of speech Likely an answering machine or other automated system. This may be confirmed using a confirmation prompt. 
Unknown Silence > 5000 ms of silence No speech was detected for a prolonged period of time; it is likely there is a human who is not speaking on the line. 

When the classifier cannot reach a reliable prediction from the ASR result, it falls back to the heuristic length-of-speech approach. The table above gives the default values for that length-based prediction, with the Description column stating the circumstances under which each state is returned.

CPA is typically run in parallel with Tone Detection — the function often marketed as Answering Machine Detection (AMD). The two operate as independent processes on the same audio: one measures speech length as described above (CPA), while the other performs DSP tone detection, listening for the in-band tones that no human produces — special information tones (SIT: the reorder/intercept triad that signals a disconnected, reordered, or intercepted number), fax CNG, busy, and answering-machine beeps. Several of these are pre-answer or answer-supervision signals, detected before any greeting media arrives, so the dialer can abandon a fax or dead number before it ever costs an agent connect. Running speech-length classification and tone detection together lets the IVR or speech application decide how to respond per call — route a confirmed human to an agent, drop a voicemail message on a machine, suppress a SIT or fax number — which is what turns raw classification into improved right-party-contact (RPC) rates and agent utilization rather than wasted dial attempts.


Was this article helpful?