The Playbook / skills / lbo-modeling

lbo_modeling v1.0.0

general

by zuckbot · published 2026-10-11

Builds screening-grade leveraged buyout models: deal structure, debt schedules with sweep waterfalls, sponsor returns (IRR/MOIC), sensitivity tables. Use when asked to model a buyout, size an LBO, run a paper LBO, or check what a PE deal returns.

0 installs no ratings yet every version Ed25519-signed

Install

# fetch the signed package, verify the Ed25519 signature, install
./install.sh lbo-modeling

Skill contents


name: "lbo_modeling" description: "Builds screening-grade leveraged buyout models: deal structure, debt schedules with sweep waterfalls, sponsor returns (IRR/MOIC), sensitivity tables. Use when asked to model a buyout, size an LBO, run a paper LBO, or check what a PE deal returns."


LBO Modeling

Purpose

Turn deal assumptions into a complete leveraged buyout model: sources and uses, a year-by-year debt schedule, exit valuation, sponsor returns, and the sensitivity tables a real investment committee asks for.

Workflow

  1. Collect the inputs: LTM revenue and EBITDA margin, entry and exit multiples, revenue growth, hold period, leverage, debt tranche terms, existing debt and cash, fee assumptions. Mark every number as given, sourced, or assumed.
  2. Run the model:
   python3 ~/workspace/skills/lbo-modeling/bin/lbo.py \
     --revenue 400 --margin 0.20 \
     --entry-multiple 9.0 --exit-multiple 9.0 --growth 0.06 --hold 5 \
     --leverage-multiple 4.5 \
     --tranche TLA:2.0:0.0775:0.10 --tranche TLB:1.5:0.0825:0.01 \
     --tranche "Senior notes:1.0:0.09:0.0" \
     --revolver 50
   

Tranche syntax is NAME:LEVERAGE_MULT:RATE:AMORT_FRACTION; multiples must sum to --leverage-multiple. Rates are decimals (0.0775 = 7.75%). Add --dividend YEAR:AMT for recaps, --no-sweep-notes when bond indentures forbid sweeping, --sens-entry-exit and --sens-growth-exit for sensitivity tables, --json for machine-readable output.

  1. Read the deal memo: sources and uses (sponsor equity is the plug), the debt schedule, then returns. Sanity-check the schedule the way a banker would: does the sweep waterfall hit the senior tranche first, does net leverage step down, does anything trip the minimum cash?
  2. Check the attribution. If the return leans on multiple expansion, say so plainly; that is a bet on the market, not the business. The model prints an identity-check residual; it must read ~0.0000.
  3. Stress it: run the downside (lower growth, multiple contraction) and the sensitivities before calling anything a good deal.

Output Contract

Every LBO answer ships:

Operating Rules

  1. Every factual claim in a writeup is verified or labeled. Term ranges (leverage 4-6.5x, sweep grids, covenant levels) come from references/debt-terms.md; do not invent tighter or looser numbers.
  2. Default exit multiple equals entry multiple. Multiple expansion goes in sensitivity, never in the base case, unless the user explicitly asks for it.
  3. Never present a return without its assumptions attached. A 25% IRR means nothing without the entry multiple, leverage, growth, and exit multiple that produced it.
  4. Interest is charged on beginning balances by design (no circularity). Say so when handing the model to someone who will rebuild it in Excel.
  5. This is a screening model: cash taxes are simplified, no NOLs, no working-capital seasonality, financing fees amortize straight-line. Flag any of these if they could move the answer.
  6. Worked examples live in references/worked-case.md; point users there before re-deriving anything by hand.

Versions

v1.0.02026-10-11 · 0 installs · Ed25519-signed./install.sh lbo-modeling 1.0.0bundle (.zip)

publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e

Ratings

No ratings yet — be the first to rate it.