Skip to content

moshejs/priced-round-math

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

priced-round-math

Priced venture-round dilution math — the option-pool shuffle (solve the pre-money pool top-up needed to hit a post-close target), price per share, investor share counts, and ownership tables with hard invariants. Zero dependencies.

npm install priced-round-math

Why

"$2M on $8M pre with a 10% post-close pool" hides a linear equation: the new pool is created pre-money, so it comes out of the existing holders — the famous option-pool shuffle. Every founder negotiating a term sheet, and every tool that models one, needs this exact solve; npm's only "waterfall" packages are async control-flow libraries. This package does the algebra and reports what the pool really cost (effectivePreMoney).

import { pricedRound } from "priced-round-math";

const r = pricedRound({
  preMoney: 8_000_000,
  investment: 2_000_000,
  preRoundFullyDiluted: 8_000_000,
  targetPoolPostClose: 0.10,
});

r.investorOwnership;  // 0.20  — always exactly investment / post-money
r.poolOwnership;      // 0.10  — hits the target exactly
r.poolTopUp;          // the shares created pre-money
r.pricePerShare;      // lower than without the pool — that's the shuffle
r.effectivePreMoney;  // preMoney minus the value handed to the new pool

API

  • pricedRound({ preMoney, investment, preRoundFullyDiluted, existingUnallocatedPool?, targetPoolPostClose? }) — full solve. An existing unallocated pool reduces the top-up; if it already exceeds the target, poolTopUp is 0. Unsolvable targets (t × postMoney/preMoney ≥ 1) throw with an explanation.
  • simplePricedRound(preMoney, investment, preRoundFD) — no pool top-up.
  • diluteHolders(holders, round, preRoundFD) — per-holder before/after ownership and dilution.

Invariants enforced by the test suite: ownership fractions sum to 1; investor % ≡ investment/post-money regardless of the shuffle; PPS ≡ preMoney/(preRoundFD + poolTopUp); all holders dilute by the same factor.

Related

Part of a cap-table math family: safe-stack-conversion · exit-waterfall · vesting-schedule-math.

Author

Built by Moshe Malka — engineering leader in New York City. Studio work at Quentin.Code.

MIT © Moshe Malka

About

Priced venture-round dilution math — the option-pool shuffle, PPS, ownership tables. Zero dependencies.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors