- Start with the one question finance will ask
- Build an incontrovertible baseline: compute true cost per ticket
- Model ticket deflection by issue, channel, and persona
- Translate deflection into an auditable ROI your CFO will accept
- How to present the case and secure stakeholder buy-in
- Practical tools: templates, checklist, and model snippets
Repetitive, low-value tickets are the single largest invisible drain on support budgets and on agent focus. Turning support automation into an accountable, fundable investment requires a conservative, auditable model that ties a defensible ticket deflection forecast to real dollars saved—and to the capacity you can repurpose into higher-value work.
The challenge you face is familiarity disguised as progress: you know automation is transformational, but the board sees "automation" as a technical experiment unless you show credible savings. Symptoms you recognise: high volume of repetitive issues (password resets, order status, billing), large variance in AHT across agents, frequent SLA scrambles, and a disconnect between the automation team's optimism and finance’s demand for auditable numbers. Without a disciplined approach to objectives, baseline data, conservative deflection rates, and an executable pilot plan, automation becomes a political liability rather than an automation investment that delivers measurable cost savings support.
Start with the one question finance will ask
Finance will boil your case down to one line: what is the payback, and how defensible are the assumptions? Anchor your whole brief to that.
- Define one primary objective (choose one): reduce support OPEX, defer headcount growth, or increase capacity for revenue-impacting work. Secondary objectives: improve
CSAT, reduceAHT, or reduce SLA breaches. - Key metrics to track and present:
-
Tickets per month (
tickets_per_month) -
Cost per ticket (
cost_per_ticket) -
Projected deflection (tickets/month) — your
ticket_deflection_forecast - Monthly net savings and payback months
-
Secondary KPIs:
first_response_time,CSAT, agent attrition rate
-
Tickets per month (
- Stakeholder alignment shorthand:
- CFO → payback, NPV, risk
- Head of Support → FTE capacity, SLA, CSAT
- Product → quality of resolution, feedback capture
- Security/Legal → data handling, compliance
Callout: Start every executive slide with the financial headline: "$X saved, Y months payback, Z% risk." That frames the conversation and keeps attention on measurable outcomes. Use Forrester’s TEI approach to structure benefits as direct and indirect categories when you document assumptions.
Build an incontrovertible baseline: compute true cost per ticket
Everything that follows depends on a defensible baseline. Your model lives or dies on the credibility of cost_per_ticket.
Steps to build it:
- Extract ticket counts and
AHTby issue type and channel for the last 6–12 months from your ticketing system. - Compute a fully burdened hourly rate for support staff:
fully_burdened_hourly_rate = (base_salary + benefits + overhead) / productive_hours_per_year
- Convert
AHTto cost:cost_handling = (AHT_minutes / 60) * fully_burdened_hourly_rate
- Add per-ticket fixed overhead (platform costs, QA, escalation handling):
cost_per_ticket = cost_handling + platform_overhead_per_ticket + average_escalation_cost
Sample baseline (example numbers):
| Metric | Baseline (example) |
|---|---|
| Tickets per month | 50,000 |
| Average Handle Time (minutes) | 12 |
| Fully burdened hourly rate | $40 |
| Handling cost per ticket | $8.00 |
| Platform & overhead per ticket | $1.50 |
| Total cost per ticket | $9.50 |
Practical spreadsheet formula (Excel style):
= (A2/60) * B2 + C2
Where A2 = AHT_minutes, B2 = FullyBurdenedHourlyRate, C2 = PlatformOverheadPerTicket.
Python snippet to compute cost per ticket (example):
aht_minutes = 12
fully_burdened_hourly_rate = 40
platform_overhead = 1.5
cost_per_ticket = (aht_minutes / 60) * fully_burdened_hourly_rate + platform_overhead
print(round(cost_per_ticket, 2)) # 9.5
Data quality notes:
- Use median
AHTper issue if mean is skewed by outliers. - Remove bot-closed tickets or clearly non-human interactions from baseline.
- Cross-check agent time tracking and WFM reports against ticket-level handling times to catch hidden multitasking. Vendor benchmarks and public support reports can help sanity-check your categories.
Model ticket deflection by issue, channel, and persona
Deflection is not uniform—model by segment.
- Segment tickets into the top issue types (Pareto: top 20% of issue types that make up ~80% of volume).
- For each issue type record:
-
tickets_i: historical monthly volume -
addressable_i: percent that could be resolved by automation (technical feasibility) -
adoption_i: percent of addressable users who will use the automation flow (behavioral) -
retention_i: percent of automated interactions that resolve the issue without agent fallback (quality)
-
- Compute conservative deflection:
deflection_rate_i = addressable_i * adoption_i * retention_ideflected_tickets_i = tickets_i * deflection_rate_i
- Sum across all issue types to produce the
ticket_deflection_forecast.
Example table (sample conservative inputs):
| Issue type | Tickets/mo | Addressable | Adoption | Retention | Deflection rate | Deflected tickets/mo |
|---|---|---|---|---|---|---|
| Password reset | 12,000 | 95% | 60% | 95% | 54.2% | 6,504 |
| Order status | 8,000 | 80% | 45% | 90% | 32.4% | 2,592 |
| Billing question | 6,000 | 60% | 30% | 85% | 15.3% | 918 |
| Feature how-to | 4,000 | 40% | 25% | 75% | 7.5% | 300 |
| Bug reports (escalation) | 2,000 | 10% | 10% | 40% | 0.4% | 8 |
| Total | 32,000 | 10,322 |
Key modelling guardrails:
- Use conservative starting values for
adoption_iandretention_i(e.g., pick the 25th percentile of comparable past digital adoption metrics). - Model channel differences: web/self-service widgets typically produce higher conversion than email; voice deflection is hardest.
- Include an induced demand sensitivity: automation can lower friction and grow volumes (apply a +0–15% volume uplift scenario to be conservative).
- Run low/likely/high scenarios (best practice: base case = conservative, upside = realistic, downside = conservative-worse).
Practical code example for the forecast:
issues = {
"password_reset": {"tickets":12000, "addressable":0.95, "adoption":0.60, "retention":0.95},
"order_status": {"tickets":8000, "addressable":0.80, "adoption":0.45, "retention":0.90},
}
def compute_deflection(issues):
total = 0
for v in issues.values():
rate = v["addressable"] * v["adoption"] * v["retention"]
total += v["tickets"] * rate
return total
print(compute_deflection(issues))
Benchmarks and vendor reports can help sanity-check which issue types are typically highly addressable via automation.
Important: Do not present a single point estimate. Present a conservative base case plus a sensitivity range; finance will focus on the downside and ask for linkable evidence to back each assumption.
Translate deflection into an auditable ROI your CFO will accept
Convert deflected_tickets into dollars, then model costs and timeline.
Basic monthly savings:
monthly_savings = deflected_tickets_total * cost_per_ticket
Monthly net benefit:
-
monthly_net = monthly_savings - ongoing_automation_costs(whereongoing_automation_costsincludes licenses, hosting, monitoring, plus a monthly amortized share of implementation)
Payback months (simple):
-
payback_months = implementation_cost / monthly_net(use base case monthly_net)
12–36 month projection:
- Build a table with columns: Month, Projected Deflected Tickets, Monthly Savings, Monthly Costs, Cumulative Net Savings.
- Include a simple NPV calculation if finance requests discounting.
Sample 12-month snippet (illustrative):
| Month | Deflected tickets | Monthly savings (@ $9.50) | Monthly automation cost | Net monthly | Cumulative net |
|---|---|---|---|---|---|
| 1 | 1,000 | $9,500 | $15,000 | -$5,500 | -$5,500 |
| 3 | 3,500 | $33,250 | $10,000 | $23,250 | $10,750 |
| 6 | 6,000 | $57,000 | $10,000 | $47,000 | $150,250 |
| 12 | 10,000 | $95,000 | $10,000 | $85,000 | $905,750 |
Model transparency checklist for CFO audits:
- Attach raw exports (ticket counts by category and AHT) that feed each input cell.
- Version every assumption and label its source (data extract, survey, pilot).
- Include a sensitivity table showing payback under worst-case assumptions.
Valuing indirect benefits:
- Agent retention: compute avoided hiring/recruiting costs if FTE attrition reduces by X% because agents move to higher-value work.
- SLA/CSAT: tie incremental CSAT improvements to revenue impact or churn reduction when defensible; use conservative estimates and referenceable studies when possible. Use Forrester TEI to categorize benefits and risks. McKinsey coverage on automation economics can help explain secondary capacity benefits.
Excel payback formula example:
=IF(B2-C2<=0, "No payback", D2/(B2-C2))
Where B2 = monthly_savings, C2 = monthly_costs, D2 = implementation_cost.
How to present the case and secure stakeholder buy-in
Presentation structure that wins decisions:
- Executive one-liner + headline financials (one slide): “$X saved, Y months payback, Z% downside risk.”
- Baseline slide (one table) showing
tickets_per_month,AHT,cost_per_ticketwith raw data attachments. - Deflection forecast slide (three-scenario table: conservative / base / upside) with a short bullets explanation of assumptions.
- ROI and payback slide with cumulative net and sensitivity analysis.
- Pilot plan slide: scope (issue type), timeline (0–90 days), measurement (control vs treatment), and success gates.
- Risks & mitigations slide: accuracy of
AHT, induced demand, data/privacy dependencies. - Ask slide: funding request (amount, timeline), owners, and decision points.
Stakeholder language (short):
- CFO → “Here is the conservative payback, the audit trail of assumptions, and a downside case showing no less than X% recovery.”
- Head of Support → “We’ll free capacity equivalent to Y FTE by month 6 and reduce SLA breaches by Z%.”
- Product/Engineering → “We’ll instrument automated flows to capture structured user intent for product backlog.”
Automation Opportunity Brief (compact example)
| Field | Example |
|---|---|
| Issue summary | High-volume password resets and order-status queries create 64% of low-value tickets. |
| Data snapshot | 50k tickets/mo; avg AHT 12 min; cost per ticket $9.50; password resets = 24% of volume. |
| Proposed solution | Implement a web self-service flow + chat widget for password resets and order tracking. |
| Impact forecast (base case) | Deflect 10,300 tickets/mo → $97,850/month savings → 6 month payback on $350k implementation. |
Presentation tips that pass finance review:
- Attach raw data CSVs and a short appendix with the SQL queries or report names used.
- Show the pilot's success criteria (e.g., 40% deflection for password flow, retention > 85%).
- Commit to a measurement cadence and public dashboard that shows actuals versus forecast.
Practical tools: templates, checklist, and model snippets
Checklist — data you must collect before building the model:
- Ticket exports:
ticket_id,created_at,closed_at,issue_type,channel,resolution_code - Agent time reports or
AHTper ticket by issue - Headcount costs: salaries, benefits, overhead allocation
- Current tooling and license costs, plus estimated integration hours
- Historical CSAT by issue (if available)
Essential SQL to get volume and AHT by issue:
SELECT issue_type,
COUNT(*) as tickets,
AVG(EXTRACT(EPOCH FROM (closed_at - created_at))/60) as avg_handle_time_minutes
FROM tickets
WHERE created_at >= '2025-01-01'
GROUP BY issue_type
ORDER BY tickets DESC;
Deflection + ROI calculator (Python example skeleton):
# inputs: issues dict as in previous example, cost_per_ticket, monthly_automation_costs, implementation_cost
def compute_roi(issues, cost_per_ticket, monthly_costs, implementation_cost, months=12):
monthly_savings_series = []
for m in range(1, months+1):
# simple growth model: adoption ramps over first 3 months
ramp = min(1, m/3)
deflected = sum(v['tickets'] * v['addressable'] * v['adoption'] * v['retention'] * ramp for v in issues.values())
monthly_savings = deflected * cost_per_ticket
monthly_savings_series.append(monthly_savings - monthly_costs)
cumulative = [sum(monthly_savings_series[:i]) - implementation_cost for i in range(1, months+1)]
return monthly_savings_series, cumulative
Deliverable templates to attach to your deck:
- One-page Automation Opportunity Brief (use the table above).
- 12–36 month ROI workbook with base/low/high scenarios and an assumptions tab.
- SQL and dashboard exports used to create the baseline.
Quick pilot checklist (90-day):
- Select single high-volume, high-addressability flow (example: password reset).
- Build minimal automation and analytics instrumentation.
- Run live A/B or phased rollout with control population.
- Measure deflection, retention, and downstream re-open rates weekly.
- Report results with raw data to finance for validation.
Sources
Forrester — Total Economic Impact (TEI) methodology - Reference for structuring direct and indirect benefits and describing an auditable benefits framework for automation investments.
Zendesk — Benchmarks & resources - Public benchmarking and support analytics resources used to validate ticket segmentation, common issue types, and channel behavior assumptions.
McKinsey — Automation and digitization insights - Strategic context on how automation creates capacity and the typical considerations when translating operational improvements into business value.
Top comments (0)