Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

An audit-ready, lease-adjusted LBO engine with covenants, uncertainty, and a one-click deal pack

License

Notifications You must be signed in to change notification settings

Aniket2002/lbo-stack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

49 Commits

Repository files navigation

LBO Stack πŸ’Ό

Comprehensive LBO Model for Financial Analysis

A sophisticated Python-based LBO model featuring covenant tracking, sensitivity analysis, Monte Carlo simulation, and professional PDF reporting with organized output management.

πŸš€ Quick Start

Installation

pip install -r requirements.txt

Run the Model

Command Line:

cd src/modules
python orchestrator_advanced.py

Interactive Web App:

streamlit run streamlit_app.py

Generated Outputs

All analysis files are automatically saved to the output/ folder:

  • PDF Report: Comprehensive analysis document
  • Charts: Professional visualizations and analysis charts
  • Console: Detailed financial metrics and results
  • Interactive App: Real-time assumption testing and live covenant tracking

πŸ“Š Model Features

Base Case (Auto-generated example)

  • IRR: ~11–13% | MOIC: ×ば぀ | Hold: 5 years
  • Leverage (lease-adjusted): ~60–65% of EV at entry
  • Covenants: Net Debt/EBITDA ≀ ×ば぀ (default), ICR β‰₯ ×ば぀ (default) β€” both configurable in data/accor_assumptions.csv
  • IFRS-16: Lease-in-debt; lease interest included in ICR; lease liability included in net debt at exit
  • Working capital: days-based (AR/AP/deferred revenue)

Advanced Analytics

  • Sensitivity Analysis: IRR vs Terminal EBITDA Margin (Β±400 bps) and Exit Multiple (×ば぀)
  • Monte Carlo: 400 scenarios (configurable), with printed priors and success rule: Οƒ(growth)=Β±150 bps, Οƒ(margin)=Β±200 bps, Οƒ(multiple)=×ば぀; success = no covenant breach + positive exit equity + IRR β‰₯ 8%
  • Deterministic Stress: Named downside with four outputs (IRR, trough ICR, max ND/EBITDA, Breach Y/N)
  • Equity Cash-Flow Vector: IRR computed from the exact equity vector printed in the PDF

Professional Outputs

  • Comprehensive PDF reports with executive summary
  • Professional chart generation (covenant tracking, exit bridge, deleveraging path)
  • Sources & Uses waterfall analysis
  • Exit equity bridge visualization
  • Interactive Streamlit app for real-time scenario analysis

πŸ“ Repository Structure

lbo-stack/
β”œβ”€β”€ src/modules/
β”‚ β”œβ”€β”€ orchestrator_advanced.py # Main LBO model
β”‚ β”œβ”€β”€ lbo_model.py # Core financial modeling
β”‚ └── fund_waterfall.py # Fund economics and waterfall
β”œβ”€β”€ data/
β”‚ β”œβ”€β”€ accor_assumptions.csv # Model assumptions
β”‚ └── accor_historical_recreated.csv # Historical financial data
β”œβ”€β”€ output/ # Generated analysis outputs
β”‚ β”œβ”€β”€ accor_lbo_enhanced.pdf # Comprehensive analysis report
β”‚ β”œβ”€β”€ covenant_headroom.png # Covenant compliance tracking
β”‚ β”œβ”€β”€ deleveraging_path.png # Debt reduction visualization 
β”‚ β”œβ”€β”€ exit_equity_bridge.png # Exit value waterfall chart
β”‚ β”œβ”€β”€ monte_carlo.png # Monte Carlo simulation results
β”‚ β”œβ”€β”€ sensitivity_heatmap.png # Sensitivity analysis heatmap
β”‚ └── sources_uses.png # Sources & uses of funds
β”œβ”€β”€ streamlit_app.py # Interactive web application
β”œβ”€β”€ requirements.txt # Python dependencies
└── README.md # This documentation

πŸ“Š Output Files Description

πŸ“„ PDF Report (accor_lbo_enhanced.pdf)

Comprehensive analysis document containing:

  • Executive summary with key metrics
  • Detailed equity cash flow vector analysis
  • Embedded charts and visualizations
  • Monte Carlo simulation summary
  • Sensitivity analysis results table

πŸ“ˆ Chart Files

covenant_headroom.png

Visual tracking of covenant compliance throughout the investment period:

  • Net Debt/EBITDA ratio vs covenant threshold
  • Interest Coverage Ratio (ICR) vs minimum requirement
  • Color-coded compliance indicators

deleveraging_path.png

Debt reduction visualization showing:

  • Total debt outstanding over time
  • Annual debt paydown amounts
  • EBITDA growth trajectory
  • Net leverage ratio evolution

exit_equity_bridge.png

Exit value waterfall chart displaying:

  • Enterprise value at exit
  • Less: Outstanding debt
  • Transaction costs and fees
  • Net proceeds to equity investors

monte_carlo.png

Monte Carlo simulation results featuring:

  • IRR distribution histogram
  • Success rate analysis
  • P10/P50/P90 percentile markers
  • Risk assessment metrics

sensitivity_heatmap.png

Two-dimensional sensitivity analysis showing:

  • IRR sensitivity to Terminal EBITDA Margin (Β±400 bps) and Exit Multiple (×ば぀) assumptions
  • Color-coded heat map for visual impact assessment
  • Base case positioning within scenario range

sources_uses.png

Sources and uses of funds at transaction entry:

  • Equity contribution breakdown
  • Debt facilities sizing
  • Transaction costs allocation
  • Total use of funds summary

πŸ’» Interactive Web App (streamlit_app.py)

Professional Streamlit application featuring:

  • Real-time assumption testing: Adjust entry/exit multiples, leverage, covenants
  • Live covenant monitoring: Watch ICR and Net Debt/EBITDA move with assumptions
  • Interactive Monte Carlo: Configure scenarios (100/200/400) with reproducible seeds
  • One-click PDF generation: Produces the exact same report as CLI version
  • Professional KPI dashboard: IRR, MOIC, covenant status with visual indicators

πŸ”§ Customization

Edit data/accor_assumptions.csv to modify:

  • Revenue growth assumptions
  • EBITDA margin projections
  • Entry/exit multiples
  • Debt structure and pricing
  • Covenant levels (defaults: Net Debt/EBITDA ≀ ×ば぀, ICR β‰₯ ×ば぀)

πŸ“ˆ Analysis Results Summary

Sample Results (from run: 2025εΉ΄08月13ζ—₯, seed=42)

  • Entry Multiple: ×ば぀ | Exit Multiple: ×ば぀
  • Target Leverage (lease-adjusted): ~60–65% of EV
  • Max Net Debt/EBITDA (observed): ×ば぀ vs covenant ×ば぀
  • Min ICR (observed): ×ば぀ vs covenant ×ば぀
  • Covenant Status: Compliant (no breaches)

Monte Carlo (N=400, seed=42)

  • Success Rate: ~70–80%
  • Median IRR: ~12–13%
  • P10–P90: ~9–17%
  • Success rule: no covenant breach + positive exit equity + IRR β‰₯ 8%

βœ… Why this stands out to PE/IB recruiters

  • Lease-adjusted leverage and explicit covenants with headroom charts
  • Sources & Uses, Exit Equity Bridge, Deleveraging Walk embedded in the PDF
  • Equity cash-flow vector printed and reconciled to IRR
  • Reproducible: one command regenerates the exact PDF; RNG seed pinned
  • Unit tests for IRR monotonicity and equity-vector reconciliation
  • Interactive Streamlit app for live scenario testing and covenant monitoring

πŸ—οΈ Technical Details

  • Python 3.11+ compatible
  • Pandas/NumPy for financial modeling
  • Matplotlib for professional charts with Agg backend
  • FPDF2 for PDF generation
  • Organized output management with dedicated folder structure

πŸ“„ License

MIT License - See LICENSE file for details

About

An audit-ready, lease-adjusted LBO engine with covenants, uncertainty, and a one-click deal pack

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /