muhammad.yousaf
All work
2025 – PresentTech Lead → Project ManagerClosed-source

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.

Example evaluation · 8-pillar weighted rubric

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.

77.2/ 100
Above-market5–7× ARR
Hover a pillar — width = weight, fill = score / 5
5-stage pipeline

Where the LLM lives — and where it doesn't

LLMCODEMATH
Stage 1 of 5MetricExtractionServiceLLM

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.

Input
  • DocumentChunk[]
  • ConnectorChunk[]
  • FinancialFormatDetector tags
Output
  • company_metrics: typed key/value records
Why LLM
  • LLM is reliable at finding and naming numbers in messy financial documents. Prompt is constrained to a typed schema; outputs are validated.
Stage 1 / 5— auto-advancing · click any stage to pin
PythonFastAPIReact 19PostgreSQL + pgvectorAzure FunctionsClaude (Sonnet, Haiku)Azure OpenAI
8
Pillars
5
Pipeline stages
6+
File types
2–3
Team size

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
This project is closed-source (built for a Kcube AI client). I'm happy to walk through the architecture, trade-offs, and code on request.