How to Build an ROI Model for Agentic AI in Local Government
A practical framework for measuring AI agent ROI in local government—built with a California municipality. Convert task volume and automation rates into audit-ready savings.
Earlier this year, CityDesk began working with a large municipality in California to answer a deceptively simple question: How do we actually measure ROI for AI agents?
Not chatbots. Not search tools. Agents—systems that complete tasks end-to-end, from intake to confirmation, without handing off to a human.
The city's leadership wasn't skeptical of AI. They were skeptical of ROI claims that couldn't survive a budget hearing. They'd seen vendors promise "80% automation" without defining what that meant, or quote labor savings without accounting for the fact that no one was getting laid off.
So we sat down with their finance team, their IT director, and the department heads who'd actually be using these tools. Over several months, we built a model together—one that could hold up under scrutiny from procurement, the city manager's office, and ultimately, the public.
That work became the foundation of our Agent ROI Calculator, which we're now sharing publicly. This post walks through the methodology behind it.
The Three Questions Every Municipal Leader Needs to Answer
Municipal leaders don't need another "AI is the future" pitch. They need a defensible way to answer three questions:
How many staff hours will an agent actually remove from the workload?
What portion of that becomes real budget savings vs. just freed capacity?
Does the value exceed the full cost of deploying and running the agent?
The inputs and outputs of this model map cleanly to common municipal workflows: permit applications, payment processing, inspection scheduling, and records requests.
Step 1: Start with the Right Unit of Value—"Task Minutes"
For municipalities, the simplest ROI model starts with a single measurable unit:
Manual minutes per task × task volume × automation rate
That's why a good calculator begins with:
Tasks processed per month
Average time to complete a task manually (including data entry, lookups, verification, and follow-up)
These two numbers let you convert "AI feels faster" into auditable hours saved.
Step 2: Define Your Baseline Inputs
Here's a clean set of variables (the labels mirror what many municipal ROI worksheets ask for):
Task volume
T_m = tasks processed per month
Time per task
t_min = average manual minutes per task
Staff and cost
E = employees who process these tasks
S = average annual salary of employees doing the work
Tip: Salary alone usually isn't enough—most finance teams prefer a fully loaded rate (salary + benefits + payroll taxes + overhead). If you don't have a standard multiplier, run a range (e.g., 1.25× to 1.6×) as scenarios.
Agent capabilities
A = fraction of tasks the agent can complete end-to-end (true full automation)
H = fraction of requests received after hours (often nights/weekends/holidays)
Step 3: Convert Tasks into Hours Saved
3.1 Tasks automated per year
T_y = T_m × 12
T_auto = T_y × A
3.2 Hours saved per year
Hours_saved = (T_auto × t_min) / 60
3.3 "FTE equivalent" capacity freed
If you want an "FTE freed" estimate:
FTE_freed = Hours_saved / 2080
(Using 2,080 work-hours per year as a standard baseline.)
This is usually what department heads feel most: fewer backlogs, fewer escalations, and more time for complex cases.
Step 4: Translate Hours into Labor Savings (Carefully)
4.1 Build an hourly cost
If you only have salary:
Hourly_salary = S / 2080
If you have (or assume) a fully loaded multiplier M:
Hourly_loaded = (S × M) / 2080
4.2 Labor savings per year
Labor_savings = Hours_saved × Hourly_loaded
The Municipal Reality: "Cashable" vs. "Capacity" ROI
Many cities won't reduce headcount immediately. So present labor value in two buckets:
Cashable savings: overtime avoided, contractor spend reduced, backfill hiring prevented, temporary staffing cut.
Capacity savings: staff hours redirected to inspections, compliance, complex permits, constituent help, audits, appeals.
Both are real—just don't pretend all capacity becomes budget reductions.
Step 5: Add After-Hours Value (The 24/7 Premium)
A lot of municipal demand arrives outside business hours—residents paying bills, requesting records, booking inspections, submitting forms. A calculator may surface an "after-hours value" as a separate line item to represent the premium of always-on service.
There are a few defensible ways to quantify it. Pick one and document it.
Option A: Overtime-equivalent valuation (simple and finance-friendly)
Assume that delivering the same turnaround after-hours would require overtime or shift coverage.
T_after = T_auto × H
Hours_after = (T_after × t_min) / 60
After_hours_value = Hours_after × Hourly_loaded × (Overtime_factor - 1)
If Overtime_factor = 1.5, then you're valuing the premium (the extra 0.5×) rather than double-counting base labor.
Option B: Cost-of-delay valuation (best for permits/revenue)
If faster completion produces measurable value (earlier fee collection, fewer late penalties, fewer rework cycles), assign a conservative dollar value per after-hours task:
After_hours_value = T_after × Value_per_after_hours_task
Examples where this is often defensible:
Utility payments and citations (faster collections, fewer calls)
Permitting/licensing steps that unblock downstream work
Inspection scheduling (reduces missed appointments and reschedules)
Step 6: Don't Forget the "All-In" Cost of the Agent
To calculate ROI responsibly, include everything that would show up in procurement and IT budgets:
6.1 Annual operating costs (ongoing)
Subscription / usage fees
Hosting (if applicable)
Monitoring & analytics
Security, compliance, and audits
Ongoing integration maintenance
Content/process upkeep (forms, rules, SOP updates)
6.2 One-time / year-1 costs
Implementation services
Integrations (permitting, ERP, CRM, 311, payment processor, GIS, identity, document management)
Change management and training
Policy updates and governance setup
Represent them as:
Cost_year1
Cost_annual (steady state)
Step 7: Compute ROI, Payback, and (Optionally) NPV
7.1 Total annual benefit
Total_benefit = Labor_savings + After_hours_value + Other_quantified_benefits
7.2 ROI percentage
ROI% = (Total_benefit - Total_cost) / Total_cost × 100
7.3 Payback period (months)
Payback_months = Total_cost / (Total_benefit / 12)
7.4 NPV (if you're doing multi-year budgeting)
For discount rate r and years 1..n:
NPV = Σ (Benefits_y - Costs_y) / (1 + r)^y
NPV helps when year-1 costs are high but benefits compound over time.
Worked Example (With Round Numbers)
Assumptions:
T_m = 10,000 tasks/month
t_min = 12 minutes/task
A = 35% end-to-end automation
H = 25% after-hours share
S = $65,000 average salary
M = 1.35 fully loaded multiplier
Overtime_factor = 1.5
Costs: Cost_year1 = $200,000 (includes implementation), Cost_annual = $150,000
Calculations:
T_y = 120,000 tasks/year
T_auto = 42,000 tasks/year
Hours_saved = 8,400 hours/year
FTE_freed ≈ 4.0
Hourly loaded rate:
Hourly_loaded = (65,000 × 1.35) / 2080 ≈ $42.19/hr
Benefits:
Labor_savings ≈ 8,400 × 42.19 = $354,375/year
After-hours premium:
T_after = 42,000 × 0.25 = 10,500 tasks
Hours_after = 2,100 hours
After_hours_value ≈ 2,100 × 42.19 × (1.5 - 1) = $44,297/year
Total benefit:
Total_benefit ≈ $398,672/year
ROI:
Year 1: (398,672 - 200,000) / 200,000 ≈ 99%
Steady state: (398,672 - 150,000) / 150,000 ≈ 166%
The key takeaway isn't the exact percentage—it's that the ROI is now driven by transparent levers: volume, minutes, automation rate, loaded labor cost, and after-hours value.
Step 8: Run Three Scenarios (So You Don't Overpromise)
Municipal projects often succeed or fail on adoption and integration depth. A simple scenario table prevents "single-number ROI" mistakes:
| Scenario | End-to-end automation (A) | Minutes per task (t_min) | Adoption ramp | What it represents |
|---|---|---|---|---|
| Conservative | 10–20% | Lower bound | Slow | Partial integrations, more human review |
| Expected | 25–40% | Most likely | Normal | Well-scoped workflows, solid SOPs |
| Aggressive | 45–60% | Upper bound | Fast | Highly repeatable processes, strong governance |
If ROI only looks good in the aggressive case, you've learned something important before procurement.
Practical Checklist: Making the Numbers "Audit-Proof"
Pick 1–3 workflows (not "the whole city") and measure them well.
Use system-of-record logs where possible (permit system timestamps, 311 status changes, payment processor events).
Time-study a sample of tasks to validate t_min (include follow-ups).
Separate full automation from assist (end-to-end vs. "drafting").
Quantify cashable savings explicitly (overtime, temps, contractors, avoided hires).
Track monthly: automated task count, exception rate, rework rate, satisfaction, cycle time.
What to Publish Internally (So Everyone Trusts the ROI)
When you share the results, include:
Inputs (volume, time per task, automation rate, after-hours share)
The formulas used
What you counted as "end-to-end completion"
Which savings are cashable vs. capacity
Which costs are included (year-1 and ongoing)
That transparency is what turns ROI from "AI hype" into a finance-ready business case.
Try It Yourself
We've packaged this methodology into an interactive tool. Try the Agent ROI Calculator →
Closing Thought
In local government, the best ROI stories aren't "we replaced staff." They're:
"We eliminated backlog."
"We reduced cycle time from weeks to days."
"We stopped paying overtime."
"Residents can get things done at 9pm on a Sunday."
If you model agents around tasks, convert to hours, value those hours with loaded costs, and add a clearly stated 24/7 premium, you'll have an ROI model that survives procurement, budget review, and public scrutiny.