liveBook · Manning

Dilution

As explained in Investing for Programmers

Dilution is the reduction in an existing shareholder's ownership proportion or claim per share caused by the issuance of additional shares.

Dilution reduces an existing shareholder’s ownership percentage when a company issues new shares. In equity funding, preexisting owners hold fewer shares of the whole unless they participate in the round. section 12.3.2

Use dilution analysis to check both ownership and the value created by new capital:

  • Stock-based compensation can expand outstanding shares over time, giving each existing share a smaller claim. section 2.4.7
  • A smaller percentage can still be favorable when funding increases the company’s valuation and value per share. section 12.3.2
  • Repeated fundraising reduces owners’ stakes and requires evidence that earnings and profitability are improving. section 12.3.2

A seed-round calculation

Fred and Lin begin with 1,000,000 shares split equally. Issuing 333,333 new shares to an investor for 25% increases the total to 1,333,333, leaving the founders with 75% collectively. Multiple rounds can be modeled with Python and pandas. section 12.3.2

Listing 12.2 Calculating dilution
import pandas as pd

total_shares = 1_000_000             #1
founder_shares = 500_000            #1

funding_rounds = [
    ("Seed", 500_000, 25),          #1
    ("Series A", 2_000_000, 20),    #1
    ("Series B", 10_000_000, 15),   #1
    ("Series C", 50_000_000, 10)    #1
]

dilution_data = []

for round_name, investment, equity_given in funding_rounds:
    new_shares = (total_shares * 
                 (equity_given / 
                  (100 - equity_given)))                     #2
    total_shares += new_shares                              #2
    founder_ownership = (founder_shares / 
                         total_shares) * 100                #2
    dilution_data.append([round_name, 
                          investment, 
                          int(total_shares), 
                          round(founder_ownership, 2)])     #2

df = pd.DataFrame(dilution_data, 
                  columns=["Round", "Investment ($)", "Total Shares", 
"Founder Ownership (%)"])
df

Inspect a Python listing that calculates new shares, total shares, and founder ownership across seed through Series C rounds. section 12.3.2

How Investing for Programmers covers it

How deep it goes
Defines dilution, works through a seed-round calculation, and models multiple rounds in Python without detailed valuation mechanics.
Examples
Uses a founders’ seed round, successive Series rounds, and a Facebook ownership example.
What it assumes
Uses shares, ownership percentages, equity, and funding rounds as its working vocabulary.
What you can do after
Apply it via Python and pandas to model founder ownership across funding rounds.
How it connects
Connects dilution to equity financing, stock-based compensation, ownership, valuation, and private equity.

Also explained in

Compare how 2 books explain dilution →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Investing for Programmers. The section links point to the parts of the book it draws on.