← All projects

Screening 6,819 companies

A Python target-search tool: merge several financial databases, filter on profitability, structure and leverage, and produce a defensible shortlist.

The question

How do you go from a universe of several thousand companies to a dozen targets worth a first look, without selection bias and in a reproducible way?

Method

  1. Consolidation of several financial databases: identifier cleaning, currency and fiscal-year alignment.
  2. Successive filters on simple ratios a committee can read:
    • size (revenue),
    • profitability (EBITDA margin, ROCE),
    • structure (net debt / EBITDA),
    • resilience (interest coverage),
    • momentum (revenue growth).
  3. Composite score to rank the survivors, with explicit weights.

Takeaways

  • Coverage ratios often eliminate more cases than margin does.
  • A filter is only worth something if you can explain why a company was excluded.
  • The shortlist is not a conclusion: it is the list of files to open.

The Deal Desk "Sourcing" module reproduces this logic on an illustrative universe of 6,819 companies.

Screening 6,819 companies - Salma Nasser