CallShift.aiVisit callshift.ai
Outbound campaign simulator

Calculate the velocity of your outbound campaign.

How many calls per minute, and how long until the campaign is done? Tune the numbers with your own setup and see what really sets the pace: your concurrency lines or your provider’s CPS limit.

How fast will your campaign really go?

Calculate your calling velocity and spot your real bottleneck: CPS or concurrency.

Concurrency lines

Agents calling at the same time. 10 included by default with CallShift

Calls per second (CPS)

A setting from your telephony provider. Twilio defaults to 1

Average call duration

Across all dials: no-answers, voicemails, conversations

Calls in the campaign

Total contacts to dial

Advanced: phone lines, pickup rate, inbound reservation
Phone lines

Outbound numbers used to dial. Some providers apply the CPS limit per phone line

Average pickup rate

Share of dials answered by a human. The missed rest drives callbacks, so it sizes the automatic inbound reserve

Inbound reserved lines

Concurrency lines kept free for inbound calls and callbacks. Auto keeps (1 - pickup rate) x 10% of lines (8% right now)

Your 9 outbound lines allow (1 kept for inbound)68 calls/min
Your CPS of 1 allowsBottleneck60 calls/min

Campaign finished in

2 h 47 min

CPS is your real bottleneck. Extra concurrency lines won’t speed anything up.

Your provider releases at most 60 calls/min (1 call/second). With 8 sec average calls, each new call replaces one that just ended, so only 8 outbound calls are ever active at once. Keeping 8% of lines free for inbound callbacks, 9 concurrency lines are all you need: the 10 included by default already cover you. 1 of your 10 lines would idle on outbound, a handy buffer for callbacks.

Want to go faster? Raise your CPS with your telephony provider (Twilio’s default is 1).

FAQ: CPS, concurrency lines, callbacks and more
What is a CPS?
Calls Per Second: how many new calls your telephony provider lets you start every second. With Twilio, for example, the default CPS is 1. Most of the time you can ask your provider to raise it.
What is a concurrency line?
The number of agents you can deploy to be calling at the same time. It is different from a phone line.
What is a phone line?
An outbound phone number used to place the calls. Some providers apply the CPS limit per phone line.
What is a callback?
An inbound call from a prospect who missed your call and dials your number back. Callbacks are frequent during a campaign, which is why some concurrency lines are reserved for inbound.
I don’t get exactly those results, why?
It can be multifactorial, but very likely your orchestration platform applies its own operational margin (or latency) to process all the calls: terminating a call, checking the next contact, warming up the new agent, launching the call. A reasonable approach is to apply a 10 to 20% margin to the theoretical velocity above.

Both keep your exact settings: bookmark the link, or embed this widget anywhere.

Powered by CallShift.ai · 10 concurrency lines included with every workspace.

How the simulator calculates your campaign velocity

The model compares the two ceilings of any outbound calling campaign and keeps the lower one:

Because calls stop stacking up once they last longer than the time the CPS needs to replace them, only CPS × phone lines × average call duration calls are ever active at the same time. With a typical provider CPS of 1 (Twilio’s default) and short average calls, that number is below 10: the 10 concurrency lines included by default with CallShift are already enough, and the fastest lever is raising your CPS with your telephony provider, not buying more concurrency lines. A share of your concurrency lines also stays reserved for inbound calls: prospects who miss your call tend to call back, so the automatic reserve is (1 − average pickup rate) × 10% of your lines, rounded up. With the default 20% pickup rate that is 8% of your lines; at 100% pickup nobody calls back, so nothing needs reserving, and the lower your pickup rate, the more callback capacity you keep.

Frequently asked questions

What is CPS (calls per second) in outbound calling?

CPS is the number of new calls your telephony provider lets you start every second. It is a setting on the provider side: with Twilio, for example, the default CPS is 1, and you can usually ask your provider to raise it. CPS multiplied by your phone lines and by 60 gives the maximum number of calls you can launch per minute.

What is a concurrency line?

A concurrency line is one agent slot: the number of concurrency lines is how many agents you can deploy to be calling at the same time. It is different from a phone line, which is an outbound phone number used to place the calls. With CallShift, 10 concurrency lines are included by default with every workspace.

What usually limits the speed of an outbound calling campaign?

More often than you think, the bottleneck is the provider CPS limit, not concurrency. With a CPS of 1 and short average calls, the CPS cannot keep 10 concurrency lines busy: buying extra concurrency lines does not speed up the campaign. Raising the CPS with your telephony provider does.

How many concurrency lines do I need for an outbound campaign?

Multiply your CPS by your number of phone lines and by your average call duration in seconds, then add the lines you reserve for inbound calls. Example: with a CPS of 1, one phone line, 8 second average calls and 1 inbound line, you need 9 concurrency lines, so the 10 included by default with CallShift are enough.

How do I calculate the velocity of an outbound campaign?

Compare two paces and keep the lower one: outbound concurrency lines times 60 divided by the average call duration in seconds, and CPS times phone lines times 60. That minimum is your real pace in calls per minute. Divide the total calls in the campaign by it to get the campaign duration.

What is a callback and why reserve inbound lines?

A callback is an inbound call from a prospect who missed your call and dials your number back. Callbacks are frequent during an outbound campaign, so it is best practice to keep a share of your concurrency lines free for inbound. The simulator reserves (1 - average pickup rate) x 10% of your lines, rounded up: 8% at the default 20% pickup rate, more when fewer people pick up, and nothing at 100% pickup since nobody calls back.

Why don't my real campaigns match the calculated results exactly?

It can be multifactorial, but very likely your orchestration platform applies its own operational margin (or latency) to process all the calls: terminating a call, checking the next contact, warming up the new agent, launching the call. A reasonable approach is to apply a 10 to 20% margin to the theoretical velocity from the simulator.