Comps Set Builder
Choose a defensible comparable-companies universe — and be able to defend every inclusion.
Seat
IB · PE · ER/HF
Level
Analyst
Runtime
~30 min
Output
Comps universe table + inclusion rationale
What this helps you accomplish
The comps set decides the valuation before the spreadsheet opens. This workflow builds the candidate universe, applies explicit inclusion/exclusion logic, and documents the rationale so the set survives an MD’s or interviewer’s challenge.
What you get
Not a description of an output. The file itself, in the conventions a banker, a PE associate or a hedge fund analyst already reads without being told.
{TICKER}_comps.xlsx
Excel workbook
- 1
Comps
Market, capital structure, operating metrics, trailing and forward multiples, median and mean — every multiple a live formula
- 2
Inclusion
Why each name is in, which names were rejected and why, and every adjustment made. An empty rejection list is flagged in the sheet as a red flag.
- 3
Sources
Every filing-derived figure resolved to tag, period, form and accession
Where the numbers come from
Fundamentals from each filer’s XBRL tags. Share price and forward consensus are shaded input cells for your own licensed feed — the workbook will not guess a price and then print a multiple off it. EBITDA is built from operating income plus D&A in the sheet, because EBITDA is not a GAAP tag.
Run it yourself
python3 skills/comps-set-builder/build.py NVDA --peers AMD,AVGO,MRVLDelegate · Verify · Decide
The core L3VLUP principle: AI output is never automatically correct. Know what to hand off, what to check, and what only you can own.
Delegate
AI is good enough to do this.
- • Generating the candidate long list from industry classifications and filings
- • Pulling descriptive stats (size, growth, margins) for screening
- • Drafting first-pass inclusion/exclusion notes
Verify
AI accelerates you here, but a professional checks the work.
- • Candidates actually do what the classification says they do
- • No pending-takeover or distressed names polluting trading multiples unflagged
- • Financial metrics used for screening are calendarised and like-for-like
Decide
Judgment the human owns. This is the skill.
- • The comparability criteria themselves — that’s the analytical judgment
- • Borderline inclusions: closest-fit-but-different-scale vs same-scale-but-different-model
- • Whether to segment the set (e.g. high-growth vs mature) rather than force one universe
Inputs required
- Target company
- Purpose: valuation, pitch, fairness context or interview answer
- Any house view on must-include / must-exclude names
The workflow
- 1
Define comparability
Business model, end markets, growth, margins, scale, geography — write the criteria BEFORE listing names.
- 2
Build the long list
Cast wide: direct competitors, adjacent models, the names every banker includes by convention.
- 3
Screen to a short list
Apply the criteria explicitly. Every exclusion gets a one-line reason — that’s what makes the set defensible.
- 4
Sanity-check the spread
If the multiples range is enormous, the set is probably mixing business models. Segment or trim.
- 5
Document the rationale
One table: name, why included, key differences, flags (low float, distressed, pending deal).
Run this skill
Any listed company, anywhere. Ticker or name.
Quality checklist
The output isn’t done until every box ticks.
- Every exclusion has a written reason
- Set size is 5-10 names or explicitly segmented
- Outlier multiples explained or flagged
- You can defend the set out loud in 60 seconds