In progress·python · private-equity

ownership-chart

Generate professional ownership structure charts for PE fund structures. UK Companies House integration.


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.

Upward traversal from Blue Light Card

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:

Downward traversal from fund

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, ...)