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

