Multiple shopping is almost never dishonest. In every case I have seen, the analyst believed each individual decision. This company is not really a comparable because its business mix differs. That one is an outlier and distorts the median. This other one should be included because the end market overlaps. Each judgement is defensible standing alone, and the sequence of them arrives, reliably, at a peer median that supports the conclusion the analyst started with.
The control is not more scrutiny of individual inclusion decisions, because they will each survive scrutiny. The control is ordering: the rules are written and the set is locked before the target price exists. Everything below is about making that sequence enforceable rather than aspirational.
How the shopping actually happens
Three mechanisms account for most of it, and none of them look like manipulation from the inside.
The first is iterative construction. The analyst builds a set, computes a median, finds it uncomfortable, revisits the set. Nothing in the file records that there were four versions, because only the final one gets saved. This is by far the most common mechanism and the easiest to close.
The second is the universe boundary. Before any inclusion judgement is made, someone decided what pool the candidates come from: an index, a sector classification, a market cap band, a screen result. That decision has more effect on the median than any subsequent include or exclude call, and it is almost never documented because it does not feel like a decision at all.
The third is the cutoff. Take the same filtered universe, sort it by size, and show the top twenty rather than the top fifty. You have a different peer set and a different median, and you never excluded anybody. The sort key and the display depth did it for you.

I use that screen as the illustration because it makes the mechanism visible in a way a spreadsheet does not. The Company Valuation Engine filters by index, country and sector, sorts on a chosen key, and returns a leaderboard of names. Three controls, and the output of the third is what an analyst in a hurry copies into a comps tab. The protocol below exists to force those three choices into the file before the list is used, rather than reconstructing them afterwards from memory.
Inclusion rules written before the name
Inclusion criteria have to be economic and they have to be stated as thresholds, not as adjectives. "Similar business model" is not a criterion. Here is the shape that works.
- Universe. The exact pool candidates are drawn from, named specifically: which index or classification, which geographies, which market cap band, and the date of the pull. This is the field that gets omitted and it is the one with the largest effect.
- Revenue model. A stated threshold on the share of revenue that must come from the comparable activity. Half is a common line. What matters is that the line exists and applies to every candidate identically.
- Margin structure. A band on gross or operating margin, set relative to the subject company rather than in absolute terms.
- Capital intensity. A band on capital expenditure relative to revenue or to depreciation. Two companies selling similar things with different capital requirements are not comparable, whatever the sector label says.
- Scale. A market cap or revenue band, stated as a ratio to the subject. A range of roughly one fifth to five times the subject's size is a defensible starting point.
- Liquidity and reporting. Minimum trading liquidity and a requirement for a full reporting history over the comparison period, so the multiple is computed on something real.
The threshold values matter less than their fixity. A margin band of plus or minus 800 basis points applied consistently produces a defensible set. The same band widened to 1,200 for one candidate and narrowed to 400 for another produces the number you wanted. Set them at the policy level, not per model, and the analyst's judgement moves to where it belongs: arguing that the thresholds are wrong for this industry, in advance, as a documented exception.
Exclusions, and the outlier that is not an outlier
Exclusion is where most of the damage happens because it operates on the final set, when the median is already visible.
The rule I would enforce is that no exclusion may be made on the basis of the multiple itself. Excluding a company because it trades at 45 times when the rest of the set trades at 18 is not an exclusion, it is an adjustment of the answer. If that company meets every stated inclusion criterion, it belongs in the set and its multiple is information: it says the market prices some businesses in this economic category very differently, which is exactly the kind of thing your comparables analysis should be telling you.
Legitimate exclusions are structural and can be stated without reference to valuation. A pending acquisition means the price reflects a deal rather than the business. A recent restructuring means the reported figures do not describe the ongoing entity. Non standard accounting, a controlled float, or a reporting period that does not overlap yours are all real. Each of these can be checked by someone who has never seen your model, which is the test.
Where an unusual multiple genuinely distorts a small set, the answer is a statistic that handles it rather than a deletion that hides it. Report the median rather than the mean, show the full distribution including the outliers, and give the interquartile range alongside the central figure. A committee looking at a set of nine names with multiples running from 11 to 45 times learns something real. A committee looking at a tidy median of 18 with the 45 quietly removed has been told a story.
Locking the set and pricing changes to it
The protocol is worth nothing without a lock, and the lock is simply a sequence: universe and criteria documented, set generated, set frozen and stored, then and only then multiples computed and applied.
After the freeze, changes are permitted but must be logged like any other model change: what changed, why, and the effect on the implied value in percent. That last field is what deters casual revision. An analyst adding two names and discovering it moves the implied value by 9 percent will think harder about the addition than one who simply sees a nicer median.
A standing rule that has served me well is that any change to the peer set after the target price has been computed requires the same second signature as a material model change. Not because peer additions are inherently suspect, but because the timing is what makes them suspect, and a rule keyed on timing catches the problem without impugning the analyst.
Auditing the protocol from outside
You can test whether any of this is working without opening a single model, using two checks on the population of comps work rather than on individual files.
The first is dispersion of set size. If peer sets across the team range from six names to forty with no relationship to how many genuine comparables exist in each industry, the criteria are not binding. Sets built from real thresholds cluster, because the thresholds do the selecting.
The second is the direction of exclusions. Across every model in the book, tabulate excluded candidates by whether their multiple sat above or below the set median. Under a working protocol this comes out roughly balanced, since structural exclusions have no reason to correlate with valuation. A book where excluded names trade above the median three times as often as below has a finding, and it did not require reading a single memo to surface it.
That second test is worth running before anyone believes the process is fine. Analysts who would never fabricate a comparable will still, over dozens of models, systematically exclude the expensive ones, and the aggregate is the only place that shows up.