Venture Capital & Startup Cap Tables
Broad-Based Weighted Average vs Full Ratchet Formula
Calculate Down-Round Preferred Conversion Price under Broad-Based Weighted Average CP_new = CP_0 * (A + B) / (A + C), Narrow-Based Weighted Average, and Full Ratchet anti-dilution.
Compare Broad-Based Weighted Average against punitive Full Ratchet down-round repricing!
When a startup raises a down round at P_down < Initial_Conversion_Price CP_0, NVCA charter anti-dilution clauses reprice prior Preferred Stock downward so each Series A share converts into CP_0 / CP_new Common shares! Under standard Broad-Based Weighted Average, CP_BB = CP_0 * (A + B) / (A + C), where A = Issued_Common_and_Preferred + Unallocated_Option_Pool (fully diluted pre-money shares), B = New_Money / CP_0 (shares that WOULD have been issued at old price CP_0), and C = New_Money / P_down (actual down-round shares issued). A Narrow-Based clause strips the unallocated option pool out of A (shrinking numerator & denominator equally so CP_NB < CP_BB), while a Full Ratchet reprices 100% of Series A all the way down to P_down regardless of whether the startup raised $100,000 or $50,000,000!
Try it on Issued_Pre_Shares S_iss = 9.00M (B2), Unallocated_Option_Pool S_pool = 1.00M (B3 -> Broad-Based A = 10.00M), Series_A_Invested I_A = $10.00M (B4), Initial_CP_0 = $2.00/sh (B5 -> 5.00M initial Series A shares), Down_Round_Cash M_new = $6.00M (B6), and Down_Round_Price P_down = $1.00/sh (B7): B = 6.00 / 2.00 = 3.00M, C = 6.00 / 1.00 = 6.00M, so Broad-Based CP_BB = 2.00 * (10 + 3) / (10 + 6) = $1.6250/sh (converting Series A into 10.00 / 1.6250 = 6.1538M shares, +1.1538M anti-dilution bonus shares); Narrow-Based CP_NB = 2.00 * (9 + 3) / (9 + 6) = $1.6000/sh; and Full Ratchet slashes CP_FR to $1.0000/sh (10.00M shares, +5.00M bonus shares)! A classic cap-table mistake is forgetting MIN(CP_0, ...) so an UP round (P_down = $2.50 > $2.00) accidentally raises CP_BB above $2.00! In a shared Arte Sheets cap table, have a suggester propose the clamped formula and ask the in-app Pro Assistant for a hint: "Check E2 when B7 exceeds B5—why must anti-dilution clamp at initial conversion price CP_0?"
| Anti-Dilution Regime ($10M Series A @ $2.00, $6M Down Round @ $1.00) | Formula | Verified Output |
|---|---|---|
| Broad-Based Conversion Price CP_BB | MIN(CP_0, CP_0 * (A_broad + B) / (A_broad + C)) | $1.6250 / sh (6.1538M sh) |
| Narrow-Based Conversion Price CP_NB | MIN(CP_0, CP_0 * (A_narrow + B) / (A_narrow + C)) | $1.6000 / sh (6.2500M sh) |
| Broad-Based Bonus Shares Issued (M) | I_A / CP_BB - I_A / CP_0 | +1.1538M shares |
| Full Ratchet Bonus Shares Issued (M) | I_A / MIN(CP_0, P_down) - I_A / CP_0 | +5.0000M shares (+3.8462M harsher) |
Clamped Broad-Based Weighted Average Conversion Price Formula
Wrap CP_0 * (A + B) / (A + C) inside MIN(CP_0, ...) so up-rounds at P_down >= CP_0 leave CP_BB unchanged at CP_0!
=LET(sh_is, B2, sh_pl, B3, inv_a, B4, cp_in, B5, mn_nw, B6, px_dn, B7, IF(OR(sh_is <= 0, sh_pl < 0, inv_a <= 0, cp_in <= 0, mn_nw <= 0, px_dn <= 0), "Invalid Anti-Dilution Input", LET(a_br, sh_is + sh_pl, b_sh, mn_nw / cp_in, c_sh, mn_nw / px_dn, ROUND(MIN(cp_in, cp_in * (a_br + b_sh) / (a_br + c_sh)), 4))))Full Ratchet vs Broad-Based Incremental Founder Dilution Formula
Compare Series A converted shares under Full Ratchet I_A / MIN(CP_0, P_down) minus initial shares I_A / CP_0!
=IF(ISTEXT(E2), E2, ROUND(B4 / MIN(B5, B7) - B4 / B5, 4))Try the example
Use the original values or change them to test your understanding.