A long list of add-on targets is easy to produce. The awkward part starts when somebody asks why company 47 made the cut and company 52 did not.
I have seen target lists grow through a familiar mix of database exports, conference exhibitor lists, Google searches and names collected from management. By the time the file has 100 rows, the associate maintaining it knows that half the descriptions are stale and several companies have been scored on evidence no one can trace. AI can clean up that middle stage. It still needs a clear acquisition thesis, a fixed scorecard and source-level review.
Start with the platform thesis
Write the acquisition rule before opening a tool. A usable rule should cover customer, product, geography, size and disqualifiers. “Commercial fire-safety services” is too loose. A tighter version might read:
- installs and services inspection-led fire-safety systems
- earns most revenue from recurring inspection, service and monitoring
- serves commercial or industrial sites in the Midwest
- has an estimated 20 to 150 employees
- excludes product manufacturers, residential-only installers and fire departments
That definition becomes the instruction file for the screening run. Save it beside the source list. If the thesis changes, change the file and rerun the scores. Quietly changing the logic in the spreadsheet leaves a shortlist that cannot be reconstructed.
Set up the working folder
For a 100-company screen, I use a local folder with four files:
platform-thesis.mdtargets-raw.csvscreening-schema.mdsources/
Claude Code or Codex can work across this folder, read the CSV, write scripts and produce a new file without pushing the target list through repeated copy-paste sessions. Use the environment your firm has approved. Keep confidential seller notes, banker commentary and personal data out unless the approval covers them.
The schema should separate observed facts from estimates. Useful fields include company name, website, headquarters, service mix, end market, ownership, employee range, recurring-revenue indicators, source URL, source date, confidence and disqualifier. Leave the score until the evidence fields exist.
Use a scorecard that can survive a partner review
A five-part scorecard is usually enough:
- service fit, 0 to 30
- customer and end-market fit, 0 to 20
- geographic fit, 0 to 15
- apparent size fit, 0 to 15
- acquisition practicality, 0 to 20
Write the scoring anchors. A 30 for service fit might require inspection, service and monitoring to be core offerings. A 15 might mean installation is clear but recurring service is uncertain. A zero means the company is a manufacturer, consultant or unrelated contractor.
The model should apply the rubric, not improvise it.
A worked enrichment and scoring prompt
Run discovery separately from scoring. The following prompt assumes that the names already exist in targets-raw.csv.
You are screening add-on acquisition targets for a commercial fire-safety
services platform.
Read platform-thesis.md and screening-schema.md. For each company in
targets-raw.csv:
1. Confirm the official website. Do not rely on the name alone.
2. Capture evidence for service mix, customer type, geography, ownership and
apparent scale.
3. Record the exact URL and a short supporting quote for every material field.
4. Mark a field UNKNOWN when the source does not support an answer.
5. Apply the score anchors in screening-schema.md.
6. Add a one-sentence score rationale that refers only to captured evidence.
7. Flag hard disqualifiers separately. Do not bury them inside a low score.
Write results to targets-screened.csv. Do not overwrite the raw file.
Create review-queue.csv containing:
- all companies with confidence below MEDIUM
- all scores within five points of the shortlist cutoff
- all cases where company identity or ownership is ambiguous
- all hard disqualifiers
Before finishing, report counts by score band, confidence level and disqualifier.
Do not describe a company as recurring-revenue unless a source supports a
contract, inspection, monitoring, maintenance or repeat-service claim.
That last sentence matters. Website copy such as “full-service provider” often gets translated into recurring revenue even when no maintenance program is mentioned.
Review identity before fit
The first failure mode is often entity matching. There may be three companies with similar names, a location page masquerading as a headquarters, or an acquired brand whose old website still ranks.
Check the official domain, location and service description together. If two fields conflict, hold the row. A confident score attached to the wrong company is worse than an empty row.
I also keep the raw name supplied by the database in its own column. That makes mergers, rebrands and duplicate records easier to trace.
Check false positives
Take 15 names above the proposed cutoff and review them by hand. Include the highest scores, five companies just above the line and any row with a surprisingly polished rationale.
For each one, ask:
- Does the source actually prove the service claim?
- Is the business an operator or a manufacturer/distributor?
- Is the office inside the target geography, or merely serving it?
- Is the employee estimate current enough to use?
- Did the score count the same fact twice?
Record the result as confirmed, downgraded or removed. If more than two of the 15 are material false positives, fix the instruction or data source and rerun the full file. Do not patch only the reviewed rows.
Check false negatives
A shortlist can look clean while missing the less visible owner-operated companies that make the strategy work.
Build a small known-good set from management names, prior deals, trade associations and companies already reviewed by the deal team. Hide ten of those names before the run. After screening, check where they landed. A known fit ranked 82nd is a useful failure: perhaps the website uses a different service vocabulary, the geography rule is too narrow, or the size proxy penalizes private companies.
Then search below the cutoff for rows with high service fit and low confidence. Those are often worth a manual pass. Missing data should not behave like negative evidence.
Turn the shortlist into a research queue
The output should support the next week of work. Give every shortlisted company a clear next action:
- confirm owner and transaction history
- validate recurring service mix
- estimate site density
- ask management whether the service set fits
- find a warm route
- hold for later
The score ranks the research queue. It does not authorize outreach, label a company “actionable” or settle valuation. Those judgments need information outside the public web.
Keep the evidence beside the row
Store a URL, source date and quote for each important field. A source column containing only a homepage is weak. Link to the page that supports the claim.
For high-priority targets, open every cited page. Automated checks can identify dead links and duplicate citations. A person should still confirm that the visible text supports the row. Websites change, and search snippets can survive after the underlying page disappears.
Refresh the file without losing history
A monthly refresh works better than a rebuild. Preserve the prior score, current score and reason for change. Ask the harness to update rows only when a source has moved or new evidence exists.
Compare targets-screened-current.csv with targets-screened-prior.csv.
Recheck source URLs and refresh evidence dated more than 90 days ago.
Write changes.csv with old value, new value, supporting URL and reason.
Do not replace an existing fact with UNKNOWN because a page is temporarily
unavailable. Flag it for review.
That gives the team a useful change log: new locations, service additions, ownership changes and companies that now sit inside the size range.
Test the cutoff and record overrides
A shortlist cutoff creates false precision. Run the ranking at two nearby cutoffs and see which companies move in and out. If a five-point change replaces half the list, the score is too sensitive for the evidence available. Review the unstable rows before adding another decimal place.
Record human overrides in their own columns: original score, override, reviewer, reason and date. Good reasons include a known ownership issue, customer overlap confirmed by management or a service nuance missed by the public website. “Partner preference” is still a reason, but it should be visible. Never edit the underlying evidence to make an override look model-driven.
Also compare scores by data availability. Private companies with sparse websites should not all fall to the bottom because public companies disclose more. Use confidence to route research and keep the fit score tied to observed fit.
Keep outreach outside the screen
The screening file can suggest research priority. It should not generate or send outreach without a separate review. Company identity, owner details and the reason for contact all need verification. A wrong message to a similarly named business exposes the process and makes the platform look careless.
Prepare a handoff with the official domain, verified contact route, evidence summary and unresolved questions. The person running outreach can then decide whether the name is ready. Keep any personal contact data under the firm’s rules and out of general research prompts.
A compact reviewer checklist
Before moving a company to the shortlist, confirm the official entity, service evidence, geography, scale proxy, ownership status and the source date. Recalculate the score from the captured fields. Read any disqualifier. Then write the next action in plain language.
That review takes a few minutes per priority name. It is cheaper than explaining later why a manufacturer entered an operator-only list or why a target outside the territory received the highest score.
Use the right source for each field
Company websites are strongest for services and locations, weaker for size and ownership. Corporate registries, transaction announcements and credible trade publications can fill those gaps. Job boards may suggest hiring or location activity, but they should not become revenue evidence. Database fields are leads until checked.
Tell the harness which sources may support each field. A homepage can support a service category. It cannot prove the share of recurring revenue. A LinkedIn employee count can be a rough scale indicator if the date and uncertainty are visible. This source hierarchy stops one convenient page from carrying the whole score.
In practice
A defensible screen is a chain from thesis to field evidence to score to human review. The harness helps with the repetitive work: opening pages, applying the same schema, writing citations and rebuilding the queue. The investor still sets the acquisition logic, reviews edge cases and decides which companies deserve time.
If the final file cannot explain why a target ranked 12th, it is not ready for the Monday pipeline meeting.
For the earlier discovery step, see How to Use AI for Private Equity Market Mapping. The full series sits in How to Use AI in Private Equity. Once a priority target reaches diligence, the next playbook is AI for CIM Review.
Tool references
Claude Code overview: https://www.anthropic.com/claude-code
OpenAI Codex: https://openai.com/codex/
