Score how efficiently your prompts spend tokens
You pay for every token you send, useful or not. This tool gives two views of efficiency: how full your context window is, and — more importantly — what fraction of each prompt is actually useful. It then prices out the tokens that are pure overhead so you know what trimming them is worth.
The two kinds of token waste
Not all wasted tokens look the same. Understanding the category helps identify the fix:
Structural waste — tokens that carry no information regardless of the task:
- Repetition of the same instruction across multiple messages
- Verbose formatting that the model doesn’t need (“Please respond in the following format. First, section A: …”)
- Over-long persona or persona-maintenance paragraphs
- Blank lines, excessive punctuation, and redundant HTML tags in document pastes
Content waste — tokens that carry information but not information the model needs right now:
- Old conversation turns that are no longer referenced
- Full documents when only a paragraph is relevant
- Duplicate retrieved chunks saying the same thing in different words
- Entire error tracebacks when only the last few lines matter
Both categories cost full input-token price. The efficiency score helps you see the combined scale of the problem.
How the score is calculated
Window utilization shows how much of the model’s capacity each request fills:
window_utilization = avg_prompt_tokens / context_window
The useful content fraction is your estimate of how much of the prompt genuinely helps the model. The wasted monthly cost combines both:
wasted_tokens = avg_prompt_tokens × (1 − useful_fraction)
wasted_monthly = (wasted_tokens ÷ 1,000,000) × input_price × requests_per_month
A high score means most of what you send earns its keep. A low score means a meaningful slice of every bill is overhead.
What a realistic efficiency score looks like
Most production systems have some inefficiency — the question is how much. A rough guide:
| Useful content fraction | What it typically means |
|---|---|
| 80–100% | Well-optimized prompt engineering; minimal boilerplate |
| 60–80% | Some structural overhead, moderate history accumulation |
| 40–60% | Verbose system prompts, long conversation history, or large document pastes |
| Below 40% | Significant waste — long docs sent repeatedly, or verbose template-heavy prompts |
Common high-ROI optimizations
Deduplicate system instructions. If the same “you are a helpful assistant that always responds in JSON” instruction appears in both the system prompt and as a reminder in every user message, you are paying for it twice per call. State it once.
Prune conversation history aggressively. In long multi-turn sessions, old turns accumulate. Only the current task context and the immediately relevant prior turns usually matter. Summarizing the first half of a long conversation and replacing it with a compact recap can cut input tokens by 30–50% on long sessions.
Retrieve instead of including. Pasting a 20-page document into every call when the user is asking about one paragraph is structural waste. A RAG pipeline that retrieves only the relevant sections pays for one paragraph, not twenty pages.
Right-size the model. Window utilization at 3% means you are paying for a huge context window you never use. A cheaper model with a smaller window may serve the same task at a fraction of the cost.
Tips
- Start by measuring your current useful fraction honestly — teams often overestimate it.
- The biggest gains usually come from history pruning and document retrieval, not fine-tuning the system prompt.
- Re-measure monthly: as applications evolve, new features often add tokens without anyone noticing.