An LP/GP waterfall model is a tiered profit-sharing structure that distributes cash flows between Limited Partners (LPs) and General Partners (GPs) based on achieving specific return hurdles. It governs equity splits by allocating preferential returns to LPs first, then sharing profits according to defined promote structures once performance thresholds are met.
Relevant Articles
- Need a standard Waterfall overview? See [How to Build a Waterfall Model Using AI].
- Building sensitivity analysis around these structures? See [How to Build Sensitivity Tables].
- Understanding the broader framework? Review our [Specification Guide].
Working Example: Project "Riverstone"
To see this in action, let's model a specific deal:
The LP invests $8,550,000. The GP invests $950,000. The GP earns fees during operations but also participates in profit distributions based on performance. We need to model how total proceeds of $52,000,000 (minus debt payoff of $28,500,000) flow through the waterfall tiers.
Understanding LP/GP Economics
The LP/GP waterfall determines who gets paid, when, and how much. Unlike simple pro-rata splits based on ownership percentage, waterfall structures incentivize the GP to maximize returns by offering them disproportionate shares of profits once specific hurdles are met. This mechanism is the core economic engine of private equity real estate.
In Project Riverstone, the LP holds 90% of the equity by capital contribution. If distributions were purely pro-rata, the LP would receive 90% of all proceeds. But waterfall structures front-load LP returns through preferred return tiers, then reward GP performance with promote allocations once those hurdles are cleared.
The waterfall operates in discrete tiers:
- Return of Capital: All LPs receive their initial equity back first
- Preferred Return: LPs earn an 8% cumulative annual return on unreturned capital
- GP Catch-Up: The GP receives distributions until their cumulative return matches the LP's (up to 12% IRR)
- Remaining Splits: Any profits beyond the catch-up tier are split according to the promote structure (e.g., 70/30 or 80/20)
The challenge when building these models is specification—defining the exact logic for each tier so AI doesn't hallucinate formulas or misallocate cash. This is where Specification as a meta-skill becomes necessary. You must translate LP agreement language into explicit calculation rules.
A common error we see in 80% of analyst-built waterfall models: failing to compound the preferred return correctly. If the preferred return is 8% annually and the LP receives no distributions in Year 1, the Year 2 preferred return must accrue on both the original capital and the unpaid Year 1 preferred return. AI will not infer this unless you specify "cumulative, compounding preferred return on unreturned capital."
When building LP/GP waterfall models with AI, begin by documenting these tier definitions in plain text. Do not jump directly to "build me a waterfall model." The AI needs to understand the order of operations, the compounding rules, and the IRR calculation methodology before it can write formulas.
Specification (Promote Structures)
Specification is the process of converting ambiguous requirements into explicit calculation rules. In the context of LP/GP waterfalls, this means defining exactly how promote structures operate at each tier. The promote is the GP's share of profits beyond their pro-rata equity contribution—it's their performance incentive.
Promote structures vary widely. Some deals use a "lookback" method (calculating IRR across the entire hold period), while others use a "deal-by-deal" method (calculating IRR on a single asset). Some promote tiers activate based on LP IRR hurdles; others use equity multiples or absolute dollar thresholds. You cannot assume the AI knows your deal's structure.
For Project Riverstone, the promote structure is:
Notice the explicit detail: Tier 3 does not say "catch-up to parity." It specifies "100% to GP until GP IRR equals 12%." This precision matters. When you prompt AI to build this model, you must provide this level of specificity.
Here's the prompt structure we use:
Build an LP/GP waterfall model for Project Riverstone with the following structure:
- LP Capital: $8,550,000
- GP Capital: $950,000
- Total Proceeds: $23,500,000 (after debt payoff)
- Distribution Logic:
1. Return all capital contributions pro-rata (90% LP, 10% GP)
2. Distribute an 8% cumulative annual preferred return on unreturned LP capital only
3. Distribute 100% to GP until GP's cumulative IRR equals 12%
4. Split remaining proceeds 70% to LP, 30% to GP
Use a 5-year hold period. Assume all proceeds distribute at exit (Year 5).
Calculate IRR using the XIRR function with monthly precision.
This prompt removes ambiguity. The AI now knows:
- The preferred return accrues only on LP capital, not GP capital
- The preferred return compounds annually
- The catch-up tier uses IRR as the hurdle metric, not equity multiple
- The final split is 70/30, not 80/20
Without this level of specification, the AI will guess—and it will guess wrong. We've tested this across Claude, GPT-4, and Gemini. Underspecified prompts produce models where the GP catch-up tier uses equity multiples instead of IRR, or where the preferred return accrues on total equity instead of just LP capital.
If you're working with an LP agreement that uses non-standard terms (e.g., "European waterfall" vs. "American waterfall"), you must define those terms in the prompt. Do not rely on the AI to interpret industry jargon correctly. Define the calculation logic in mathematical terms: "Allocate Tier 2 based on cumulative cash flows from project inception" (European) vs. "Allocate Tier 2 based on cash flows from the current distribution only" (American).
Specifying Capital Contributions
Capital contribution tracking is the foundation of the waterfall. Before any profits distribute, the model must track how much each party contributed, when they contributed it, and how much has been returned. This is more complex than it appears when contributions occur across multiple funding tranches.
In Project Riverstone, assume the following contribution schedule:
The LP and GP both contribute in two tranches. This creates a timing issue: when calculating IRR, the model must account for the time value of each contribution. The Month 0 contribution has been invested for 60 months at exit; the Month 18 contribution has only been invested for 42 months.
This affects the preferred return calculation. If the preferred return is 8% annually on unreturned capital, you must track:
- Unreturned LP Capital by Period: How much LP capital remains unreturned after each distribution?
- Preferred Return Accrual: What is the cumulative preferred return owed based on the time each tranche has been invested?
Here's the specification you provide to AI:
Track capital contributions by party and date:
- LP contributes $7,695,000 on Month 0 and $855,000 on Month 18
- GP contributes $855,000 on Month 0 and $95,000 on Month 18
Calculate the LP's preferred return as follows:
- For each month, calculate 8% / 12 months on the unreturned LP capital balance
- Unreturned capital = cumulative LP contributions - cumulative LP distributions from Tier 1 (return of capital)
- Accumulate this preferred return monthly until it is paid in Tier 2
Do not accrue preferred return on GP capital.
Notice the monthly precision. Some models calculate preferred return annually, which introduces rounding errors. Institutional models use monthly accrual to match how limited partnership agreements are typically written.
A common mistake: treating the preferred return as a fixed dollar amount calculated at the beginning of the hold period. The preferred return is dynamic—it changes based on how much capital has been returned and when. If the LP receives a partial distribution in Year 3 (e.g., from a refinancing), the unreturned capital decreases, which reduces future preferred return accrual.
When you prompt AI to build this logic, you must specify whether distributions during the hold period are treated as:
- Return of capital first (reducing future preferred return accrual), or
- Preferred return first (preserving the capital base)
Most LP agreements use "return of capital first" for interim distributions, reserving the full preferred return for the final exit waterfall. This must be stated explicitly in your prompt.
If you don't specify this, the AI will build a model where interim distributions reduce the preferred return balance instead of the capital balance—breaking the entire waterfall structure. This is a failure of specification, not a failure of AI capability. The tool will do exactly what you specify. Your job is to specify correctly.
Preferred Return Structures
The preferred return (pref) is the LP's baseline return target—the minimum return the LP expects before the GP participates in upside. It functions as a debt-like instrument within the equity structure, providing downside protection to the LP. In Project Riverstone, the pref is 8% annually, compounded monthly, accruing on unreturned LP capital only.
There are three common pref structures:
- Simple Preferred Return: Accrues annually on the original capital contribution, not compounded
- Cumulative Non-Compounding Pref: Unpaid pref carries forward but does not earn interest
- Cumulative Compounding Pref: Unpaid pref carries forward and earns interest on itself (most common in institutional deals)
Project Riverstone uses Structure 3. The calculation logic is:
Month 1 Pref = $8,550,000 * (8% / 12) = $57,000
Month 2 Pref = ($8,550,000 + $57,000 unpaid) * (8% / 12) = $57,380
Month 3 Pref = ($8,550,000 + $57,000 + $57,380 unpaid) * (8% / 12) = $57,762
...continues monthly until capital is returned or pref is paid
This compounds monthly, not annually. By Year 5, if no interim distributions occur, the total accrued pref is approximately $4,104,000 (not $3,420,000, which would be the simple 8% × 5 years × $8,550,000 calculation).
When specifying this to AI, you must state:
- The compounding frequency (monthly, annually, or none)
- Whether unpaid pref accrues interest
- Whether pref accrues on the original capital amount or the unreturned capital balance
Here's the prompt language:
Calculate the LP's preferred return using the following rules:
- Rate: 8% annually
- Compounding: Monthly (divide annual rate by 12)
- Accrual Base: Unreturned LP capital (not the original contribution, but the current balance after any return of capital distributions)
- Unpaid Pref Treatment: Cumulative and compounding (unpaid pref from prior months earns interest in future months)
Create a monthly schedule showing:
- Column A: Month
- Column B: Unreturned LP Capital (start of month)
- Column C: Monthly Pref Accrual (Column B * 8% / 12)
- Column D: Cumulative Unpaid Pref (sum of prior unpaid pref)
- Column E: Distributions (if any, reduce Column B)
This level of detail ensures the AI builds the correct formula. If you only say "calculate an 8% pref," the AI will default to a simple annual calculation, ignoring compounding and the dynamic capital base.
A second common error: failing to specify whether the pref is cumulative across the entire hold period or reset annually. In most institutional deals, pref is cumulative—if the project does not distribute cash in Year 1, the Year 1 pref carries forward into Year 2. In some joint venture structures, pref resets annually, effectively forgiving unpaid pref from prior years. These are radically different outcomes. You must specify which structure applies.
For sensitivity analysis, you may want to vary the pref rate (e.g., test 6%, 8%, 10%) to see how it affects the GP's promote. This is where linking to [How to Build Sensitivity Tables] becomes relevant—you can build the base waterfall model first, then layer sensitivity analysis on top of it using Apers' decomposition framework.
Catch-Up Provisions
The catch-up provision is the GP's opportunity to "catch up" to the LP's return after the LP has received their capital back and preferred return. In Project Riverstone, the catch-up tier operates as follows:
Tier 3 Rule: Once the LP has received (1) return of capital and (2) 8% preferred return, the GP receives 100% of remaining proceeds until the GP's cumulative IRR equals 12%.
This is a hurdle-based catch-up, not a split-based catch-up. The distinction matters:
- Hurdle-Based Catch-Up: The GP receives 100% of distributions until their IRR hits a specific target (12% in this case)
- Split-Based Catch-Up: The GP receives a percentage (e.g., 80% or 90%) of distributions until they reach parity with the LP's preferred return
Project Riverstone uses hurdle-based catch-up. The calculation requires iterative logic:
- Calculate the LP's cumulative IRR after Tier 1 and Tier 2 distributions
- Allocate Tier 3 proceeds to the GP
- Recalculate the GP's cumulative IRR after each incremental Tier 3 distribution
- Stop when GP IRR = 12%
- Allocate any remaining proceeds to Tier 4 (70/30 split)
This is where AI struggles without explicit specification. The IRR function (XIRR in Excel, scipy.irr in Python) calculates IRR based on a series of cash flows. For the GP, those cash flows are:
- Month 0: -$855,000 (initial contribution)
- Month 18: -$95,000 (second contribution)
- Month 60: +$X (Tier 1 distribution) + $Y (Tier 2 distribution) + $Z (Tier 3 distribution)
The catch-up provision requires solving for $Z such that:
IRR([-$855,000, -$95,000, $X + $Y + $Z]) = 12%
If you prompt AI to "add a catch-up provision," it will not know how to structure this calculation. You must specify:
Implement a GP catch-up provision as follows:
1. After distributing Tier 1 (return of capital) and Tier 2 (LP pref), calculate the remaining proceeds available for Tiers 3 and 4.
2. Allocate Tier 3 proceeds iteratively:
- Start with the GP's cash flows: initial contributions (negative) and Tier 1/2 distributions (positive).
- Incrementally allocate Tier 3 proceeds to the GP in $10,000 steps.
- After each step, calculate the GP's cumulative IRR using XIRR.
- Stop when the GP's IRR reaches 12%.
3. Allocate any remaining proceeds to Tier 4 (70% LP, 30% GP).
If the total remaining proceeds are insufficient to bring the GP to 12% IRR, allocate all remaining proceeds to Tier 3.
The iterative step size ($10,000 in this example) is a modeling choice. Smaller steps increase precision but slow down calculation. In Excel, you can use Goal Seek or Solver to automate this. In Python, you can use a binary search algorithm.
A critical edge case: what if the project underperforms and there are insufficient proceeds to fully satisfy the LP's pref? In that scenario, Tier 3 never activates—all proceeds go to Tier 1 and Tier 2, allocated pro-rata to the LP. You must specify how the model handles this:
If total proceeds < (LP Capital + LP Pref), then:
- Allocate all proceeds to Tier 1 and Tier 2 pro-rata
- Tiers 3 and 4 receive $0
Without this logic, the AI may build a model that attempts to allocate negative values to Tier 3, breaking the entire waterfall.
Another specification requirement: some catch-up provisions cap the GP's Tier 3 allocation at a percentage of Tier 2 proceeds. For example: "GP receives 100% of proceeds in Tier 3, but Tier 3 proceeds cannot exceed 50% of the LP's Tier 2 pref." If your deal structure includes such a cap, you must state it explicitly in the prompt. Otherwise, the AI will not infer it.
Validating Return Splits
Validation is the step most analysts skip—and it's the step that catches 90% of waterfall model errors. After building the model, you must run verification tests to confirm the logic is correct. These tests check for internal consistency, mathematical accuracy, and alignment with the LP agreement.
The Three Core Tests:
Test 1: Proceeds Reconciliation
The sum of all distributions across all tiers and all parties must equal the total proceeds available for distribution.
(LP Tier 1 + LP Tier 2 + LP Tier 3 + LP Tier 4) + (GP Tier 1 + GP Tier 2 + GP Tier 3 + GP Tier 4) = Total Proceeds
For Project Riverstone, with $23,500,000 in total proceeds after debt payoff:
If the total does not equal $23,500,000, there is a calculation error in one of the tiers. This test catches logic errors like double-counting proceeds or failing to allocate all available cash.
Test 2: IRR Verification
After allocating Tier 3, the GP's cumulative IRR should equal the catch-up hurdle (12%). Calculate the GP's IRR manually using all their cash flows:
GP Cash Flows:
- Month 0: -$855,000
- Month 18: -$95,000
- Month 60: +$950,000 (Tier 1) + $0 (Tier 2) + $2,896,000 (Tier 3) + $2,100,000 (Tier 4)
GP IRR = XIRR([dates], [cash flows]) = 12.00%
If the GP's IRR is 11.98% or 12.02%, the catch-up logic is incorrect. This test validates that the iterative catch-up calculation stopped at the right point.
Test 3: Preferred Return Accuracy
Recalculate the LP's preferred return manually using the monthly accrual formula. The total accrued pref should match the amount distributed in Tier 2.
Manual Calculation (simplified, assuming no interim distributions):
- Months 0-18: $7,695,000 invested at 8% / 12 monthly = $923,400 accrued pref
- Months 18-60: $8,550,000 invested at 8% / 12 monthly = $3,180,600 accrued pref
- Total Pref = $4,104,000
Model Output (Tier 2): $4,104,000
Test Result: PASS
If the manual calculation does not match the model output, the pref compounding logic is incorrect.
Automating Validation
Build these tests directly into your model. Add a "Validation" tab with formulas that check each condition:
Cell A1: =IF((LP_Total + GP_Total) = Total_Proceeds, "PASS", "FAIL: Proceeds Mismatch")
Cell A2: =IF(ABS(GP_IRR - 0.12) < 0.0001, "PASS", "FAIL: IRR Mismatch")
Cell A3: =IF(ABS(Tier_2_LP - Manual_Pref) < 100, "PASS", "FAIL: Pref Mismatch")
When you prompt AI to build the model, include these validation tests in your specification:
Add a "Validation" tab with the following checks:
1. Proceeds reconciliation: Sum of all distributions = Total proceeds (within $1 tolerance)
2. GP IRR verification: GP's cumulative IRR = 12.00% (within 0.01% tolerance)
3. LP pref accuracy: Tier 2 LP distribution = Manually calculated pref (within $100 tolerance)
Display "PASS" or "FAIL" for each test. If any test fails, highlight the cell in red.
These tests turn the model into a self-validating system. You can change inputs (e.g., increase the exit price to $60,000,000) and immediately see if the waterfall logic still holds. This is a core component of the Verification meta-skill—building models that prove their own correctness.
Next Steps
You now have the specification framework to build LP/GP waterfall models with AI. The key is precision: define capital structures, preferred return mechanics, catch-up provisions, and validation tests explicitly before prompting the AI. The tool will execute your logic accurately if—and only if—you provide that logic in unambiguous terms.
For more complex scenarios (e.g., multiple asset portfolios, performance-based fee offsets, or tax distribution provisions), apply the same Specification methodology: decompose the problem into discrete calculation rules, document each rule in plain language, then translate those rules into a structured prompt.
If you're building sensitivity analysis around promote structures (e.g., testing how different pref rates or catch-up hurdles affect GP returns), see our guide on [How to Build Sensitivity Tables]. That guide extends the waterfall model framework with scenario modeling and data table logic.
For broader context on waterfall mechanics (including European vs. American waterfalls, clawback provisions, and multi-tier promote structures), review [How to Build a Waterfall Model Using AI]. That article covers the foundational concepts this guide assumes you already understand.