Prototype
What's market?
A tool that reads a large corpus of public M&A agreements and reduces each deal to a structured record of its terms, with every term tied to the passage it came from. Once the deals are in that form they can be filtered, benchmarked against one another, compared side by side, and searched by meaning. The tool ingests agreements and associated filings and extracts information concerning the deal. The prototype is built on public M&A documents, but could just as easily work on local copies of private deals.
- Input
- Public M&A agreements and filings (SEC EDGAR)
- Output
- Structured deal terms, market analytics, cited clause search
- Prototype Corpus
- 486 transactions, 2020–2024
- Built
- 2026
Why I built it
Law firms generally do not have strong analytics on what is market across a range of deals and rely heavily on institutional memory and knowledge. This tool allows for on-demand analytics regarding what is market for transactions and is filterable across any dimension. It provides a rich data interface for agreements that are otherwise just walls of text. It also enables much more sophisticated and faster searches for precedents.
The tool ingests the corpus once and extracts structured data that can then be leveraged. The result is a dataset in which every deal has the same fields, so a question like "what is the median termination fee on private equity buyouts of public targets" becomes a filter and a chart rather than a research assignment. Because every value is tied back to the clause it came from, a number can be checked against the actual language rather than taken on trust.
What it does
The main view is a dashboard over the corpus. The filters on the left define a cohort — transaction structure, acquirer type, target ownership, indemnity regime, deal size, vintage, industry — and every panel recomputes against the selection. Clicking a segment in any chart narrows the cohort further.
Benchmark places a single deal against the cohort. For each term it shows where that deal sits: for numeric terms, its percentile against the cohort median and interquartile range; for categorical terms, how the cohort is distributed and which category the deal falls into.
Compare puts up to five deals side by side, field by field, with an option to show only the fields on which they differ.
Search runs across every clause in the underlying agreements, by meaning, by keyword, or both, and returns the passages themselves with a reference to the source document. It is the fastest way to find precedent language for a term once the analytics have shown what is typical.
The deal map places every transaction as a point in space, with similar deals near one another. It can be coloured by any category, and clicking a deal lists its nearest neighbours.
How it was built
Built in Python and React with the help of Claude Code. Source is not public, but I am happy to walk through it.