Predictive DialerOutboundAMDAbandoned CallsTCPAOfcom

Predictive Dialer Software: How It Works, the Rules, and How to Build One

A predictive dialer can greatly increase the time outbound agents spend talking, or get a business fined for silent calls. The difference is in the pacing, the answering machine detection and the compliance controls. This guide explains all three.

Kaushik ParmarFounder & VoIP Architect · 12+ years in telecom and VoIP 15 min read
4
Dialing modes compared
3%
Abandoned-call limit (US, UK)
2 s
US connect window after greeting
1
Working pacing example

Quick answer

What is a predictive dialer?

A predictive dialer is outbound calling software that dials several numbers for each available agent, predicting from live answer rates and call lengths how many calls will be answered, and connects only answered calls to agents. It keeps agents talking instead of waiting, but it must control abandoned calls to stay within legal limits such as 3% in the US and UK.

What a predictive dialer does

In outbound calling, most dials don't reach a person: numbers ring out, are busy, go to voicemail or are wrong. If each agent dials one number at a time, they spend most of their shift listening to ringing. A predictive dialer fixes that by dialing ahead: it places several calls for each agent who is about to be free and connects whichever are answered by a person.

The risk is the opposite problem. If more people answer than there are free agents, someone picks up to silence or a dropped call. Those are abandoned calls, and regulators limit them because they are distressing and look like scams. A good predictive dialer is therefore a control system: as aggressive as possible while staying inside the abandoned-call limit.

Predictive dialing makes the most sense for high-volume campaigns where many dials go unanswered and each conversation is fairly short and similar, such as sales, renewals, surveys or collections. For small teams, high-value accounts or complex conversations, progressive or preview dialing often works better: fewer abandoned calls, better-prepared agents and a more personal first few seconds.

The quality of a predictive dialer is easiest to see from the agent's chair. Good pacing feels like a steady flow of conversations with a short, predictable gap between them. Poor pacing swings between long idle waits and moments when customers answer to silence because no agent is free.

Preview, progressive, power and predictive dialing

Most outbound teams need more than one mode. A good dialer lets supervisors choose per campaign.

ModeHow it worksLines per agentAgent talk timeAbandoned callsBest for
PreviewAgent sees the record, then decides when to dial1 per agent, agent-triggeredLowestNoneComplex B2B, high-value accounts
ProgressiveDials the next number automatically as soon as an agent is free1 per free agentMediumNone by designSteady campaigns, renewals
PowerDials a fixed number of lines per free agent (for example 2 or 3)Fixed ratioHighCan be highSimple campaigns, often replaced by predictive
PredictiveAdjusts the dialing ratio continuously from live statisticsVariable, calculatedHighestControlled to a targetHigh-volume campaigns with large lists

Switching modes during the day is normal. A campaign might run predictive in the busy middle of the day, drop to progressive when only a few agents are logged in, because predictive pacing becomes unstable with very small teams, and use preview for callbacks and high-value records.

How predictive pacing works

The pacing engine answers one question many times a second: how many calls should be in progress right now? It uses a few live statistics for the campaign:

  • Answer rate: the share of dials that reach a live person, after machine detection.
  • Time to answer: how long calls ring before someone picks up.
  • Average handle time and wrap-up time: how soon busy agents will be free again.
  • Agents available now and expected to become available in the next few seconds.
  • The abandoned-call rate so far, measured over the regulator's window.

At its simplest, the dialing ratio is about one divided by the answer rate: if one call in four reaches a person, dial about four lines per free agent. The chart shows how quickly that ratio climbs as answer rates fall, which is why lists with poor contact rates are the hardest to dial within the rules.

A simplified pacing loop

Production dialers use more careful statistics, but this captures the core idea: estimate how many lines to keep in flight, then back off when the abandoned-call rate approaches the target.

# pacing.py: simplified predictive pacing with abandonment feedback
from dataclasses import dataclass

@dataclass
class CampaignStats:
    answered_human: int     # calls answered by a person (after AMD)
    dialed: int             # total dials in the window
    abandoned: int          # human answers not connected in time
    agents_free: int        # agents waiting now
    agents_finishing: int   # agents expected free within ~10 s

ABANDON_TARGET = 0.025      # stay safely under a 3% legal limit
MAX_RATIO = 6.0

def lines_to_dial(s: CampaignStats, in_flight: int, aggressiveness: float) -> int:
    answer_rate = max(s.answered_human / max(s.dialed, 1), 0.05)
    expected_agents = s.agents_free + 0.7 * s.agents_finishing
    ratio = min((1 / answer_rate) * aggressiveness, MAX_RATIO)
    target_in_flight = int(expected_agents * ratio)
    return max(target_in_flight - in_flight, 0)

def adjust(aggressiveness: float, s: CampaignStats) -> float:
    abandon_rate = s.abandoned / max(s.answered_human, 1)
    if abandon_rate > ABANDON_TARGET:
        return max(aggressiveness * 0.9, 0.5)    # back off quickly
    return min(aggressiveness * 1.02, 1.0)       # creep up slowly

# every second:
#   aggressiveness = adjust(aggressiveness, stats)
#   n = lines_to_dial(stats, calls_ringing, aggressiveness)
#   originate n calls from the campaign queue (respecting calling hours and DNC)

On Asterisk the originate step is typically an ARI or AMI call per number; on FreeSWITCH, an originate command over the event socket. The dialer also needs a fallback: when an answered call can't reach an agent within the allowed time, it must play the required information message rather than leave silence.

Answering machine detection: the hidden source of abandoned calls

AMD listens to the first second or two after answer to decide whether a person or a voicemail picked up. It always trades speed against accuracy.

Done well

  • Tuned per campaign and region, because greetings differ
  • False-positive rate measured with test calls and sampling
  • Humans connected quickly, without a long silent pause
  • Voicemail drop used only where rules allow

Common mistakes

  • Aggressive settings that hang up on real people
  • Ignoring AMD errors when calculating abandonment (Ofcom expects an estimate)
  • Long detection delays that make people hang up
  • Re-dialing machine-detected numbers too soon

Deep dive: answering machine detection for AI voice agents and dialers.

Abandoned-call and outbound rules

These are the rules that most often shape dialer design. They are a planning summary, not legal advice.

CountryAbandoned-call ruleOther rules that affect dialers
United StatesNo more than 3% of calls answered by a person, per campaign over 30 days; a call not connected to an agent within 2 seconds of the greeting counts as abandoned and needs a short message identifying the caller with an opt-outTCPA consent (stricter for mobiles and artificial voices), national and internal do-not-call lists, calling hours, state rules
United KingdomOfcom expects no more than 3% of live calls per campaign in any 24 hours, including an estimate of AMD false positives, with a short information message; the 3% is an enforcement threshold, not a safe harbourPECR consent for automated calls, TPS screening for live calls, valid caller ID
IndiaCommercial calls follow TRAI's TCCCPR frameworkDLT registration, 140 series for promotional calls, 1600 series for BFSI service calls, NCPR (DND) preferences
UAETelemarketing governed by Cabinet Resolution 56 of 2024Permitted calling hours, registered numbers, call recording with notice, Do Not Call Registry

Country detail: USA · UK · India · UAE · TCPA guide

Predictive dialer architecture

A dialer is more than the pacing engine. Lists, compliance filters, telephony, detection and the agent desktop all have to work together in real time.

Predictive dialer architecture: contact lists through consent and do-not-call filters to the pacing engine, SIP trunks, answer detection, agent connection, retry handling and abandonment control
The main parts of a predictive dialer and the real-time feedback loop.

List and compliance layer

Imports and de-duplicates lists, checks consent and do-not-call status, applies time-zone calling windows and retry rules.

Telephony layer

Asterisk or FreeSWITCH originating calls over SIP trunks, with caller ID management and capacity planning per carrier.

Detection and connection

AMD, live-person connection, the information message for abandoned calls and recording.

Agent desktop and CRM

Screen-pop with the customer record and script, dispositions, callbacks and CRM write-back.

Open-source, cloud dialer or custom build?

Open source (e.g. VICIdial)Cloud dialer subscriptionCustom dialer
Licence costNonePer seat per monthNone after build
Time to startDays to weeks (if you have skills)DaysWeeks to months
CustomisationPossible, but a large legacy codebaseSettings and APIsAnything you need
Multi-country complianceBuild it yourselfDepends on vendorDesigned in per country
Best fitTeams with in-house Asterisk skillsSmall to mid teamsLarge, specialised or resold platforms

As a guide, a custom voice call center with preview, progressive and predictive modes is typically $20,000–$50,000 over 8–14 weeks, and an omnichannel contact centre $50,000–$150,000. See contact centre cost ranges.

Predictive dialers and AI voice agents

AI is changing outbound calling in two ways. AI voice agents can run whole campaigns, such as reminders or renewals, for customers who have agreed to be called, which removes abandoned calls entirely because there is always an “agent” available. And AI can help human-agent campaigns with better AMD, live transcription, summaries and compliance checks.

A tempting shortcut is to let an AI voice answer calls the dialer can't connect to an agent. In the US an AI-generated voice is treated as an artificial voice, so those calls need the same consent as other automated calls. Design AI-handled and agent-handled campaigns separately, each with the right consent.

Related: AI call center software guide · AI voice agent development

Over time, many outbound operations end up with a mix: AI voice agents for simple, consented, high-volume tasks such as appointment confirmations and payment reminders, and predictive or progressive dialing for conversations that need a person. Both share the same list management, consent records, caller ID strategy and reporting, so it pays to design them on one platform.

List quality, retry rules and caller ID reputation

Pacing gets the attention, but the biggest drivers of outbound results are the quality of the list, when you call, and whether people trust the number that appears on their phone.

Clean, consented lists

Remove duplicates, invalid numbers and anyone without consent or on do-not-call lists before dialing. Poor lists lower answer rates, which forces more aggressive pacing and more abandoned calls.

Time-zone-aware calling windows

Dial each number only within its legal and polite hours, by its own time zone, not the call centre's.

Sensible retry rules

Limit attempts per number per day and per week, spread them across times of day, and stop after a clear refusal.

Caller ID reputation

Numbers that make many short calls get labelled as spam by carriers and phone apps. Use registered numbers with proper attestation where available, keep volumes per number reasonable and monitor labelling.

Local presence, used honestly

Showing a local number can raise answer rates, but it must be a real number that reaches your business when called back.

Feedback into the CRM

Write every outcome back: wrong number, call back later, not interested. Clean data improves the next campaign.

Metrics supervisors should watch

A dialer's dashboard should make problems visible in minutes, not at the end of the month.

MetricWhat it tells youAction when it moves
Abandoned-call rateWhether pacing is too aggressiveLower aggressiveness, check AMD settings
Answer (contact) rateList quality and timingClean the list, change calling windows
Agent occupancyShare of time agents spend on callsRaise pacing if low and abandonment is safe
Wait between callsHow long agents sit idleTune pacing or add numbers to the campaign
AMD false-positive estimatePeople mistaken for machinesAdjust AMD timing; include in abandonment
Conversion per hourWhether the campaign is worth runningChange script, list or offer

Frequently asked questions

What is a predictive dialer?

A predictive dialer is outbound calling software that dials several numbers for each available agent, using live answer rates and average call length to predict how many calls will connect, and passes only answered calls to agents. It maximises agent talk time while controlling abandoned calls.

What is the difference between a predictive, power and progressive dialer?

A progressive dialer dials one number when an agent becomes free, so no calls are abandoned. A power dialer dials a fixed number of lines per free agent. A predictive dialer changes its dialing ratio continuously based on live statistics, keeping agents busy while holding abandoned calls at a target.

Are predictive dialers legal?

Yes, in most countries, with conditions. In the US, abandoned calls must stay at or below 3% of calls answered by a person per campaign over 30 days, calls must connect to a live agent within two seconds of the greeting or count as abandoned, and abandoned calls need a short identifying message with an opt-out; consent and do-not-call rules also apply. In the UK, Ofcom expects no more than 3% of live calls per campaign in 24 hours, including an estimate of answering-machine-detection errors.

What is an abandoned call?

An abandoned call is one that a person answers but that is not connected to an agent quickly enough, usually because the dialer placed more calls than there were free agents. Regulators limit them because they produce silent or dropped calls.

How accurate is answering machine detection?

No AMD is perfect. It trades speed against accuracy: faster detection mislabels more humans as machines (false positives), which count as abandoned calls in some regimes. We tune AMD per campaign and measure its error rate rather than relying on defaults.

Can an AI voice agent handle calls when no agent is free?

Technically yes, but an AI voice is treated as an artificial voice in places like the US, so it needs the same consent as other automated calls. A cleaner design is to use AI voice agents for whole campaigns where consent exists, and keep the predictive dialer for agent-handled campaigns.

Should we use VICIdial, a cloud dialer or a custom build?

VICIdial is a mature open-source option on Asterisk if you can run and customise it. Cloud dialers are quick to start but charge per seat. A custom dialer makes sense when you need unusual pacing, deep CRM integration, compliance controls for several countries, or want to resell the platform.

How much does it cost to build a predictive dialer?

A dialer is usually part of a contact-centre build. As a guide, a custom voice call center with preview, progressive and predictive modes is typically $20,000–$50,000, and an omnichannel contact centre $50,000–$150,000. SIP trunk minutes and hosting are separate running costs.

Work with CelloIP

Need a dialer built or fixed?

CelloIP builds outbound dialers and contact centres on Asterisk and FreeSWITCH, with pacing, AMD and compliance controls for the countries you call. We also tune existing dialers that drop too many calls. You own the code.