Two Minute Football Field Chart
create_football_fieldGenerate a slide-deck-quality football field chart, the valuation summary used in banking and corporate-development decks: one floating horizontal bar per method from its low to its high value on a shared axis with round gridlines, the method name and an optional assumption line ("8.0x–10.0x EV/EBITDA") on the left, low and high values printed at the bar ends, up to 3 dashed marker lines (current share price, offer price) and an optional shaded implied range. Choose it for valuation ranges (DCF, trading comps, precedent transactions, 52-week range, analyst targets, LBO) and for any comparison of low–high ranges on one scale, such as salary bands, cost or estimate ranges, or price ranges by scenario. Use a timeline (Gantt) when the ranges are dates, a Harvey ball matrix for scores against criteria, and a pyramid/funnel for stage volumes. Values are plain numbers; set prefix ("$", default), suffix ("m", "/sh", "x") and decimals for display. Limits: 1–12 rows, 0–3 markers; a low above its high is swapped with a warning. Infer missing details rather than asking; the user can adjust the chart in the builder through the Edit link. ALWAYS give the user the image link: inline chat images usually cannot be saved, but the link renders the exact chart on demand and can be pasted into a slide or Markdown.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rows | Yes | The valuation methods, top to bottom (1–12; extra rows are dropped with a warning). Each row is one horizontal bar from low to high on the shared axis, e.g. { "method": "Trading comps", "detail": "8.0x–10.0x EV/EBITDA", "low": 42, "high": 51 }. A row whose low is above its high is swapped and reported as a warning. | |
| range | No | Optional shaded band behind every row, e.g. the implied valuation range: { "low": 48, "high": 55, "label": "Implied range" }. Its label and values are shown above the band. Omit for none (the default). | |
| title | No | Heading shown top-left of the chart at 22px bold. Every chart has one title row; an empty string hides it. | Valuation summary |
| width | No | Chart width in pixels (640–2400, default 1280, which suits a 16:9 slide). PNG output renders at 2x. Height is computed from the number of rows. | |
| credit | No | Shows a small "twominutetoolkit.com" credit under the chart, inside the card. Set false to leave it off (for example when the user asks for no branding). | |
| prefix | No | Text put before every value, default "$". Use "€", "£" or "" (none), e.g. "" for multiples. | $ |
| suffix | No | Text put after every value, default "" (none). E.g. "m" for $ millions, "/sh" for per share, "x" for multiples, "%" for percentages. | |
| axisMax | No | Optional right end of the value axis, e.g. 70. Omit (recommended) and the axis ends at a round number slightly above the largest value. | |
| axisMin | No | Optional left end of the value axis, e.g. 30. Omit (recommended) and the axis starts at a round number slightly below the smallest value. Bars beyond the axis are cut off with a warning. | |
| markers | No | Optional vertical dashed reference lines across every row (0–3), each labelled at the top with its label and value, e.g. [{ "label": "Current price", "value": 45.1 }, { "label": "Offer", "value": 52 }]. Default: none. | |
| palette | No | Hex colours. Every bar takes the FIRST palette colour unless the row sets its own colour, so a brand colour as the first entry recolours the whole chart. Default: indigo, sky, emerald, amber, red, gray. | |
| decimals | No | Decimal places for every value (0–3), e.g. 2 shows 45.10. Omit (the default) to show each value as given, rounded to at most 2 decimals. | |
| showValues | No | Print the low and high values just outside each end of every bar. Default true. |