---
name: "valuation_forecast"
area: "valuation"
title: "Forecast a company's figures"
price: "free"
method: "POST"
url: "https://api.conecto.chat/v1/tools/valuation_forecast"
mcp_server: "https://api.conecto.chat/mcp/valuation"
auth: "Authorization: Bearer <conecto_sk_ key>"
docs_url: "https://conecto.chat/tools/valuation/valuation_forecast"
---

# Forecast a company's figures (`valuation_forecast`)

Model forecasts with 80% and 95% intervals for revenue, EBITDA or monthly sales, with a confidence label and the plan checked against the range.

Model forecasts with 80% and 95% intervals for up to ten series (revenue, EBITDA, monthly sales): a short annual series by its own growth carried forward (drift on the logarithm), a long or seasonal one also by ETS and Theta, keeping the model that best forecast its last points held back. Each comes with a confidence label, its history's and forecast's growth, the plan checked against the range, and the gap to the industry's growth. Runs on Conecto's analysis service.

Price: Free up to 1,000,000 reads a month for the whole account, then $0.50 per 10,000 reads. A call that fails costs nothing.

## Use it when

To test a business plan, or to fill the forecast years of a DCF.

- For a value from the forecast, use [valuation_dcf](https://conecto.chat/tools/valuation/valuation_dcf.md).

## Say this to your agent

> Kuechentechnik Nord plans 21.5, 23 and 24 million in revenue for the next three years. Does its history support that?

## Inputs

| Name | Type | Required | Description | Allowed values | Default |
|---|---|---|---|---|---|
| `series` | array of objects | yes | 1 to 10 items. |  |  |
| `series[].name` | string | yes, in each item of `series` | 1 to 200 characters. |  |  |
| `series[].values` | array of numbers | yes, in each item of `series` | Oldest first. 3 to 240 items. |  |  |
| `series[].start` | string | no | The first value's period: 2021, 2021-Q3 or 2021-07. Matches ^\\d{4}(-Q[1-4]\|-\\d{2})?$. |  |  |
| `series[].frequency` | string | no |  | `"year"`, `"quarter"`, `"month"` | `"year"` |
| `series[].plan` | array of number or null | no | The business plan for the forecast periods, checked against the model's range. Up to 36 items. |  |  |
| `series[].industry_growth` | number | no | The industry's growth a year (Eurostat, say), compared with the forecast's. A decimal: 0.09 is 9%. -1 to 5. |  |  |
| `horizon` | integer | no | 1 to 36. |  | `3` |

## Example

Written for Hansen & Voss, a restaurant-equipment wholesaler in Hamburg with 60 staff.

MCP: call `valuation_forecast` on the MCP server `https://api.conecto.chat/mcp/valuation` with these arguments:

```json
{
  "series": [
    {
      "name": "Revenue (EUR m)",
      "values": [
        13.2,
        14.8,
        15.9,
        16.9,
        18.4
      ],
      "start": "2021",
      "plan": [
        21.5,
        23.0,
        24.0
      ],
      "industry_growth": 0.04
    }
  ],
  "horizon": 3
}
```

REST:

```bash
curl https://api.conecto.chat/v1/tools/valuation_forecast \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"series": [{"name": "Revenue (EUR m)", "values": [13.2, 14.8, 15.9, 16.9, 18.4], "start": "2021", "plan": [21.5, 23.0, 24.0], "industry_growth": 0.04}], "horizon": 3}'
```

## Response

```json
{
  "call_id": "5f0c8a2e-3b7d-4c1e-9a64-2d8e1f7b0c93",
  "tool": "valuation_forecast",
  "status": "succeeded",
  "replayed": false,
  "cost_usd": "$0.00",
  "balance_usd": "$19.75",
  "result": {
    "series": [
      {
        "name": "Revenue",
        "model": "growth_drift",
        "history": 5,
        "points": [
          {
            "period": "2026",
            "forecast": 19.993,
            "low_80": 19.4277,
            "high_80": 20.5748,
            "low_95": 19.135,
            "high_95": 20.8896
          },
          {
            "period": "2027",
            "forecast": 21.724,
            "low_80": 20.7798,
            "high_80": 22.7111,
            "low_95": 20.2968,
            "high_95": 23.2516
          }
        ],
        "confidence": "high",
        "interval_width": 0.0588,
        "growth_history": 0.086578,
        "growth_forecast": 0.086578,
        "plan_check": [
          {
            "period": "2026",
            "plan": 21.5,
            "forecast": 19.993,
            "gap": 1.507,
            "position": "above the range"
          },
          {
            "period": "2027",
            "plan": 23.0,
            "forecast": 21.724,
            "gap": 1.276,
            "position": "above the range"
          }
        ],
        "against_industry": 0.046578
      }
    ],
    "levels": [
      80,
      95
    ],
    "method": "Short series: drift, the average change carried forward (on the logarithm when every value is positive, so growth compounds). Eight points or more: AutoETS and AutoTheta too, keeping the model that best forecast the last points held back. Confidence: high when the 80% interval at the end is within 10% of the forecast (with five points or more), medium within 25%, low otherwise."
  }
}
```

`result`: series (name, model, history, points with forecast, low_80, high_80, low_95 and high_95, confidence, interval_width, growth_history, growth_forecast, holdout_error, plan_check, against_industry), levels and method.

## Errors

| Code | Status | When | Fix |
|---|---|---|---|
| `invalid_input` | 400 | A series has fewer than three values, or something in it can't be read. | Send at least three values, oldest first. |
| `unavailable` | 503 | The analysis service isn't switched on yet, or didn't answer. | Try again later. |

The refusals every tool can give (401 key, 402 balance, 429 limits) are on the errors page: https://conecto.chat/docs/errors.md

## Related

- [valuation_dcf](https://conecto.chat/tools/valuation/valuation_dcf.md): A DCF valuation from free cash flows and a WACC: present values, terminal value, enterprise and equity value, and a sensitivity grid. Free up to 1,000,000 reads a month.
- [valuation_wacc](https://conecto.chat/tools/valuation/valuation_wacc.md): The WACC from the risk-free rate, the market premium and a beta relevered from peers, with each step written out. Free up to 1,000,000 reads a month.
- [valuation_rates](https://conecto.chat/tools/valuation/valuation_rates.md): Today's risk-free curve and its recent average from the Bundesbank, the ECB or the US Treasury, as decimals. Free up to 1,000,000 reads a month.
- [valuation_fx](https://conecto.chat/tools/valuation/valuation_fx.md): Amounts converted between currencies at the ECB's euro reference rates, on a date or at a past year's average. Free up to 1,000,000 reads a month.
- [valuation_multiples](https://conecto.chat/tools/valuation/valuation_multiples.md): Peer multiples with their quartiles and the enterprise and equity value they imply for the target, less any discount. Free up to 1,000,000 reads a month.
- [valuation_lbo](https://conecto.chat/tools/valuation/valuation_lbo.md): A buyout financed with debt, year by year: sources and uses, each debt tranche, the exit, MOIC, IRR and an IRR grid by entry and exit multiple. Free up to 1,000,000 reads a month.
- [valuation_benchmark](https://conecto.chat/tools/valuation/valuation_benchmark.md): The target's KPIs against its peers: quartiles, percentile, gap to the median and whether each is a strength or a potential. Free up to 1,000,000 reads a month.
- [valuation_scores](https://conecto.chat/tools/valuation/valuation_scores.md): Altman, Piotroski and Beneish scores from a company's figures, and whether it is growing, mature or distressed. Free up to 1,000,000 reads a month.
- [valuation_beta](https://conecto.chat/tools/valuation/valuation_beta.md): Betas of listed peers from closing prices the business gives, with R squared, the t-statistic and the unlevered beta. Free up to 1,000,000 reads a month.
- [valuation_football_field](https://conecto.chat/tools/valuation/valuation_football_field.md): The valuation ranges side by side, with the overall range, the overlap, markers and a slide for the deck. Free up to 1,000,000 reads a month.
