Best LLMs for Profiled Document Section Analysis
Analyzes one document section using supplied document conventions, analytical dimensions, evidence boundaries, and decision context. Illustrative uses include analyzing a contract clause, software specification, vendor requirement, market-risk section, licensing term, research-me
Models
Frontier on this task: GLM-5.3 Flash at 9.12 / 10. Quality bar at 90%: 8.21.
point-estimate floor (CI low) · upper CI (less certain) · Bars sorted by blended cost; best-value model first. Greyed rows are MEDIUM+ models whose point estimate clears the bar but whose CI low does not.
| Model | Quality score | CI low | Cost / 1k runs | vs best value |
|---|---|---|---|---|
| GPT-5.6 Luna | 8.67 / 10 | 8.53 | $1.08 | best value |
| MiniMax M3 | 8.87 / 10 | 8.81 | $4.51 | 4.2x more expensive |
| GPT-5.4 Nano | 8.23 / 10 | 8.02 | $4.98 | 4.6x more expensive |
| GLM-5.3 Flash | 9.12 / 10 | 8.94 | $5.80 | 5.4x more expensive |
| Thinking Machines Inkling Small | 8.73 / 10 | 8.55 | $10.36 | 9.6x more expensive |
| Qwen 3.7 Plus | 8.39 / 10 | 8.05 | $10.46 | 9.7x more expensive |
| GPT-5.6 Terra | 8.72 / 10 | 8.57 | $19.36 | 18x more expensive |
| Gemini 3.5 Flash | 8.59 / 10 | 8.35 | $19.82 | 18x more expensive |
| Meta Muse Spark 1.3 | 8.70 / 10 | 8.43 | $28.11 | 26x more expensive |
| Thinking Machines Inkling | 8.90 / 10 | 8.76 | $28.38 | 26x more expensive |
| GPT-5.6 Sol | 8.89 / 10 | 8.75 | $31.10 | 29x more expensive |
| Claude Sonnet 5 | 8.76 / 10 | 8.43 | $36.13 | 34x more expensive |
| Tencent Hy4 Preview | 8.90 / 10 | 8.59 | $38.88 | 36x more expensive |
| GLM-5.3 | 8.84 / 10 | 8.59 | $43.89 | 41x more expensive |
| Grok 4.6 | 8.91 / 10 | 8.61 | $53.24 | 49x more expensive |
| Moonshot Kimi K3 | 9.03 / 10 | 8.86 | $97.32 | 90x more expensive |
| Qwen 3.8 Flash | 7.39 / 10 | 7.01 | $6.64 | 6.2x more expensive |
| DeepSeek V4 Flash | 7.98 / 10 | 7.74 | $4.81 | 4.5x more expensive |
| Gemini 3.8 Flash | 7.49 / 10 | 7.01 | $6.98 | 6.5x more expensive |
| DeepSeek V4 Pro | 7.86 / 10 | 7.53 | $35.64 | 33x more expensive |
| Gemini 3.1 Flash Lite | 6.99 / 10 | 6.68 | $2.36 | 2.2x more expensive |
| Gemini 3.5 Flash Lite | 7.06 / 10 | 6.72 | $2.38 | 2.2x more expensive |
| Qwen 3.8 Max | 8.17 / 10 | 7.72 | $82.82 | 77x more expensive |
| Claude Haiku 4.5 | 7.86 / 10 | 7.58 | $19.27 | 18x more expensive |
Cost breakdown
| Model | Quality | Confidence | Cost / 1k runs | Overpay | Mode |
|---|---|---|---|---|---|
| GPT-5.6 Luna ★ OpenAI | 8.67 / 10 CI [8.53, 8.81] | RANKED | $1.08 | best value | batch |
| MiniMax M3 OpenRouter | 8.87 / 10 CI [8.81, 8.93] | RANKED | $4.51 | 4.2x | batch |
| GPT-5.4 Nano OpenAI | 8.23 / 10 CI [8.02, 8.43] | HIGH | $4.98 | 4.6x | batch |
| GLM-5.3 Flash best Z.AI | 9.12 / 10 CI [8.94, 9.31] | RANKED | $5.80 | 5.4x | batch |
| Thinking Machines Inkling Small OpenRouter | 8.73 / 10 CI [8.55, 8.91] | RANKED | $10.36 | 9.6x | batch |
| Qwen 3.7 Plus Alibaba Cloud (DashScope) | 8.39 / 10 CI [8.05, 8.72] | MEDIUM | $10.46 | 9.7x | batch |
| GPT-5.6 Terra OpenAI | 8.72 / 10 CI [8.57, 8.87] | RANKED | $19.36 | 18x | batch |
| Gemini 3.5 Flash Gemini | 8.59 / 10 CI [8.35, 8.83] | HIGH | $19.82 | 18x | batch |
| Meta Muse Spark 1.3 OpenRouter | 8.70 / 10 CI [8.43, 8.97] | HIGH | $28.11 | 26x | batch |
| Thinking Machines Inkling OpenRouter | 8.90 / 10 CI [8.76, 9.03] | RANKED | $28.38 | 26x | batch |
| GPT-5.6 Sol OpenAI | 8.89 / 10 CI [8.75, 9.04] | RANKED | $31.10 | 29x | batch |
| Claude Sonnet 5 Anthropic | 8.76 / 10 CI [8.43, 9.10] | MEDIUM | $36.13 | 34x | batch |
| Tencent Hy4 Preview OpenRouter | 8.90 / 10 CI [8.59, 9.21] | MEDIUM | $38.88 | 36x | batch |
| GLM-5.3 Z.AI | 8.84 / 10 CI [8.59, 9.09] | HIGH | $43.89 | 41x | batch |
| Grok 4.6 xAI | 8.91 / 10 CI [8.61, 9.22] | MEDIUM | $53.24 | 49x | batch |
| Moonshot Kimi K3 Moonshot AI | 9.03 / 10 CI [8.86, 9.20] | RANKED | $97.32 | 90x | batch |
Overpay shows how much more you pay than the best-value model that clears the quality bar (marked ★) — the best-value good-enough option. "16x" means you overpay 16× — 16× that reference for no quality benefit above the bar. Typical call shape for this task: 14299 input tokens → 3571 output tokens, EMA-tracked from production traffic. Cost is the observed, all-in $ per 1,000 task runs: each model's own measured usage on this task — output verbosity, thinking/reasoning tokens, cache reads and writes, and the spend on its billed failures — priced at current list rates and adjusted by the billing overhead we actually reconcile against provider invoices. Models that answer tersely cost what they actually cost; models that think at length pay for it. Not comparable to providers' advertised $/1M list rates — this is what running the task costs, not a per-token price.
Evaluation rubric
Judge section fidelity, document-profile correctness, quantitative accuracy, materiality under the supplied lens, qualifier preservation, separation of fact and analysis, and recognition of missing context.
Prompt templates
This is a pooled capability — 3 prompt families share it. The pair shown first is the most frequently used in production.
LLMB_PROFILED_DOCUMENT_SECTION_ANALYSIS_SYSTEM +
LLMB_PROFILED_DOCUMENT_SECTION_ANALYSIS_USER
(442 calls in window)
System prompt
Analyze only the supplied section. Apply document_profile to interpret terminology, status, and qualifiers and analysis_profile to select material facts, metrics, risks, opportunities, and implications. Preserve whether figures are historical, adjusted, projected, or uncertain. State when a requested topic is outside the section rather than importing it from elsewhere. Treat empty optional values as absent and return only the requested result. Your response must conform exactly to this output schema: {schema_json_string}.
User prompt
Inputs — section_title: {section_title}; section_content: {section_content}; document_profile: {document_profile}; analysis_profile: {analysis_profile}. Use only these inputs to complete the task defined by the system prompt.
SEC_S1_CHUNK_ANALYSIS_SYSTEM_PROMPT +
SEC_S1_CHUNK_USER_PROMPT
(390 calls in window)
System prompt
You are a senior investment analyst at a long-term focused investment firm. You specialize in analyzing SEC filings, particularly S-1 and S-1/A registration statements for companies going public.
You will be provided with a specific section from an S-1 filing. Your job is to extract the most investment-relevant information from this section and analyze its implications for long-term investors.
Focus on:
- Business model insights and competitive positioning
- Financial performance and metrics
- Risk factors and potential concerns
- Strategic direction and management quality
- Market opportunity and growth prospects
Provide your analysis as a structured JSON object using only information found directly in the section. Do not speculate or add external knowledge.
## Required Output Format
Your response MUST be a single, valid JSON object conforming to this schema:
```json
{schema_json_string}
```User prompt
Analyze the following section from an S-1 filing: **{section_title}**
**Section Content:**
```
{section_content}
```
**Instructions:**
1. Extract the most important investment-relevant information from this section
2. Focus on insights that would help a long-term investor evaluate this company
3. Identify any business model insights, financial information, risks, or competitive factors
4. Your analysis should be concise but comprehensive
5. Use only information directly stated in the section content
**JSON Output Format:**
The required JSON output schema is provided in the system prompt.JSON_REPAIR_SYSTEM +
JSON_REPAIR_USER
(1 calls in window)
System prompt
You are a JSON repair tool. The user gives you malformed or partial model output and a JSON Schema. Return ONLY a single valid JSON object that satisfies the schema, salvaging as much real content from the input as possible. Do not invent data for fields the input doesn't support — use the schema's allowed empty/null values. Output the JSON object only: no prose, no markdown, no code fences.
User prompt
JSON Schema:
{schema_json}
Malformed output to repair:
{raw_text}
Return only the corrected JSON object.