Beta aicost.ai cost engines are in beta. Estimates only. See Terms.
MSP Economics · AICost.ai cost decision engine

🧑‍🔧 Hire, automate, or hold — what does the math say?

The 2026 hiring market is brutal, and burnout is the expensive version of a capacity gap. This computes sustainable capacity (headroom reserved on purpose) against real demand and calls the decision.

Grounded typical ranges, sourced* Decision-first — a verdict and a next step MCP engine: aicost.msp-technician-capacity
FTE gap
0.54
What this calculator does

The 2026 hiring market is brutal, and burnout is the expensive version of a capacity gap. This computes sustainable capacity (headroom reserved on purpose) against real demand and calls the decision.

Every number recomputes live; the same logic answers on the web, in the PDF one-pager, and to AI agents over MCP — identical results on every surface.

Why use it

New to this calculator? Start with the ⚡ Playground — a few sliders, instant ballpark. Then switch to the 🧮 Calculator for your exact number.

Two ways to use this: visualize in the Playground, then get your number in the Calculator.

Playground A quick, visual way to see which factors move your result the most. Open the playground → Calculator Enter your real workload for a precise result you can apply to your own usage. Go to the calculator →
⚡ Technician Capacity & Hiring Decision Playground
The 3 factors that move this the most — drag and watch the decision change.
FTE gap
0.54 CAPACITY SHORTFALL
→ AUTOMATE FIRST, THEN HIRE
550
5
0 %
Try a scenario: 📄 Print one-pager ✉ Email me this

Technician Capacity & Hiring Decision — your exact numbers

Enter your shop's numbers. Everything recomputes live.
📊 Not sure of a value? Fields with a ▾ Typical pill offer broad industry ballparks (sourced typical ranges; Capacity (2026): ~117 productive hrs/tech/mo (1,400/yr); sustainable utilization 75-85% (100% = burnout plan); AI deflection 25-40% of Tier-1 at leading MSPs; recruiting lead time 60-90 days. * = typical.) so you can move forward now — your result gets more accurate as you replace them with your own measured numbers. Values marked * are rough estimates.
Across the base.
Service-desk headcount.
75–85% is the healthy band; 100% is a burnout plan.
Share resolved before a tech touches them.
Minutes per ticket.
Time added beyond first touch.
Committed project work.
Recurring commitments.
~117 (1,400/yr / 12).
Base growth + creep.
For the hire-vs-automate compare.
Verdict
CAPACITY SHORTFALL

519 demand hrs/mo vs 468 sustainable capacity (5 techs × 117 productive hrs × 80% target) — running at 89% raw utilization.

FTE gap
0.54
Raw utilization
88.6%
Demand hours / mo
519
Sustainable capacity / mo
468
Months to capacity wall
0
What to do
AUTOMATE FIRST, THEN HIRE
Why
You are short 0.5 FTE, but AI deflection at 25% of routine tickets would return ~95 hrs/mo — run the AI Automation ROI calculator on triage before signing an offer letter.

Method memo

Sustainable capacity reserves headroom on purpose: the gap to 100% is what absorbs escalations, incidents, training, and turnover. Ticket demand is net of AI deflection; hire-vs-automate compares loaded hire cost against automation ROI (cross-link).

Questions to pressure-test with

  1. Which ticket categories drive the volume — and are the top three automatable or eliminable at the source?
  2. Is after-hours coverage inside these hours or a separate rotation?
  3. What is the real recruiting lead time for your market? Start that clock, not the burnout clock.

Assumptions

  • 117 productive hrs/tech/month ≈ 1,400/yr ÷ 12 (PTO, training, meetings removed).
  • Never plan to 100% utilization — 75-85% is the sustainable band*.

Values marked * are analyst estimates rather than vendor-verified data.

📖 Data sources & methodology 150 text models · 9 embeddings · 40 vision · 55 audio · 8 vector DBs across 10 vendor pages · last verified 2026-09-20

Methodology

  • All prices are USD per 1 million tokens, current as of 2026-09-20.
  • Vendor-published values have no mark. Inferred/extrapolated values are marked with * and listed below.
  • Batch API discounts are 50% off standard rates across providers that offer Batch mode.
  • Prompt caching discounts vary by provider (typically 80-90% off cached input tokens).
  • Regional data-residency surcharges (Anthropic 1.1x, OpenAI 1.1x, Google regional tiers) are NOT included in base rates.
  • Long-context pricing tiers apply when input exceeds model threshold.
  • Embedding prices are input-only (no output tokens generated).

Primary sources

Last-verified date is the most recent successful daily snapshot (aicost_pricing_snapshots) or, when no snapshot exists yet, the latest successful crawler run (aicost_crawler_runs). 10 of 10 vendors are currently verified. Aggregator services (TokenCost, AI Pricing Guru, etc.) are not listed.

Anthropic
2026-09-20
https://www.anthropic.com/pricing
Daily snapshot since Sep 2023 · 684 days captured
Anthropic Docs
2026-09-20
https://platform.claude.com/docs/en/about-claude/pricing
Daily snapshot since Sep 2023 · 684 days captured
OpenAI
2026-09-20
https://openai.com/api/pricing/
Daily snapshot since Sep 2023 · 685 days captured
Google AI
2026-09-20
https://ai.google.dev/gemini-api/docs/pricing
Daily snapshot since Dec 2023 · 660 days captured
Google Vertex
2026-09-20
https://cloud.google.com/vertex-ai/generative-ai/pricing
Daily snapshot since Dec 2023 · 660 days captured
DeepSeek
2026-09-20
https://api-docs.deepseek.com/quick_start/pricing
Daily snapshot since May 2024 · 599 days captured
xAI
2026-09-20
https://x.ai/api
Daily snapshot since Nov 2024 · 517 days captured
Mistral
2026-09-20
https://mistral.ai/pricing
Daily snapshot since Dec 2023 · 658 days captured
Cohere
2026-09-20
https://cohere.com/pricing
Daily snapshot since Sep 2023 · 684 days captured

Inferred values (marked with * in calculator tables)

Derived from industry conventions, not directly published by the vendor. Typical conventions: cached input = 10% of base (90% off), Batch API = 50% of base (50% off).

Vendor / Model Field Why it’s inferred
Anthropic — Claude Sonnet 4.6 cachedInput Derived at 10% of input rate — Anthropic publishes 90% cache-hit discount on this tier.
Anthropic — Claude Sonnet 4.5 cachedInput Derived at 10% of input rate; same 90% cache-hit convention as Sonnet 4.6.
Anthropic — Claude Sonnet 4.5 batchInput Derived at 50% of standard input — Anthropic documents uniform 50% Batch discount.
Anthropic — Claude Sonnet 4.5 batchOutput Derived at 50% of standard output — Anthropic documents uniform 50% Batch discount.
Anthropic — Claude Haiku 4.5 cachedInput Derived at 10% of input rate — Anthropic 90% cache-hit discount convention.
OpenAI — GPT-5.4 Mini cachedInput Derived at 10% of input — OpenAI documents automatic 90% discount on cache hits across GPT-5.x tier.
OpenAI — GPT-5.4 Nano cachedInput Derived at 10% of input — OpenAI 90% cache-hit convention.
OpenAI — GPT-5.4 Nano batchInput Derived at 50% of input — OpenAI Batch API uniform 50% discount.
OpenAI — GPT-5.4 Nano batchOutput Derived at 50% of output — OpenAI Batch API uniform 50% discount.
OpenAI — GPT-5.4 Pro cachedInput Derived at 10% of input — OpenAI 90% cache-hit convention.
OpenAI — GPT-5.4 Pro batchInput Derived at 50% of input — OpenAI Batch API uniform 50% discount.
OpenAI — GPT-5.4 Pro batchOutput Derived at 50% of output — OpenAI Batch API uniform 50% discount.
OpenAI — GPT-5.2 cachedInput Derived at 10% of input; no residency uplift.
OpenAI — GPT-5.2 batchInput Derived at 50% of input.
OpenAI — GPT-5.2 batchOutput Derived at 50% of output.
OpenAI — GPT-5 cachedInput Derived at 10% of input.
OpenAI — GPT-5 batchInput Derived at 50% of input.
OpenAI — GPT-5 batchOutput Derived at 50% of output.
OpenAI — GPT-5.5 Pro cachedInput Derived at 10% of input — OpenAI does not publish a cached rate for *-pro models; using the family convention.
OpenAI — GPT-5.5 Pro batchInput Derived at 50% of input.
OpenAI — GPT-5.5 Pro batchOutput Derived at 50% of output.
OpenAI — GPT-5.2 Pro cachedInput Derived at 10% of input — pro-tier convention.
OpenAI — GPT-5.2 Pro batchInput Derived at 50% of input.
OpenAI — GPT-5.2 Pro batchOutput Derived at 50% of output.
OpenAI — GPT-5.1 batchInput Derived at 50% of input.
OpenAI — GPT-5.1 batchOutput Derived at 50% of output.
OpenAI — GPT-5 Pro batchInput Derived at 50% of input.
OpenAI — GPT-5 Pro batchOutput Derived at 50% of output.
OpenAI — GPT-5 Nano cachedInput Derived at 10% of input.
OpenAI — GPT-5 Nano batchInput Derived at 50% of input.
OpenAI — GPT-5 Nano batchOutput Derived at 50% of output.
Google — Gemini 3 Flash cachedInput Derived at 10% of input — Google caching discount convention ~90%.
Google — Gemini 3.1 Flash-Lite cachedInput Derived at 10% of input — Google caching convention.
Google — Gemini 3.1 Flash-Lite batchInput Derived at 50% of input — Google Batch API uniform 50% discount.
Google — Gemini 3.1 Flash-Lite batchOutput Derived at 50% of output — Google Batch API uniform 50% discount.
Google — Gemini 2.5 Pro cachedInput Derived at 10% of input.
Google — Gemini 2.5 Flash cachedInput Derived at 10% of input.
Google — Gemini 2.5 Flash-Lite cachedInput Derived at 10% of input — Google caching convention.
Google — Gemini 2.5 Flash-Lite batchInput Derived at 50% of input — Google Batch API uniform 50% discount.
Google — Gemini 2.5 Flash-Lite batchOutput Derived at 50% of output — Google Batch API uniform 50% discount.
xAI — Grok 4 (legacy) cachedInput Extrapolated at 25% of base.

Pricing is cross-verified against the LiteLLM community registry when available. Daily snapshots are kept in aicost_pricing_snapshots; every change is logged to aicost_price_changelog with old & new values for full audit trail. Read the full methodology →