Every vendor demo makes the same promise: deploy a chatbot, deflect 60% of tickets, watch your support costs collapse. The demo always works. Your production traffic is messier.
After building these systems for B2B clients, here's the pattern that actually holds: chatbots save money on high-volume, low-variance interactions and lose money on everything else. The trick is knowing which bucket your use case lands in before you sign a contract.
Where chatbots actually cut costs
The economics are simple. A chatbot pays off when the cost to answer a query manually is high and the query repeats often. Multiply frequency by human minutes saved, subtract the build and running cost, and you have your answer.
Three categories consistently win:
1. Repetitive FAQ deflection
Order status, business hours, return policy, password resets. These are deterministic, high-frequency, and low-risk if the bot occasionally gets one slightly wrong. If 40% of your inbound is "where's my order," you're paying humans to read tracking numbers out loud.
2. Lead qualification before a human touches it
Instead of a rep spending 10 minutes on a call to learn the prospect has no budget, the bot collects budget, team size, and use case first. Your sales team only touches qualified leads.
3. After-hours coverage
A chatbot doesn't get overtime. If you're losing leads at 11pm because nobody's staffing chat, even a basic bot that captures the lead and books a callback recovers revenue you were throwing away.
Where they quietly burn money
Complex, high-stakes, or emotional queries
Billing disputes, cancellations, anything involving an angry customer. A bot that loops a frustrated user through "I didn't quite get that" three times doesn't save a ticket - it creates a worse one plus the human ticket you were going to get anyway. You paid twice.
Low-volume, high-variance work
If you get 15 support messages a day and they're all different, there's no repeating pattern to automate. You'll spend more building and maintaining the bot than you'd ever spend on a part-time human.
"Set it and forget it" fantasies
Products change. Prices change. A chatbot with a stale knowledge base confidently gives wrong answers, which is worse than no answer. Budget for ongoing maintenance or don't bother.
The ROI formula, in code
Don't guess. Model it. Here's the calculation I run before recommending a build:
def chatbot_roi(
monthly_conversations,
deflection_rate, # realistic: 0.3-0.5, not vendor's 0.7
minutes_per_ticket,
hourly_support_cost,
monthly_platform_cost,
build_cost,
maintenance_hours_month,
dev_hourly_cost,
):
deflected = monthly_conversations * deflection_rate
minutes_saved = deflected * minutes_per_ticket
labor_saved = (minutes_saved / 60) * hourly_support_cost
maintenance_cost = maintenance_hours_month * dev_hourly_cost
monthly_cost = monthly_platform_cost + maintenance_cost
monthly_net = labor_saved - monthly_cost
payback_months = build_cost / monthly_net if monthly_net > 0 else float('inf')
return {
"monthly_net_savings": round(monthly_net, 2),
"payback_months": round(payback_months, 1),
"annual_return": round(monthly_net * 12 - build_cost, 2),
}
print(chatbot_roi(
monthly_conversations=2000,
deflection_rate=0.4,
minutes_per_ticket=6,
hourly_support_cost=25,
monthly_platform_cost=150,
build_cost=4000,
maintenance_hours_month=4,
dev_hourly_cost=80,
))
# {'monthly_net_savings': 1830.0, 'payback_months': 2.2, 'annual_return': 17960.0}
Change deflection_rate to the vendor's promised 0.7 and payback drops to under two months. Change it to a pessimistic 0.2 and the whole thing can go underwater. That single variable decides everything - so pressure-test it.
How to get the deflection rate right
Stop trusting the slide deck. Pull 200 of your actual chat transcripts and tag each one:
- Automatable now - clear, repetitive, low-risk
- Automatable with effort - needs a data lookup or integration
- Human only - complex, emotional, or one-off
Your realistic deflection rate is roughly the first bucket, maybe half the second. If "human only" is 60% of your volume, a chatbot is the wrong first investment - fix your knowledge base or hire.
The build decision
Once the math clears, keep the first version narrow. Ship a bot that handles your top three query types well, with a clean handoff to a human the moment confidence drops. Nothing kills adoption faster than a bot that traps users.
Instrument everything: containment rate, escalation rate, and CSAT on bot-handled conversations. If containment is high but CSAT tanks, you're deflecting tickets by frustrating people into giving up. That's not savings - that's churn on a delay.
A chatbot isn't a support strategy. It's a tool that's brilliant at a specific job and terrible outside it. Run the numbers, scope it tight, and measure what happens after launch. That's the difference between an asset and a monthly subscription you forgot to cancel.
Originally published at getmichaelai.com
Top comments (0)