> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nimbleway.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Choosing Effort and Budget

> Which effort tier each use case needs, what a higher tier actually buys, and how to size a job

[Effort](https://docs.nimbleway.com/nimble-sdk/web-search-agents/efforts.md) sets how many angles the agent tries, how many sources it reads, and how long it may run. Higher is not better by default: it buys sources, rows and time, and past a point it buys nothing the task needs. Fix the task and the schema first; raise effort last.

## Recommended tier by use case

| Use case | Start at | Move up when | Move down when |
| - | - | - | - |
| [Research](https://docs.nimbleway.com/nimble-sdk/web-search-agents/use-cases/research.md), free text | `medium` | Code consumes the result (add a schema and go to `high`) | Never below `medium` for anything that needs citations. `low` often returns none |
| Research with an output schema | `high` | The corpus is genuinely large (filings plus press over years) | The brief has one or two sections |
| [Enrichment](https://docs.nimbleway.com/nimble-sdk/web-search-agents/use-cases/enrichment.md) | `high` | Fields need real digging (financials, named executives) and a row can be researched on its own | One to three shallow fields from the row's own site: `medium`, one row per run |
| [Dataset building](https://docs.nimbleway.com/nimble-sdk/web-search-agents/use-cases/dataset-building.md) | `high` | Exhaustive catalog of a single named site | Never below `high`; the API requires it |

## What a tier actually buys

Typical numbers from a recent month of external runs:

| Use case | Tier | Median time | Sources read | Rows per run | Cells filled | Partial output shipped |
| - | - | - | - | - | - | - |
| Research | `medium` | 3 min | 3 | 8 | 88% | 32% when a schema is attached, near zero for free text |
| Research | `high` | 6 min | 14 | 12 | 100% | 3% |
| Research | `x-high` | 11 min | 20 | 18 | 99% | 3% |
| Enrichment | `medium` | 3 min | 1 | 1 | 80% | 39% |
| Enrichment | `high` | 6 to 7 min | 13 | 14 | 90% | 38% |
| Enrichment | `x-high` | 9 min | 20 | 20 | 94% | 19% |
| Dataset building | `high` | 9 min | 10 | 23 | 100% | 39% |
| Dataset building | `x-high` | 15 min | 14 | 29 | 92% | 37% |

Read across a row, not down a column:

* **Research**: `medium` returns a complete free-text brief. `high` reads five times the sources and fills every cell when a schema is attached. `x-high` doubles time again for a few more sources and rows.
* **Enrichment**: `high` fills nine cells in ten when the batch fits the budget. Size the batch to the fields: five rows with six researched fields finished in 4.5 minutes; ten rows with the same fields ran 21 minutes and researched only five. `x-high` fills a little more and halves partial output, but failed more often on model timeouts.
* **Dataset building**: `x-high` returns about a quarter more rows than `high` at four times the price. Scope beats effort: one run over a whole manufacturer catalog at `x-high` returned 78 items; scoped runs at the same tier with the traversal written into the skill returned more than 200 each.

Plan for the tail. Nine in ten `high` and `x-high` runs finish in under 20 to 30 minutes; a synchronous caller needs a timeout at least that long.

## Find the cheapest tier that holds

The pattern that works in customer pilots:

**1. Pick 100 representative inputs**

Include the hard cases and a few you already know the answers for.

**2. Run them at the highest tier you would pay for**

This is your quality ceiling for this task and schema.

**3. Run the same 100 one tier lower**

Compare filled cells, rows returned and spot-checked accuracy, not the confidence grade.

**4. Keep the cheapest tier whose results you would ship**

On a 100-item product-matching pilot, `high` matched `x-high` at a quarter of the price. On a 10,000-company financial enrichment, `high` filled 96.7% of cells with 70% of rows complete.

## Cost arithmetic

A job costs **rows ÷ rows per run × price per run**, plus the runs that fail or need a top-up.

| Job | Batch | Runs | Tier | Cost |
| - | - | - | - | - |
| Enrich 10,000 companies, 6 researched fields | 5 rows | 2,000 | `high` \$0.50 | \$1,000 |
| Enrich 10,000 companies, 2 shallow fields | 10 rows | 1,000 | `high` \$0.50 | \$500 |
| Enrich 500 companies, 5 hard fields | 2 rows | 250 | `x-high` \$2.00 | \$500 |
| Build a 2,000-company list across 40 regions | 50 rows | 40 | `high` \$0.50 | \$20 |
| 300 due-diligence briefs, free text | 1 | 300 | `medium` \$0.10 | \$30 |

Two limits shape the batch column. Enrichment runs accept at most 20 input rows and 200 input cells (rows × fields), and the practical batch is smaller: what one run finishes at the chosen effort. Rows beyond the budget come back with only their input values. Accounts run 30 concurrent agents and 200 runs per day by default; contact Nimble ahead of a larger job.

## Preview before committing

Run one batch, or one region, before the whole job. A first run at the recommended tier on a sample of 10 tells you whether the task and schema hold. A `low` run does not: it reads a handful of pages and returns thin output for anything beyond a fact check, so it previews the agent's understanding of the ask, not the quality of the result.

> [!NOTE]
>
> `max` (a custom budget per run) is not yet available. Requests for `max` return `422` today.

## Next Steps

> **[Efforts](https://docs.nimbleway.com/nimble-sdk/web-search-agents/efforts.md)**
>
> Tiers, times and prices

> **[Running at Scale](https://docs.nimbleway.com/nimble-sdk/web-search-agents/best-practices/running-at-scale.md)**
>
> Batches, concurrency, retries

> **[Evaluating Results](https://docs.nimbleway.com/nimble-sdk/web-search-agents/best-practices/evaluating-results.md)**
>
> What to compare between tiers


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.