What a voice agent changes for the business
In this article
- Follow the outcome chain
- Calculate the complete per-minute cost
- A small, inspectable calculator
- Native-audio costs need their own meter
- Self-hosting changes the denominator
- Include escalation and rework
- The outcome depends on the workflow
- Design an impact experiment
- Model the escalation rate before optimizing pennies
- Count the people who never reached a conversation
- A simple experiment, with its limits
- Separate incremental value from attributed revenue
- What makes the case study compelling?
- A credible impact statement for this portfolio
- Contribution
The technical achievement is an agent that can listen, respond, use tools and stay reliable across concurrent calls. The business achievement is a customer need resolved correctly at an acceptable cost.
Those achievements are connected, but they are not interchangeable. A hundred concurrent calls can create a hundred unresolved complaints. A lower average handling time can mean efficient resolution or customers hanging up.
Follow the outcome chain
For outbound qualification:
eligible leads → attempted calls → connected calls
→ qualified conversations → accepted next steps
→ attended appointments → converted customers
For support:
eligible requests → answered calls → verified resolutions
→ resolutions without repeat contact
→ customer effort and satisfaction
Every percentage needs a denominator. “Conversion improved” is incomplete without identifying which step changed, the time period, the baseline and whether the customer mix changed.
Keep operational capacity separate from outcome improvement. Delivering forty simultaneous calls demonstrates parallel operation. It does not mean forty human jobs were replaced: utilization, call mix, escalation and staffing differ.
Calculate the complete per-minute cost
A cascaded system can incur:
telephony
+ recognition
+ LLM input/output and cache usage
+ synthesized speech
+ call-worker compute
+ warm GPU capacity, if self-hosted
+ storage, network, monitoring and background work
+ human fallback and rework
The following is an illustrative USD rate card, not current vendor pricing:
| Component | Assumption |
|---|---|
| Telephony | $0.015 per connected call minute |
| STT | $0.008 per connected call minute |
| TTS | $0.025 per 1,000 generated characters |
| LLM input | $0.50 per million billed tokens |
| LLM output | $2.00 per million tokens |
| Application compute, storage and monitoring | $0.006 per call minute |
Assume a four-minute call with 2,400 synthesized characters, 8,000 billed input tokens and 320 output tokens across all requests:
| Component | Calculation | Cost |
|---|---|---|
| Telephony | 4 × 0.015 | $0.06000 |
| STT | 4 × 0.008 | $0.03200 |
| TTS | 2.4 × 0.025 | $0.06000 |
| LLM input | 8,000 / 1,000,000 × 0.50 | $0.00400 |
| LLM output | 320 / 1,000,000 × 2.00 | $0.00064 |
| Application allocation | 4 × 0.006 | $0.02400 |
| Total | $0.18064 | |
| Per connected minute | 0.18064 / 4 | $0.04516 |
The usage assumptions matter as much as the rates. STT may be billed for streamed duration rather than only speech; LLM input includes repeated context; TTS accounting depends on its contract. Replace each assumption with actual meter data before making a customer claim.
A small, inspectable calculator
def cascade_cost(minutes, tts_chars, input_tokens, output_tokens):
return (
minutes * 0.015
+ minutes * 0.008
+ tts_chars / 1000 * 0.025
+ input_tokens / 1_000_000 * 0.50
+ output_tokens / 1_000_000 * 2.00
+ minutes * 0.006
)
cost = cascade_cost(4, 2400, 8000, 320)
assert abs(cost - 0.18064) < 1e-9
These are the same illustrative rates as the table. The example deliberately excludes revenue and savings so the arithmetic can be reviewed independently.
Native-audio costs need their own meter
Do not assume the cascade's character and text-token quantities apply to native audio. Count the actual audio/text tokens, cached input and any auxiliary transcription for the chosen API. If an API bills by active session duration, silence and backend waiting may also be relevant.
Compare complete calls at the same task-success standard. A more expensive minute can produce a cheaper resolved issue if it reduces repetition or failed handoffs. A low headline rate can become expensive when the agent needs twice as many turns.
Self-hosting changes the denominator
For a hypothetical warm GPU costing $1 per hour and safely serving ten active calls, fully utilized GPU compute is:
$1 / (60 × 10) = $0.00167 per call minute
At only two average active calls, it becomes $0.00833. Two warm replicas with only two calls in total cost $0.01667 per call minute. These are illustrative GPU rates and capacities, excluding CPU nodes, redundancy overhead, networking and engineering.
This is why a self-hosted model can be attractive at steady scale and expensive at low utilization. The break-even calculation must use the measured quality and serving capacity of the actual model.
Include escalation and rework
Suppose 1,000 four-minute calls cost $180.64 under the illustrative cascade. Suppose 700 resolve automatically and 300 require human follow-up costing $2.60 each. Add $100 of allocated monthly support and maintenance:
total = $180.64 + (300 × $2.60) + $100
= $1,060.64
If 950 issues are eventually resolved correctly, cost per verified resolution is $1.1165. If a comparable human-only cohort costs $2,600 and also resolves 950 issues, its cost per resolution is $2.7368.
The implied saving is 59.2% under these invented assumptions. Changing escalation rate, human rework cost or resolution quality can remove much of that apparent benefit.
Run sensitivity analysis before choosing architecture. The most important uncertain input may be repeat-contact rate rather than the LLM's token price.
The outcome depends on the workflow
For the client, the early workflows covered insurance enquiries, healthcare appointments and education follow-up. For Zoice, the ClearTax pilot put the emphasis on understanding the customer's tax-service requirement and arranging the right next conversation. Each workflow needs a different definition of success.
Zoice's customer stories describe the product's broader calling use cases. When I review a particular campaign, I come back to its own cohort: who was eligible, what the conversation was meant to achieve and what happened afterwards.
The client subsequently raised seed funding. That is part of the company journey after the early platform delivery. For the engineering case study, the useful detail is how the calling capability was built and what it enabled the team to do.
Design an impact experiment
Compare matched or randomized eligible cohorts, stratified by language, intent, customer segment and time of day. Define exclusions before seeing the results.
Measure connection and completion rates, repeat contacts over a declared period, escalations, policy errors, customer effort, cost and relevant downstream outcomes. Keep the reporting window long enough for delayed outcomes such as appointment attendance.
For a sales pilot, an agent that produces more “qualified” leads may simply be using a looser qualification rule. Check whether the next team accepts the leads and whether appointments are attended.
For support, an agent that avoids escalation may be refusing to transfer frustrated callers. Evaluate appropriate escalation, not merely low escalation.
Model the escalation rate before optimizing pennies
Using the same illustrative 1,000-call cohort, the automated call cost is $180.64 and fixed support allocation is $100. Human follow-up costs $2.60 per escalated call. Hold eventual verified resolutions at 950 only for this sensitivity calculation:
| Escalation rate | Human follow-up cost | Total cost | Cost / verified resolution |
|---|---|---|---|
| 10% | $260 | $540.64 | $0.5691 |
| 30% | $780 | $1,060.64 | $1.1165 |
| 50% | $1,300 | $1,580.64 | $1.6638 |
| 70% | $1,820 | $2,100.64 | $2.2112 |
The assumption of unchanged resolution quality is deliberately restrictive. In reality, appropriate escalation may improve resolution, while unnecessary escalation adds work. Collect the joint outcome rather than declaring the smallest escalation rate the best result.
A ten-percentage-point reduction in unnecessary escalation saves $260 in this hypothetical cohort. Halving the $4.64 total LLM token cost saves $2.32. Both matter at scale, but this comparison shows why workflow quality can dominate a small token-price improvement.
This decimal calculator reproduces the sensitivity table:
from decimal import Decimal
def cohort_cost(calls, escalations, verified_resolutions):
if not (0 <= escalations <= calls and 0 < verified_resolutions <= calls):
raise ValueError("Invalid cohort counts")
automated = Decimal(calls) * Decimal("0.18064")
fallback = Decimal(escalations) * Decimal("2.60")
total = automated + fallback + Decimal("100")
return total, total / Decimal(verified_resolutions)
total, per_resolution = cohort_cost(1000, 300, 950)
assert total == Decimal("1060.64000")
This is a planning model in USD, not a financial statement. It excludes any item not already represented in the stated assumptions. Real billing must reconcile meter units, minimum charges, unused commitments, taxes where applicable and period allocation.

Figure 12. Illustrative sensitivity. At escalation rates of 10, 30, 50 and 70 percent, illustrative total cohort costs are 540.64, 1060.64, 1580.64 and 2100.64 dollars, holding verified resolutions at 950. Scalable SVG.
Count the people who never reached a conversation
An outbound dashboard can look excellent if it reports only answered calls. Suppose one cohort starts with 1,000 eligible leads, reaches 400 people and obtains 80 accepted appointments. That is 20% of reached people and 8% of eligible leads. Both denominators describe something useful, but they answer different questions.
Track attempted, connected, eligible-for-workflow, completed and downstream-verified counts separately. If the agent changes dialing time or retries, it may change who answers. A before/after comparison can then mix better reachability with better conversation quality.
For support, record the difference between a call ending and a problem being resolved. A caller who hangs up during a denial should not become “contained successfully” simply because no human transfer occurred. Use a declared repeat-contact window and match follow-ups to the original issue where possible.
A simple experiment, with its limits
Imagine random assignment of 1,000 eligible leads to each of two approaches. The existing approach produces 80 accepted appointments and the agent approach produces 100. This invented example yields 8% versus 10%: a two-percentage-point absolute increase and a 25% relative increase.
Using an elementary independent-proportions approximation, the standard error of the difference is about 1.28 percentage points and a 95% interval is roughly −0.5 to +4.5 percentage points. The observed improvement would therefore remain uncertain at that sample size. This approximation is instructional; repeated customers, clustered campaigns or nonrandom assignment require a more suitable analysis.
An honest report includes the absolute difference and uncertainty. “25% improvement” alone is much easier to overinterpret.
Appointments also need an observation window. If the agent cohort was measured after one day and the comparison after a week, attendance is not comparable. Freeze cohort membership, define when outcomes mature, and retain unresolved outcomes rather than treating missing data as success.
Separate incremental value from attributed revenue
For sales, estimate incremental accepted opportunities, conversion and contribution margin—not the gross value of every sale after an AI call. Some customers would have purchased through the existing process.
For operations, distinguish theoretical capacity released from cash cost removed. Handling forty calls concurrently may let a team cover peaks or spend more time on complex cases. Unless staffing or outsourcing cost actually changes, it should not automatically become a payroll saving in the case study.
A useful impact record contains:
report_kind: proposed_client_impact_record
workflow: callback qualification
cohort_start: null
cohort_end: null
eligible_leads: null
connected_calls: null
accepted_next_steps: null
attended_appointments: null
verified_resolutions: null
repeat_contact_window_days: null
fully_allocated_cost_usd: null
comparison_method: null
customer_approved_publication: null
Fill the record from the campaign and operations systems for a specific reporting window. This keeps the outcome, denominator and cost allocation attached to the same cohort.
What makes the case study compelling?
Show the business constraint, the architecture it forced, a failure that changed the design, and the evidence of the resulting capability. For these engagements, that includes client discovery, telephony integration, model interoperability, asynchronous orchestration and the delivery of forty concurrent calls.
Then show the limits of attribution. An early product can support a company's progress without being the sole reason it raised funding. A pilot can demonstrate customer demand without proving later production economics. These distinctions make the technical achievements easier to trust.
A credible impact statement for this portfolio
We connected customer requirements with production calling systems across the client platform and Zoice. The work spanned Bolna and Pipecat, model-provider integration, configurable workflows and Kubernetes deployment. In early 2025, the client implementation achieved approximately 1.1-second response latency, delivered 40 concurrent calls, and reached 100 concurrent calls in testing.
For the business review, I connect those engineering measures to the workflow: qualified leads accepted, appointments booked and attended, issues resolved, repeat contacts and fully allocated cost. That is how capacity turns into a business decision.
Contribution
My contribution covered sales discovery, translating requirements into concrete workflows, architecture and hands-on development within a three-person team. I worked with the customer on the problem definition and with the team on the telephony, model and business-system integration needed to deliver it.