GraphRAG cost model and go-live checklist¶
Draft outline: not validated
Drafted with AI from official sources on 16 Oct 2026. Do not use on a live system until it is written, dry-run by someone other than the author and signed off (planned 2026-12-23). Author: Gayathri Ramachandran · dry-run: Yasar · sign-off: Deeparani. Work items: RAG-11-T09, RAG-11-T10, RAG-11-T11, RAG-11-T12.
1. Summary¶
Before quoting a GraphRAG build, and before moving a pilot to production.
Risk: Medium (an underestimated cost model can make the solution uneconomic after go-live). Typical duration: Half a day.
2. When to use and when not to¶
Use it when: Before quoting a GraphRAG build, and before moving a pilot to production.
Do not use it when: to be written by the author.
3. What you must know first¶
- Cost has three parts: initial indexing, refresh and per-query
- Measure in tokens, not documents; documents vary widely in size
- Query methods can use very different token amounts; measure each one in the pilot
- Global Batch costs 50% less than Global Standard with a 24-hour target turnaround, but does not support embedding models
4. Checklist¶
- Record extraction and summarisation tokens per source token from the pilot.
- Multiply by total corpus tokens for the initial indexing cost.
- Multiply by monthly changed tokens for the refresh cost.
- Measure tokens per query for each query method and multiply by forecast volume.
- Add graph database hosting and storage.
- Compare with hybrid RAG cost for the same questions.
- Get sign-off on the cost model and set budget alerts before go-live.
Draft snippet: Cost model inputs (prices left blank to fill from the current pricing page)
workload: client-y-graphrag
currency: GBP
prices_per_million_tokens: # fill from the current pricing page
extraction_input: null
extraction_output: null
chat_input: null
chat_output: null
pilot_measurements:
source_tokens: 2500000
extraction_input_tokens: 9800000
extraction_output_tokens: 1400000
corpus:
total_source_tokens: 180000000
monthly_changed_tokens: 6000000
queries:
monthly_volume: 40000
avg_input_tokens: 6500
avg_output_tokens: 600
graph_store:
monthly_hosting: null
decision_threshold:
max_cost_ratio_vs_hybrid_rag: 3.0
Snippets to add:
snippets/graphrag/cost-model.yaml: GraphRAG cost model inputs (yaml)snippets/checklists/graphrag-go-live.md: Go-live checklist (markdown)
5. Known issues and fixes¶
| Symptom | Likely cause | Fix |
|---|---|---|
| Refresh cost underestimated | New content changes community structure and triggers wide recomputation | Measure a real incremental update during the pilot. |
| Cost per query above forecast | Queries go to the most expensive method by default | Route by question type and make the cheapest adequate method the default. |
| Estimate out of date | Model or price changed since the estimate | Re-run the model monthly with current prices. |
6. Monitoring and alerts¶
| Signal | Alert when | Action |
|---|---|---|
| Monthly LLM spend for the GraphRAG workload (Cost Management budget) | 80% of budget | Review query routing and refresh frequency. |
| Tokens per query (app telemetry) | p95 50% above the cost model | Check routing and context size. |
7. AWS and open-source equivalents¶
The same cost structure applies to Amazon Bedrock Knowledge Bases with Neptune Analytics, plus graph hosting; note that deleting a knowledge base does not delete its graph, so charges can continue. Open-source stacks add your own hosting and operations cost.
8. Validation record¶
Pending. Planned dry-run scenario: A second engineer fills the cost model from a sandbox pilot run and compares it with the actual bill for that run. Pass: the model is within 20% of the actual pilot cost.