Overview
A Python library for generating professional ownership structure charts from raw company data. Built for Private Equity fund structures—handles complex hierarchies, multiple ownership types (economic, legal, voting), and renders output that meets industry standards for fund ops, legal, and KYC workflows.
Why this exists
PE holding structures are complex. Visualizing them is essential for administration, compliance reporting, and capital events like exits or recaps.
Today, even teams at the premier GPs manually build these charts in PowerPoint—slow, error-prone, and disconnected from source data.
Automating this properly requires handling:
- Complex ownership graphs (cross-holdings, co-investments, look-through)
- Multiple relationship types (equity classes, GP/LP units, contractual rights)
- Industry-specific formatting (shapes, rounding conventions, edge styles)
This library provides a clean, extensible toolkit that uses OCF as its canonical format for interoperability with cap table systems.
How it works
1. Ingestion
Starting from a UK company number, the library recursively builds the ownership structure using Companies House data:
- Fetches the latest filings (typically Confirmation Statements)
- Extracts cap table data: owners, share classes, and quantities
- Identifies each owner's registered ID and continues traversal upward
2. Integration
Raw data maps to an extended OCF schema, capturing PE-specific nuances while remaining portable to tools like Carta via standard OCF export.
3. Output
Charts render deterministically with smart defaults:
- Automatic entity positioning and clustering
- Standard shapes (rectangles for corps, triangles for partnerships)
- Configurable rounding and precision
- Export to SVG, PDF, PNG, or Excel (via OCX)
Downward traversal
The library also traverses downward from fund entities to show portfolio holdings:
Being developed
- Golden record dataset for rule calibration and potentially fine-tuning (currently 300+ PE structures)
- Rendering for arbitrarily complex structures (100+ entities, many-to-many)
- Voting and economic rights extraction and views (2x votes, golden shares, liquidation preferences, look-through ownerships, ...)