---
name: "valuation_benchmark"
area: "valuation"
title: "Benchmark a company against peers"
price: "free"
method: "POST"
url: "https://api.conecto.chat/v1/tools/valuation_benchmark"
mcp_server: "https://api.conecto.chat/mcp/valuation"
auth: "Authorization: Bearer <conecto_sk_ key>"
docs_url: "https://conecto.chat/tools/valuation/valuation_benchmark"
---

# Benchmark a company against peers (`valuation_benchmark`)

The target's KPIs against its peers: quartiles, percentile, gap to the median and whether each is a strength or a potential.

Each of the target's KPIs against its peers: the quartiles, the target's percentile and gap to the median, and a verdict (a strength in the best quartile, a potential in the worst), then the strengths and potentials in a list. Higher is better unless the KPI is leverage, days or costs, or better says otherwise. Any KPI names work.

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 show where a company stands against its competitors, KPI by KPI.

## Say this to your agent

> How do Kuechentechnik Nord's growth, margin, debt and payment days compare with Rational, Middleby, Hoshizaki and Welbilt?

## Inputs

| Name | Type | Required | Description | Allowed values | Default |
|---|---|---|---|---|---|
| `target` | object | yes |  |  |  |
| `target.name` | string | no | 1 to 200 characters. |  |  |
| `target.kpis` | object | yes, when `target` is given | KPI name to value, e.g. {"ebitda_margin": 0.14, "revenue_growth": 0.09}. |  |  |
| `peers` | array of objects | yes | 2 to 200 items. |  |  |
| `peers[].name` | string | yes, in each item of `peers` | 1 to 200 characters. |  |  |
| `peers[].kpis` | object | yes, in each item of `peers` | KPI name to value, e.g. {"ebitda_margin": 0.14, "revenue_growth": 0.09}. |  |  |
| `better` | object | no | Which way is better, per KPI, where the default is wrong. |  |  |

## Example

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

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

```json
{
  "target": {
    "name": "Kuechentechnik Nord GmbH",
    "kpis": {
      "revenue_growth": 0.089,
      "ebitda_margin": 0.141,
      "net_debt_to_ebitda": 1.2,
      "dso": 41
    }
  },
  "peers": [
    {
      "name": "Rational AG",
      "kpis": {
        "revenue_growth": 0.06,
        "ebitda_margin": 0.27,
        "net_debt_to_ebitda": -1.1,
        "dso": 52
      }
    },
    {
      "name": "Middleby",
      "kpis": {
        "revenue_growth": 0.02,
        "ebitda_margin": 0.226,
        "net_debt_to_ebitda": 2.4,
        "dso": 49
      }
    },
    {
      "name": "Hoshizaki",
      "kpis": {
        "revenue_growth": 0.05,
        "ebitda_margin": 0.146,
        "net_debt_to_ebitda": -2.4,
        "dso": 58
      }
    },
    {
      "name": "Welbilt",
      "kpis": {
        "revenue_growth": 0.04,
        "ebitda_margin": 0.18,
        "net_debt_to_ebitda": 3.1,
        "dso": 61
      }
    }
  ]
}
```

REST:

```bash
curl https://api.conecto.chat/v1/tools/valuation_benchmark \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"target": {"name": "Kuechentechnik Nord GmbH", "kpis": {"revenue_growth": 0.089, "ebitda_margin": 0.141, "net_debt_to_ebitda": 1.2, "dso": 41}}, "peers": [{"name": "Rational AG", "kpis": {"revenue_growth": 0.06, "ebitda_margin": 0.27, "net_debt_to_ebitda": -1.1, "dso": 52}}, {"name": "Middleby", "kpis": {"revenue_growth": 0.02, "ebitda_margin": 0.226, "net_debt_to_ebitda": 2.4, "dso": 49}}, {"name": "Hoshizaki", "kpis": {"revenue_growth": 0.05, "ebitda_margin": 0.146, "net_debt_to_ebitda": -2.4, "dso": 58}}, {"name": "Welbilt", "kpis": {"revenue_growth": 0.04, "ebitda_margin": 0.18, "net_debt_to_ebitda": 3.1, "dso": 61}}]}'
```

## Response

```json
{
  "call_id": "5f0c8a2e-3b7d-4c1e-9a64-2d8e1f7b0c93",
  "tool": "valuation_benchmark",
  "status": "succeeded",
  "replayed": false,
  "cost_usd": "$0.00",
  "balance_usd": "$19.75",
  "result": {
    "target": "Kuechentechnik Nord GmbH",
    "peers": 4,
    "kpis": [
      {
        "kpi": "revenue_growth",
        "better": "higher",
        "target": 0.089,
        "n": 4,
        "q1": 0.035,
        "median": 0.045,
        "q3": 0.0525,
        "percentile": 100.0,
        "gap_to_median": 0.044,
        "position": "top quartile",
        "verdict": "strength"
      },
      {
        "kpi": "ebitda_margin",
        "better": "higher",
        "target": 0.141,
        "n": 4,
        "q1": 0.1715,
        "median": 0.203,
        "q3": 0.237,
        "percentile": 0.0,
        "gap_to_median": -0.062,
        "position": "bottom quartile",
        "verdict": "potential"
      }
    ],
    "strengths": [
      "revenue_growth",
      "dso"
    ],
    "potentials": [
      "ebitda_margin"
    ],
    "method": "Quartiles across the peers (Excel's QUARTILE.INC). A KPI in the best quartile is a strength, in the worst a potential; percentile is the share of peers the target does better than, ties counting half."
  }
}
```

`result`: target, peers (how many), kpis (each with better, target, n, q1, median, q3, percentile, gap_to_median, position and verdict), strengths, potentials and method.

## Errors

This tool has no errors of its own.

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_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_forecast](https://conecto.chat/tools/valuation/valuation_forecast.md): Model forecasts with 80% and 95% intervals for revenue, EBITDA or monthly sales, with a confidence label and the plan checked against the range. 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.
