What does keeping your knowledge base fresh actually cost?

Embedding drift is the quiet killer: retrieval feels stable one month and unreliable the next as source content changes. Price the data treadmill - incremental re-embedding, reindex, pipeline runs, the forced full re-embed, and drift monitoring. This is the data-drift bill that pairs with eval's model-drift bill.

What this calculator does

Prices the recurring data treadmill behind a RAG or agentic system: incremental re-embedding of changed documents each refresh, vector upsert and reindex, pipeline orchestration, the periodic full re-embed forced by an embedding-model or chunking change, and lightweight drift monitoring. This is the data-drift bill that pairs with eval's model-drift bill.

Why use it
  • Embedding drift silently degrades retrieval: stable one month, unreliable the next, as content changes
  • Re-embedding is priced live, so the model choice and churn drive a real recurring number
  • Surfaces the forced full re-embed: swap the model or chunking and you re-embed the whole corpus
  • The breakdown shows embedding tokens are cheap; pipeline and monitoring usually dominate

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.

Data Freshness Cost Playground
Drag the sliders for an instant estimate.
What will keeping data fresh cost?

Corpus size x refresh cadence x churn, plus pipeline and monitoring. This is the data-drift fix bill.

Estimated monthly cost
—
Change the input sliders below to see new estimates.

How we got this estimate
—

💡Monthly = re-embed + vector ops + pipeline per run, plus the amortized full re-embed and monitoring.

Data Freshness / Re-Embedding Cost

Corpus size, refresh cadence, and churn → monthly freshness cost, cost per refresh, and where the money actually goes.
📊 Not sure of a value? Fields with a ▾ Typical pill offer broad industry ballparks (sourced typical ranges; Corpus sizes assume ~260–520 tokens per dense page; tech docs ~5K, legal ~31K, long reports ~80K tokens per document.) 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.
Hint: The model that re-indexes your docs when they change.
Hint: Total size of your document set, in words (a round number is fine).
Hint: How many times a month you re-index changed docs.
Hint: Share of docs that change each run, as a %. Small for stable content.
Hint: Price your search index charges per 1M words indexed. Default is a safe estimate.
Hint: Fixed cost to run one refresh job (compute, orchestration). Default is an estimate.
Hint: How often you rebuild the whole index from scratch. Every 6-12 months is common.
Hint: Monthly cost of any tool watching for search-quality drift. 0 if none.
Hint: Your normal monthly AI bill, so freshness shows as a % on top.

Results

Pick an embedding model, corpus size, and refresh cadence, then calculate to see the monthly freshness cost and where it concentrates.
AICost.ai pricing data keeps our calculations accurate across top AI and cloud vendors · last updated 2026-10-21

Methodology

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