SEIZE/INIT Anti-Starvation Control for Blended Outbound
The choice ExpertFlow made
Once inbound and outbound share one agent pool (see [[axiom-00015]]), ExpertFlow
governs the contention between them with two explicit, admin-tunable controls
rather than a fixed priority order. The SEIZE node reserves agents (or
communication ports) for an outbound campaign out of the shared pool under a
configurable seizure rule — evaluated against real-time parameters such as
average inbound wait time, number of available agents, and how many agents are
already seized for the campaign — so outbound takes a deterministic share of
capacity instead of whatever inbound happens to leave idle. The INIT node
then forces a formula-defined volume of outbound dials into that same pool,
consuming real-time parameters (expected inbound wait time, number of available
agents, queue depth) to compute pacing dynamically rather than locking in a
static ratio. Its value selects the dialing mode at the same time (INIT = 1 for
preview/progressive, INIT = N × available_agents for power, an algorithm's
output for predictive). The design intent is a guarantee: outbound is never
systematically starved by inbound, an administrator can compel a known number
of outbound interactions, and the pacing self-adjusts as inbound pressure
changes — all without standing up a separate outbound agent group.
The alternative (who made it and why it exists)
Blend two traffic types onto one pool naively and you are forced onto one of two horns. Starvation: give inbound absolute priority and outbound becomes a best-effort residual — when inbound is busy, no outbound calls go out at all, so a contractual collections or renewal-reminder quota silently misses, especially in border conditions where a spike lasts just long enough to stall the whole outbound run. Partition: protect outbound by carving out a dedicated outbound agent group — which shrinks the pooled Erlang C benefit that blending exists to capture and degrades the now-smaller inbound pool's service level. Most stacks never offer a tunable middle path because their outbound is architecturally a separate subsystem: campaign-and-compliance layers (Acqueon, acquired by Five9; NobelBiz) arbitrate across a distinct dialer they do not own; standalone dialers (Dialfire) have no inbound to contend with in the first place; and broad CCaaS suites (Five9, Avaya, Zoom, 8x8, Cisco, …) treat outbound as one module among hundreds, typically protected — when it is protected at all — by dedicating agents to it. Where they do offer pacing, it is a static configured ratio (e.g., "2 calls per agent") that cannot adapt to fluctuating real-time conditions. None of these expose a dynamic seizure-priority-plus-volume formula operating over one pool, because none of them route outbound through the same engine as inbound.
The scenario where our choice wins
A blended contact centre carrying a hard outbound commitment alongside a protected inbound SLA: collections that must place a contracted number of calls per day, appointment or renewal reminders that must go out inside a regulatory or business window, overdue-payment outreach triggered by account state. Inbound demand is spiky; the operation must still hit the outbound quota on the busy days, not only the quiet ones. With SEIZE priority plus an INIT volume formula the administrator dials in exactly the guaranteed outbound share over the shared pool — honouring the quota on peak days without ever staffing a second, dedicated outbound team. A starve-or-partition design cannot do both: it either misses the outbound quota when inbound spikes, or it permanently splits the workforce and forfeits the pooling economy (and the inbound SLA that the larger pool was holding).
The one-sentence axiom claim
"ExpertFlow governs inbound-versus-outbound contention on its shared agent pool with two explicit, real-time controls — a SEIZE node that reserves agents for outbound under admin-set priority evaluated against live queue depth and wait time, and an INIT node whose formula computes pacing dynamically from the same real-time parameters (expected wait time, available agents, queue depth) rather than locking in a static ratio — so a blended centre guarantees a contractual outbound quota and a protected inbound SLA without ever carving out a separate outbound team, escaping the usual dilemma in which outbound is either starved as a low-priority residual of inbound or protected only by partitioning the workforce (which forfeits the Erlang C pooling economy blending exists to capture); unlike campaign-compliance layers (Acqueon, NobelBiz) that arbitrate across a separate dialer with static ratios, standalone dialers (Dialfire) with no inbound to contend with, or broad CCaaS suites (Five9, Avaya, Zoom, 8x8, Cisco) where outbound is a separate module protected by dedicated agents and fixed pacing — which means ExpertFlow holds both the inbound SLA and the outbound quota at one agent headcount that any partition-or-starve architecture cannot match."
Competitors for the relevant solution pattern(s)
| Competitor | Their approach | Where our axiom creates an edge |
|---|---|---|
| Acqueon (acquired by Five9) | Campaign + TCPA/TPS list-management/compliance layer running on top of a separate dialer; contention is arbitrated across two systems, not one pool; pacing is static or dialer-native | Cannot set a dynamic seizure-priority + volume formula over one shared pool; protecting outbound volume means dedicating dialer agents — a partition that forfeits pooling |
| NobelBiz | Carrier-grade outbound-voice + OMNI+ campaign/compliance, a telecom stack distinct from inbound routing | Same cross-system arbitration; no shared-pool SEIZE/INIT control, so outbound is either residual or separately staffed |
| Dialfire | Standalone cloud predictive dialer, outbound only | No inbound to contend with, so the starvation dilemma is moot — but equally there is no blended pool to govern, so the anti-starvation guarantee + pooling economy are both structurally unavailable |
| Broad CCaaS suites (Five9, Avaya, Zoom, 8x8, Cisco, …) | Outbound is one module among hundreds — usually a separate dialer bolt-on with its own (often dedicated) agents; pacing is typically a static configured ratio | No tunable seizure priority + INIT volume formula over one pool; outbound is protected by partition (forfeiting Erlang C) or left as a low-priority residual (starvation). SEIZE/INIT gives the admin both guarantees at once with dynamic, real-time adjustment |