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

💰 Are you billing below your floor?

Your true per-user price floor from loaded labor cost and real productive hours — floor = cost / (1 − margin), never cost + margin%.

Grounded typical ranges, sourced* Decision-first — a verdict and a next step MCP engine: aicost.msp-price-floor
Minimum price / user / mo
$175
What this calculator does

Your true per-user price floor from loaded labor cost and real productive hours — floor = cost / (1 − margin), never cost + margin%.

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 →
⚡ Minimum Profitable Price Playground
The 3 factors that move this the most — drag and watch the decision change.
Minimum price / user / mo
$175 BELOW FLOOR
→ RAISE PRICES NOW
1.1
1400
50 %
Try a scenario: 📄 Print one-pager ✉ Email me this

Minimum Profitable Price — 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; MSP price floor (2026): loaded tech $68-92K salary +25-32% load; productive hours ~1,400 of 2,080; tickets 0.8-1.4/user/mo; tool COGS $11-19/user/mo; healthy MSP gross margin 45-55%. * = typical, replace with your GL.) 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.
2,080 minus PTO, training, meetings, nonbillable — 1,400 is typical, not 2,080.
Across the client base.
RMM + EDR + backup + email security + docs + PSA…
The margin the floor must protect.
For the gap verdict.
Annual, per tech.
Load on top of salary.
Annual per tech.
Annual per tech.
Minutes per ticket.
Time added by escalations and rework.
Minutes per user per month.
Verdict
BELOW FLOOR

Current price $125 is $49.88/user/mo below the floor needed for 50% margin.

Minimum price / user / mo
$175
Delivery cost / user / mo
$87
Loaded hourly cost
$81/hr
Margin at current price
30%
Gap vs floor (per user)
$-50
What to do
RAISE PRICES NOW
Why
Floor is more than 15% above your current rate — the 2026 pricing playbooks call this an active pricing problem in the P&L, not a renewal item.
Market context
2026 market band: $70–$250/user/mo depending on stack, coverage, and region* — your floor is about cost, the band is about positioning.

Method memo

Loaded hourly cost $80.96 from 1400 productive hours (not 2,080). Delivery cost $87.44/user/mo at 1.1 tickets/user. Floor at 50% target margin: $174.88 (cost / (1 - margin)).

Questions to pressure-test with

  1. Are productive hours measured or assumed? PTO, training, meetings, and nonbillable time usually leave ~1,400 of 2,080.
  2. Which clients drive tickets/user above the average? Per-client cost-to-serve is the follow-up (the platform computes it from PSA data).
  3. Do onboarding, projects, and after-hours carry separate pricing? They are excluded here and are not free.

Assumptions

  • Defaults are typical* 2026 values, not benchmarks for your market.
  • Excludes onboarding, projects, after-hours premiums.
  • Floor math: cost / (1 - margin%).

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-13

Methodology

  • All prices are USD per 1 million tokens, current as of 2026-09-13.
  • 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-13
https://www.anthropic.com/pricing
Daily snapshot since Sep 2023 · 677 days captured
Anthropic Docs
2026-09-13
https://platform.claude.com/docs/en/about-claude/pricing
Daily snapshot since Sep 2023 · 677 days captured
OpenAI
2026-09-13
https://openai.com/api/pricing/
Daily snapshot since Sep 2023 · 678 days captured
Google AI
2026-09-13
https://ai.google.dev/gemini-api/docs/pricing
Daily snapshot since Dec 2023 · 653 days captured
Google Vertex
2026-09-13
https://cloud.google.com/vertex-ai/generative-ai/pricing
Daily snapshot since Dec 2023 · 653 days captured
DeepSeek
2026-09-13
https://api-docs.deepseek.com/quick_start/pricing
Daily snapshot since May 2024 · 592 days captured
xAI
2026-09-13
https://x.ai/api
Daily snapshot since Nov 2024 · 510 days captured
Mistral
2026-09-13
https://mistral.ai/pricing
Daily snapshot since Dec 2023 · 651 days captured
Cohere
2026-09-13
https://cohere.com/pricing
Daily snapshot since Sep 2023 · 677 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 →