Outbound Calling Capacity Planning Worksheet
Worksheet for brokerages: size the dormant list, set the calling window, pick concurrency, and work out days to finish and the minutes budget.
- Who it is for
- Ops, retention and dialer leads at forex and CFD brokerages planning an AI or human outbound campaign on a dormant or lapsed book
- Time to complete
- 30 minutes
This worksheet turns a dormant-trader list and a deadline into a calling plan you can defend: how many concurrent lines you need, how many days the campaign takes at that concurrency, and how many minutes it will bill. You fill in your own list size, window, handle times and attempt rules; every result is arithmetic on those inputs. Done in half an hour, it answers the question ops, finance and the desk head all ask in different words: can we get through the book before the deadline, and what will it cost.
1. The list
Start from the accounts you're allowed to dial, not the accounts in the export. The difference is usually large and it drives every number below.
Accounts in the raw export
Pull from the MT4/MT5 manager or CRM using one dormancy rule (for example, no trade and no deposit for 90 days). Write the rule next to the count so nobody re-runs it differently next month.
____ accounts, rule: __________
Removed by suppression
Do-not-call flags, withdrawn consent, closed or banned accounts, restricted jurisdictions, accounts under a complaint or chargeback. Count them here and keep the suppression file with the campaign record.
____ removed
Removed for bad or missing numbers
No phone on file, numbers that fail formatting or validation, duplicates across accounts. A number that fails validation costs you an attempt slot and nothing else.
____ removed
Dialable accounts (A)
Raw export minus the two removal lines. This is the figure the rest of the worksheet uses.
A = ____ accounts
Priority order for dialing
Rank segments so the highest-value traders get called first if the campaign runs out of days: for example, last balance above a threshold, then recently dormant, then everyone else. Write the order and the count in each tier.
Tier 1 ____ / Tier 2 ____ / Tier 3 ____
2. The calling window
A calling window is the hours per day you can lawfully and sensibly dial each part of the list. Traders spread across time zones and jurisdictions mean you usually have several windows, not one.
Jurisdictions and time zones on the list
Group the dialable accounts by country and local time zone. Each group gets its own permitted hours; confirm those hours with your compliance officer, because TCPA-style time limits in the US and local rules elsewhere differ.
Groups: __________
Permitted local hours per group
Write the earliest start and latest end for each group after compliance sign-off. Then trim to the hours traders actually answer; a legal 8am start isn't a productive one for most retail traders.
Group 1 ____ to ____ / Group 2 ____ to ____
Calling hours per day (H)
Total hours per day the campaign is live across all groups. If windows for two groups don't overlap, you can run them back to back on the same lines, which stretches H without adding concurrency.
H = ____ hours per day
Calling days per week (D)
Weekday-only campaigns are the norm for trading accounts; check whether weekend dialing is permitted and worthwhile for your markets before counting those days.
D = ____ days per week
Blackout dates inside the campaign
Public holidays in each group's country, market holidays, and any internal freeze such as a platform migration. Subtract them when you calculate the calendar end date in section 5.
____ blackout days
3. Attempts and handle time
Concurrency planning depends on how long a line is busy per attempt, and most attempts don't connect. Use numbers from your last campaign; if you don't have any, run a 200-account test week and fill this section in afterwards.
Maximum attempts per lead (N)
How many times you'll try one account before retiring it. Match this to your cadence rules and consent terms; retries after a clear no or a do-not-call request are zero regardless of N.
N = ____ attempts
Minimum spacing between attempts (S)
Days between retries on the same account. This sets a floor on campaign length that no amount of concurrency can beat: the last attempt on any account can't happen before (N minus 1) times S days after the first.
S = ____ days
Expected connect rate per attempt (C)
Share of attempts answered by a person, from your previous campaign or the test week. Enter it as a decimal, so 25% becomes 0.25.
C = 0.____
Average connected handle time (Tc)
Minutes a line is busy on an answered call, from dial to hang-up, including any transfer to a human. Include the greeting and identification portion the AI or agent has to deliver on every answered call.
Tc = ____ minutes
Average unanswered attempt time (Tu)
Minutes a line is busy on a no-answer, busy or voicemail attempt. Ringing time counts. If you leave voicemails, add the message length.
Tu = ____ minutes
Weighted minutes per attempt (W)
W = (C x Tc) + ((1 minus C) x Tu). Example with your own numbers: C 0.25, Tc 4, Tu 0.5 gives (0.25 x 4) + (0.75 x 0.5) = 1.375 minutes per attempt.
W = ____ minutes
4. Concurrency
Concurrency is how many calls run at the same time. The number you can use is the lowest of several caps, not the one the vendor quotes.
Platform concurrency cap
The number of simultaneous calls your calling platform allows on your account. Ask for the figure in writing and whether it applies per campaign or across the whole account, and whether it drops during the vendor's peak hours.
____ lines
Outbound number cap
Too many attempts per hour from one caller ID gets it flagged as spam in several markets. Decide how many attempts per hour per number you'll allow, then divide the attempts you need by that to get the number of caller IDs, and confirm each one is registered and branded where the market supports it.
____ numbers x ____ attempts/hr each
Human handoff cap
If the AI transfers hot traders to account managers, concurrency is limited by how many transfers your desk can take at once. Fill in section 6 first if handoffs are part of the flow, then bring the answer back here.
____ lines (from section 6)
CRM and webhook cap
Every call ends with a disposition write, a note and possibly a task in the CRM. Check the rate limit on your CRM API or automation tool and confirm it handles the calls per minute you're about to create.
____ writes/min allowed
Working concurrency (L)
The lowest of the caps above. This is the number you enter in the campaign settings and the number the rest of the worksheet uses.
L = ____ lines
Attempts per hour at L
Attempts per hour = (L x 60) / W. With L 20 and W 1.375, that's (20 x 60) / 1.375 = about 873 attempts per hour. Real throughput runs lower because of dial pacing and gaps between calls; use the ratio of actual to theoretical attempts from your last campaign report as the pacing factor.
____ x pacing factor 0.____ = ____ attempts/hr
5. Days to complete
Now you can answer the deadline question. Two different limits apply: throughput (lines and hours) and spacing (retry rules). The campaign takes as long as the slower one.
Total attempts needed
Total attempts = A x N. This is the ceiling; accounts that convert, opt out or answer on the first try use fewer attempts, so the real count lands below it. Plan to the ceiling and treat the gap as buffer.
A ____ x N ____ = ____ attempts
Attempts per day
Planned attempts per hour (the planned figure from section 4) times H from section 2.
____ attempts/hr x H ____ = ____ per day
Throughput days
Total attempts divided by attempts per day, rounded up. This is how long the lines need to be busy.
____ / ____ = ____ days
Spacing floor
(N minus 1) x S from section 3, plus one day. If this is larger than the throughput days, adding lines won't finish the campaign sooner; only a shorter cadence will.
(N minus 1) x S + 1 = ____ days
Campaign length and end date
Take the larger of throughput days and the spacing floor, convert to calendar time using D calling days per week, add the blackout days, and write the end date. Compare it with the deadline the business set; if it misses, section 8 lists what to change.
____ calling days, ends ____/____/____
6. Human capacity
AI calling moves the bottleneck to the people who take transfers and callbacks. Size that desk here, or the campaign finishes on paper and stalls in the queue.
Connected calls per hour
Planned attempts per hour x C. This is how many traders are talking to the AI in any given hour.
____ x C ____ = ____ connects/hr
Transfer rate to a human (R)
Share of connected calls that end in a live transfer to an account manager, for deposit help, KYC questions or an explicit request. Use last campaign's rate or the test week.
R = 0.____
Transfers per hour
Connects per hour x R. Peak hours run above the average, so check the busiest window from your last campaign and plan for that, not the mean.
____ x R = ____ transfers/hr
Agents needed on the desk
Transfers per hour divided by transfers one agent can handle per hour (60 divided by the agent's average minutes per transfer, including wrap-up). Round up, then add one for breaks and overruns.
____ / ____ = ____ agents
Callback queue capacity
Traders who ask for a call at a specific time land in a queue instead of a transfer. Estimate callbacks per day (connects x callback rate) and confirm the desk can clear them inside 24 hours, or the AI's promise breaks.
____ callbacks/day, cleared by ____
7. Minutes budget
Minutes are the cost driver on a per-minute platform, so budget them the same way you budgeted days: from attempts and weighted handle time.
Total minutes
Total attempts x W. Using the ceiling from section 5 gives you the maximum bill; the actual figure comes in lower for the same reason the attempt count does.
____ attempts x W ____ = ____ minutes
Cost at your per-minute rate
Total minutes x rate. Topcalls bills $0.35 per minute, by the second and all-inclusive, so there's no telephony, transcription or seat line to add; on another platform, add those lines here before comparing.
____ min x $____ = $____
Cost per dialable account
Campaign cost divided by A. This is the number to put next to the value of one reactivated trader from your finance team.
$____ / A = $____ per account
Weekly burn and stop line
Cost divided by campaign weeks gives the weekly burn. Set a stop line: the week-2 reactivation count below which you pause and revisit the list, script or cadence rather than spend the rest of the budget.
$____ per week, stop if < ____ reactivations by week 2
8. The plan on one page
Copy your results into this table. If the end date misses the deadline, the right-hand column shows which lever moves it.
| Result | Your number | Lever if it misses |
|---|---|---|
| Dialable accounts (A) | ____ | Tighter dormancy rule or tiered launch: run tier 1 first |
| Working concurrency (L) | ____ lines | Raise the lowest cap: more numbers, more agents, higher platform limit |
| Planned attempts per day | ____ | Longer window: add non-overlapping time-zone groups |
| Throughput days | ____ | More lines or fewer attempts per lead |
| Spacing floor | ____ days | Shorter retry spacing, within cadence and consent rules |
| Campaign end date | ____/____/____ | Whichever of the two rows above is larger |
| Agents needed at peak | ____ | Lower transfer rate: let the AI handle more, or schedule callbacks |
| Total minutes | ____ | Shorter unanswered attempts: cut ring time, skip voicemails |
| Campaign cost | $____ | Fewer attempts per lead, or a smaller tier-1 list |
How to use this
- 1
Fill sections 1 to 3 from your CRM export, your compliance sign-off and your last campaign's report. Don't guess the connect rate; run a test week if you have no history.
- 2
Work through sections 4 and 5 in order. If the spacing floor is larger than the throughput days, stop adding lines and revisit the cadence instead.
- 3
Size the human desk in section 6 before you finalise concurrency; a transfer queue that backs up wastes the minutes you just budgeted.
- 4
Complete the table in section 8 and take it to the deadline conversation. Every row has a lever, so the discussion is about which one to pull.
- 5
Re-run the worksheet after week 1 with the measured connect rate, handle times and transfer rate. The plan usually shifts by a few days either way.
Next step
We work through this worksheet with your list size and window, set a concurrency figure for your account, and map the CRM disposition flow for a pilot.
Book a 30-minute capacity callRead next
Related resources
Forex Reactivation Call Cadence Template
Call cadence template for dormant trader reactivation: calling windows by region, a four-attempt schedule, retry rules per outcome and stop conditions.
Trader Reactivation Pilot Scoping Worksheet
Worksheet for brokerages: scope a low-risk AI calling pilot with list size, segments, markets, success criteria, a $0.35/min budget and a go/no-go rule.
AI Calling Campaign Monitoring Checklist
Real-time checklist for watching a live AI calling campaign at a brokerage: connect rate, drops, transfers, sentiment flags, cost pacing and when to stop.