BDE — Business Due Diligence Evaluation
Weeks of M&A due-diligence compressed into an 8-pillar score that survives the partner meeting — the LLM evaluates criteria, deterministic code does the math.
Acquisition score, defensible by construction
The LLM never assigns numeric scores. It evaluates boolean criteria; deterministic code applies the rubric, weights pillars, and maps to ARR-multiple valuation bands.
Where the LLM lives — and where it doesn't
Metric Extraction
Reads chunked document content + financial metadata. Extracts structured metrics — ARR, gross margin, growth rates, cohort retention, headcount, etc. Output is typed and traceable to the source chunks.
- DocumentChunk[]
- ConnectorChunk[]
- FinancialFormatDetector tags
- company_metrics: typed key/value records
- LLM is reliable at finding and naming numbers in messy financial documents. Prompt is constrained to a typed schema; outputs are validated.
Summary
Acquisition teams used to spend 2–6 weeks reading hundreds of pages to build a target evaluation. BDE turns that into hours: ingest financials, decks, audio calls and connector data, run a 5-stage scoring pipeline where the LLM only evaluates boolean criteria, output a 0–100 score with an ARR-multiple valuation band. Every score traceable to a metric, every metric to a chunk, every chunk to a page. Live with first paying customer(s).
Highlights
- 5-stage scoring pipeline with strict LLM/code separation for defensibility
- Provider-abstracted LLM layer (Claude default, Azure OpenAI fallback) with model tiering
- Two-tier compute architecture — FastAPI gateway + queue-triggered Azure Functions