Private Equity Secondaries, Portfolio Pricing & SPA Mechanics
LP Secondary NAV Roll-Forward, Effective Discount & MOIC
Calculate LP Secondary Sale-and-Purchase Agreement (SPA) Closing Price ($M), Effective Closing Discount (%) After Interim Cash Flows, Day-1 Upfront Wire ($M), and Buyer Gross MOIC (x).
Interim distributions between Reference Date and Closing widen a 10% headline discount to 11.11%!
LP secondary transactions price off a lagged Reference-Date NAV (e.g., September 30) but close 3–6 months later. Under standard SPA roll-forward mechanics, Post-Cutoff Distributions received by the Seller reduce the Closing Purchase Price dollar-for-dollar (at 100 cents on the dollar, NOT at the 90% bid percentage!), while Post-Cutoff Capital Calls funded by the Seller are reimbursed dollar-for-dollar: Closing_Price = Ref_NAV * Bid_Pct - Interim_Dist + Interim_Calls! Because a $10.00M dollar discount is spread across a smaller Roll-Forward NAV (Ref_NAV - Interim_Dist + Interim_Calls = $90.00M), Effective Closing Discount widens automatically from 10.00% to 10 / 90 = 11.11%!
Verify on a $100.00M Buyout Portfolio Secondary—Reference_Date_NAV = $100.00M (B2), Headline_Bid_Pct = 0.90 (90.0% of Ref NAV, B3), Interim_Distributions = $15.00M (B4), Interim_Capital_Calls = $5.00M (B5 -> Roll-Forward NAV = $90.00M), Deferred_Seller_Note_Pct = 0.50 (50.0% deferred 12 months interest-free, B6), and Projected_Remaining_Distributions = $132.00M (B7): Adjusted Closing Price equals 90.00 - 15.00 + 5.00 = $80.00M (E2), Effective Closing Discount hits (1 - 80/90) * 100 = 11.11% (E3), Day-1 Upfront Cash Wired is $40.00M (E4), and Buyer Gross MOIC on Total Price reaches 132 / 80 = 1.65x (E5)!
| LP Secondary SPA KPI ($100M Ref NAV @ 90%, -$15M Dist / +$5M Call, 50% Defer) | Formula | Verified Output |
|---|---|---|
| Adjusted Closing Price ($M) | Ref_NAV * Bid_Pct - Interim_Dist + Calls | $80.00M ($90.00M Zero Interim) |
| Effective Closing Discount (%) | (1 - Closing_Price / RollForward_NAV) * 100 | 11.11% (10.00% Zero Interim) |
| Day-1 Upfront Wire ($M) | Adjusted_Closing_Price * (1 - Deferred_Pct) | $40.00M ($45.00M Zero Interim) |
| Buyer Gross MOIC on Price (x) | Remaining_Distributions_M / Closing_Price_M | 1.65x (1.47x Zero Interim) |
SPA Roll-Forward Closing Price & Effective Discount Formula
Validate Ref_NAV > 0, Bid_Pct in (0.30, 1.25], Interim_Dist >= 0, Interim_Calls >= 0, Closing_Price > 0, Deferred_Pct in [0, 0.80], and Remaining_Dist > 0!
=LET(nv_r, B2, bd_p, B3, ds_i, B4, cl_i, B5, df_p, B6, pr_d, B7, IF(OR(nv_r <= 0, bd_p <= 0.3, bd_p > 1.25, ds_i < 0, cl_i < 0, df_p < 0, df_p > 0.8, pr_d <= 0), "Invalid Secondary Bid Input", LET(cp_m, nv_r * bd_p - ds_i + cl_i, rf_n, nv_r - ds_i + cl_i, IF(OR(cp_m <= 0, rf_n <= 0), "Invalid Secondary Bid Input", ROUND((1 - cp_m / rf_n) * 100, 2)))))Simultaneous Sign-and-Close Check (Set Interim Distributions = $0 & Calls = $0)
Set Interim_Distributions B4 = $0.00M and Interim_Calls B5 = $0.00M: Closing Price E2 equals $90.00M, Effective Closing Discount E3 matches the 10.00% headline discount, Day-1 Wire E4 is $45.00M, and Buyer Gross MOIC E5 is 132 / 90 = 1.47x!
=IF(ISTEXT(E3), E3, ROUND(B7 / E2, 2))Try the example
Use the original values or change them to test your understanding.