Skip to content
ArumSoft Learning
KO
    Excel templateBusiness finance

    Startup Cap Table and Series A Dilution Simulator for Excel

    Type who owns what today, the SAFEs you have raised and the terms of the round you are negotiating, and the workbook converts the notes, sizes the option pool, prices the shares and shows each holder's ownership before and after. Change the pre-money or the pool target and every number moves. Filled in for a fictional company with two founders, one angel and three SAFEs.

    Sheets:
    6
    Works with:
    Excel for Microsoft 365, Excel 2016 or later, Excel for Mac and Excel for the web
    Updated:

    Startup Cap Table and Dilution Simulator.xlsx

    Excel workbook (.xlsx) · 26 KB · 6 sheets

    Download template

    Free to download. No sign-up needed.

    What you can do with it

    • See every holder's ownership before and after a priced round
    • Convert SAFEs at the lower of their cap price and discount price
    • Size the option pool top-up to a post-money percentage
    • Test how pre-money valuation and pool size change founder dilution
    Start Here sheet of the cap table Excel template showing Series A terms, post-money valuation, price per share, investor ownership, SAFE shares, new pool shares, founder ownership before and after, and a before-and-after bar chart by holder group
    The Start Here sheet with the sample company that comes in the file.

    What's inside

    The workbook has 6 sheets. You only type on a few of them; the rest calculate.

    SheetWhat it's forYou enterCalculated for you
    Start HereRound terms, results and a before/after chartPre-money valuation, new money, target option pool, lead investor namePost-money, price per share, investor ownership, shares issued, SAFE shares, pool top-up, founder ownership before and after
    CurrentWho owns what today (room for 20 holders)Holder, type, sharesOwnership %, totals, shares excluding the pool
    SAFEsNotes that convert in the round (room for 8)Investor, amount, valuation cap, discountCap price, discount price, conversion price, which applies, shares, effective valuation
    Pro FormaOwnership after the round, plus the round mathNothingShares after, ownership after, change in points, and the nine-line round calculation
    ListsHolder types for the dropdownAdd a type if you need oneNothing
    ChecksSix consistency checksNothingOK or Review

    Before you start

    • Collect the current share counts from your incorporation documents and option grants. Include the unallocated option pool as its own row.
    • For each SAFE, note the amount, the valuation cap (if any) and the discount (if any). The template models pre-money SAFEs; see the tips for post-money SAFEs.
    • Get the term sheet basics: pre-money valuation, amount raised, and the option pool percentage the investor expects after the round.

    Step-by-step guide

    1. Enter the current cap table

      On the Current tab, one row per holder with their type (Founder, Employee, Investor or Option pool) and share count. The ownership column and totals calculate. Keep the unallocated pool as a row of type Option pool; the round math needs it.

    2. Enter the SAFEs

      On the SAFEs tab type each note's investor, amount, cap and discount. Leave the cap blank for a discount-only note. The sheet works out the cap price (cap ÷ current fully diluted shares), the discount price (Series A price × (1 − discount)), takes the lower, and converts the amount into shares.

    3. Enter the round terms on Start Here

      B6 pre-money valuation, B7 new money, B8 the option pool you have agreed to have unallocated after the round, as a percentage of the post-money fully diluted company. B9 is just the investor's name for the Pro Forma tab.

    4. Read the Pro Forma tab

      Every existing holder, every SAFE investor and the new investor with shares before and after, ownership after and the change in percentage points. The pool row shows the top-up. The Round math block underneath shows the nine numbers behind it.

    5. Negotiate with the model

      The three levers that matter: pre-money (B6), pool target (B8) and whether the pool is topped up before or after the money. Watch Start Here B18 and B19: founders before and after. A larger pre-money with a larger pool can leave founders worse off than a smaller pre-money with no top-up.

    6. Check the Checks tab

      Ownership adds to 100% before and after, share counts reconcile within rounding, the pool target is sane, every discount is under 100% and the round terms are present.

    Formula map

    Every formula in the workbook, grouped by the sheet and column it lives in. A column of copied formulas counts once; the range it covers is shown.

    SheetCellsFunctionsWhat it computesReadsFeeds
    CurrentD5 copied down to row 24IFOwnership todayC5, C25The "before" column of the Pro Forma and the founder % on Start Here.
    SAFEsE5 copied down to row 12IFCap priceC5Compared with the discount price in H5.
    SAFEsG5 copied down to row 12IFDiscount priceF5, D5Compared with the cap price in H5.
    SAFEsH5 copied down to row 12IF, MINConversion priceE5, G5J5 divides the amount by this price.
    SAFEsJ5 copied down to row 12IF, ROUNDShares on conversionB5, H5Summed in J13 and fed into the round math on the Pro Forma tab.
    SAFEsB16IF, SUMPRODUCT, IFERRORPass-1 Series A price—Column F links to this cell.
    Pro FormaB41ROUNDFully diluted shares after the roundB37, B38, B39, B40Price per share, investor shares and the pool top-up all follow from this total.
    Pro FormaB42arithmeticSeries A price per shareB41Shown on Start Here B13.
    Pro FormaB44ROUNDNew option pool sharesB40, B41Added to the pool row in column D; shown on Start Here B17.
    Pro FormaD5 copied down to row 24IFShares after the roundB5, C5E5 divides this by the new total.
    Pro FormaF5IFChange in ownershipE5The number founders care about.
    Start HereB19SUMIFFounders after the round—Compare with B18 (before) for total founder dilution.
    ChecksB7IF, ABSShare count reconciles—A larger difference means a formula was edited.

    Every formula, explained

    Each formula below is copied straight from the file, so what you read here is exactly what the cell contains. Click any cell in Excel to see it in the formula bar.

    Ownership todayCurrent!D5 · copied down to row 24
    =IF(C5="", "", C5/$C$25)

    Shares divided by the total fully diluted shares (including the unallocated pool).

    Piece by piece

    C5=""
    Empty row: show nothing.
    C5/$C$25
    Shares ÷ total. The total is absolute so every row divides by the same cell.

    With the sample data: C5 = 4,000,000, C25 = 9,000,000 → D5 result 44.4%

    How it is used: The "before" column of the Pro Forma and the founder % on Start Here.

    How to change it: Nothing to change.

    Learn this: Relative, Absolute and Mixed References in Excel →
    Cap priceSAFEs!E5 · copied down to row 12
    =IF(C5="", "", C5/Current!$C$25)

    The valuation cap divided by the company's fully diluted shares before the round: the maximum price the note can convert at.

    Piece by piece

    C5=""
    No cap: show nothing (the note converts at the discount only).
    C5/Current!$C$25
    Cap ÷ fully diluted shares today.

    With the sample data: C5 = 8,000,000 → E5 result 88.9%

    How it is used: Compared with the discount price in H5.

    How to change it: Pre-money SAFEs divide by shares before the round; post-money SAFEs divide by the post-money capitalization. See the tips.

    Learn this: How to Write Basic Formulas in Excel →
    Discount priceSAFEs!G5 · copied down to row 12
    =IF(B5="", "", F5*(1-D5))

    The Series A price with the note's discount applied. The Series A price used here is the pass-1 price from B16 (see below).

    Piece by piece

    F5
    Pass-1 Series A price per share, linked from B16.
    1-D5
    One minus the discount, for example 0.8 for a 20% discount.

    With the sample data: F5 = 2.02, D5 = 20.0% → G5 result 1.62

    How it is used: Compared with the cap price in H5.

    How to change it: Nothing to change.

    Learn this: How to Write Basic Formulas in Excel →
    Conversion priceSAFEs!H5 · copied down to row 12
    =IF(B5="", "", IF(C5="", G5, MIN(E5, G5)))

    The lower of the cap price and the discount price: the investor always gets the better deal. A note without a cap converts at the discount price.

    Piece by piece

    C5=""
    No cap: use the discount price.
    MIN(E5, G5)
    Otherwise the lower of the two.

    With the sample data: E5 = 88.9%, G5 = 1.62 → H5 result 88.9%

    How it is used: J5 divides the amount by this price.

    How to change it: Nothing to change.

    Learn this: How to Use MIN and MAX in Excel →
    Shares on conversionSAFEs!J5 · copied down to row 12
    =IF(B5="", "", ROUND(B5/H5, 0))

    Amount invested divided by the conversion price, rounded to whole shares.

    Piece by piece

    B5/H5
    Dollars ÷ price per share.
    ROUND(…, 0)
    Whole shares.

    With the sample data: B5 = 500,000, H5 = 88.9% → J5 result 562,500

    How it is used: Summed in J13 and fed into the round math on the Pro Forma tab.

    How to change it: Nothing to change.

    Learn this: How to Round Numbers in Excel: ROUND, ROUNDUP and ROUNDDOWN →
    Pass-1 Series A priceSAFEs!B16
    =IF(SUMPRODUCT(--(B5:B12<>""),
        IFERROR(B5:B12/E5:E12, 0))+Current!$C$25=0,
        0, 'Start Here'!$B$6/(Current!$C$25+SUMPRODUCT(--(B5:B12<>""), IFERROR(B5:B12/E5:E12, 0))))

    A first estimate of the round price assuming every capped note converts at its cap price. The discount prices are tested against this estimate; the final price is then computed on the Pro Forma tab from the actual conversion. This two-pass approach avoids a circular reference.

    Piece by piece

    IFERROR(B5:B12/E5:E12, 0)
    Each note's shares at its cap price (0 where there is no cap).
    SUMPRODUCT(--(B5:B12<>""), …)
    Adds those share counts for the notes that exist.
    'Start Here'!$B$6/(Current!$C$25+…)
    Pre-money ÷ (shares today + SAFE shares at cap).

    With the sample data: B16 result 2.02

    How it is used: Column F links to this cell.

    How to change it: If every note converts at its cap (the usual case when caps are well below the round), pass 1 and the final price give the same result.

    Learn this: How to Use SUMIF and SUMIFS in Excel →
    Fully diluted shares after the roundPro Forma!B41
    =ROUND((B37+B38)/(1-B39-B40), 0)

    The closed-form solution to the pool top-up. The investor gets a fixed share of the company (new money ÷ post-money) and the pool a fixed share (the target), so everyone else must be the remainder: (existing non-pool shares + SAFE shares) ÷ (1 − investor share − pool share).

    Piece by piece

    B37+B38
    Existing shares excluding the pool, plus SAFE conversion shares.
    1-B39-B40
    The fraction of the company left for those holders after the investor's share (B39) and the pool target (B40).
    ROUND(…, 0)
    Whole shares.

    With the sample data: B37 = 8,000,000, B38 = 900,000, B39 = 23.1%, B40 = 12.0% → B41 result 13,708,531

    How it is used: Price per share, investor shares and the pool top-up all follow from this total.

    How to change it: Nothing to change.

    Learn this: How to Write Basic Formulas in Excel →
    Series A price per sharePro Forma!B42
    ='Start Here'!$B$12/B41

    Post-money valuation divided by fully diluted shares after the round. This equals pre-money ÷ pre-money shares, which is how term sheets state it.

    Piece by piece

    'Start Here'!$B$12
    Post-money valuation.
    B41
    Fully diluted shares after the round.

    With the sample data: B41 = 13,708,531 → B42 result 1.9

    How it is used: Shown on Start Here B13.

    How to change it: Nothing to change.

    Learn this: How to Write Basic Formulas in Excel →
    New option pool sharesPro Forma!B44
    =ROUND(B40*B41-Current!$C$28, 0)

    The pool the term sheet asks for, minus the pool that already exists. Only the difference is newly created.

    Piece by piece

    B40*B41
    Target pool share × total shares = the pool after the round.
    Current!$C$28
    The unallocated pool today.
    ROUND(…, 0)
    Whole shares.

    With the sample data: B40 = 12.0%, B41 = 13,708,531 → B44 result 645,024

    How it is used: Added to the pool row in column D; shown on Start Here B17.

    How to change it: Nothing to change.

    Learn this: How to Write Basic Formulas in Excel →
    Shares after the roundPro Forma!D5 · copied down to row 24
    =IF(C5="", "", IF(B5="Option pool", C5+$B$44, C5))

    Existing holders keep their shares; only the option pool row grows by the top-up.

    Piece by piece

    B5="Option pool"
    Is this the pool row?
    C5+$B$44
    Pool today plus the new pool shares.
    C5
    Everyone else: unchanged.

    With the sample data: B5 = Founder, C5 = 4,000,000 → D5 result 4,000,000

    How it is used: E5 divides this by the new total.

    How to change it: Nothing to change.

    Learn this: How to Use the IF Function in Excel →
    Change in ownershipPro Forma!F5
    =IF(D5="", "", E5-Current!D5)

    Ownership after minus ownership before, in percentage points. Negative is dilution.

    Piece by piece

    E5
    Ownership after.
    Current!D5
    Ownership before, from the Current tab.

    With the sample data: E5 = 29.2% → F5 result -15.3%

    How it is used: The number founders care about.

    How to change it: Nothing to change.

    Learn this: How to Write Basic Formulas in Excel →
    Founders after the roundStart Here!B19
    =SUMIF('Pro Forma'!$B$5:$B$33,
           "Founder", 'Pro Forma'!$E$5:$E$33)

    Adds the post-round ownership of every row whose type is Founder.

    Piece by piece

    'Pro Forma'!$B$5:$B$33
    The type column.
    "Founder"
    The type to add.
    'Pro Forma'!$E$5:$E$33
    Ownership after.

    With the sample data: B19 result 51.1%

    How it is used: Compare with B18 (before) for total founder dilution.

    How to change it: Change "Founder" to "Employee" to track the team instead.

    Learn this: How to Use SUMIF and SUMIFS in Excel →
    Share count reconcilesChecks!B7
    =IF(ABS('Pro Forma'!$B$45-'Pro Forma'!$B$41)<=5,
        "OK", "Review")

    The round math rebuilds the total from its parts (existing + SAFE + existing pool + investor + new pool) and compares it with the closed-form total. Rounding each part to whole shares can leave a difference of a few shares, so the test allows 5.

    Piece by piece

    ABS('Pro Forma'!$B$45-'Pro Forma'!$B$41)
    Difference between the rebuilt total and the solved total.
    <=5
    Tolerance in shares.

    With the sample data: B7 result OK

    How it is used: A larger difference means a formula was edited.

    How to change it: Nothing to change.

    Learn this: How to Use the IF Function in Excel →

    Tips and limits

    • The template models pre-money SAFEs (cap ÷ shares before the round). Post-money SAFEs (the YC standard since 2018) convert at cap ÷ post-money capitalization including the SAFEs themselves; in practice the difference is that SAFE holders are not diluted by each other. Model those by entering the SAFE ownership percentages directly (amount ÷ cap) and adjusting the Current tab.
    • The pool top-up is modeled as part of the pre-money (the investor's percentage is new money ÷ post-money, unaffected by the pool). That is the standard investor-friendly structure; a pool created after the money would dilute the investor too.
    • Pass-1 pricing: discount prices are tested against a price that assumes caps apply. When a note would convert at its discount instead, the final price is slightly different from the estimate; the Checks tab's reconciliation stays within rounding either way.
    • This is a modeling tool, not legal or tax advice. Have the final cap table prepared by counsel or a cap table service before closing.

    Learn the skills behind this template

    Was this guide helpful? Spot a mistake? Send feedback · admin@arumsoft.com