A comprehensive startup valuation library implementing 80+ formulas from the Startup Valuation textbook — Python library, MCP server, and AI-agent skills.
A production-grade Python library for startup valuation, implementing every formula from the Startup Valuation textbook by Simon Mak (Valuation in Practice Series, Ascent Partners). Designed for developers, financial analysts, and AI agents who need auditable, structured valuation computations.
Three-layer architecture:
graph TB
subgraph Library["Python Library"]
MOD["14 Modules<br/>80+ Functions"] --> VR["ValuationResult"]
end
subgraph MCP["MCP Server"]
VR --> SVR["FastMCP Server<br/>14 Tools"]
end
subgraph Skills["AI-agent skills"]
SVR --> CORE["Core"]
SVR --> ADV["Advanced"]
SVR --> IND["Industry"]
SVR --> STAKE["Stakeholder"]
SVR --> EMER["Emerging"]
end
style Library fill:#0083AB,color:#fff
style MCP fill:#4CAF50,color:#fff
style Skills fill:#9C27B0,color:#fff
- Python Library — 14 modules, 80+ typed functions, all returning
ValuationResult(value + assumptions + sensitivity) - MCP Server — 14 folded tools (80+ formulas) for AI agents via stdio and hosted Streamable HTTP
- AI-agent skills — 6 skill definitions with workflow guidance for valuation domains
pip install startup-valuation # library only
pip install startup-valuation[mcp] # + MCP server
pip install startup-valuation[dev] # + pytest, ruff, mypyFastest path: one line — pip install "startup-valuation[mcp]" — then call any *_valuation
tool (Scorecard, VC method, Black-Scholes, scenario analysis).
from startup_valuation.core import scorecard_valuation, vc_method_post_money
from startup_valuation.advanced import black_scholes, scenario_analysis
from startup_valuation.types import Scenario
# Scorecard Method (pre-revenue startups)
result = scorecard_valuation(
average_valuation=1_500_000,
weights=[0.30, 0.25, 0.15, 0.10, 0.10, 0.05, 0.05],
scores=[1.25, 1.50, 1.20, 0.75, 1.00, 0.90, 1.00],
)
print(f"Scorecard: ${result.value:,.0f}") # $1,800,000
# Black-Scholes for real options (startup equity)
result = black_scholes(
underlying=20_000_000, strike=5_000_000,
risk_free_rate=0.05, volatility=0.40, time_to_maturity=1.0,
)
print(f"Option value: ${result.value:,.0f}") # $15,240,000
# Scenario Analysis
scenarios = [
Scenario("bull", 0.20, 10_000_000),
Scenario("base", 0.60, 5_000_000),
Scenario("bear", 0.20, 1_000_000),
]
result = scenario_analysis(scenarios)
print(f"Expected value: ${result.value:,.0f}") # $5,200,000The server exposes 14 tools, each folding a family of formulas behind a method
argument — probability, time value, CAPM, core pre-revenue methods, options,
comparables, SaaS, marketplaces, fintech, biotech, hardware, international,
stakeholder equity, emerging methods, and a triangulated full analysis.
Local (stdio):
pip install "startup-valuation[mcp]"
startup-valuation-mcp # console script installed with the [mcp] extra
**Prompts and resources.** Besides the 14 tools, the server offers three guided
prompts (`value_pre_revenue_startup`, `value_saas_startup`, `model_funding_round`)
and a machine-readable method catalog at `startup-valuation://methods`, so agents
can see every method's required parameters before calling a tool.
# or: python -m startup_valuation.mcp
# or ephemeral, no clone: uvx --from startup-valuation startup-valuation-mcpHosted (Streamable HTTP) — no install, no API key:
https://startup-valuation.ascent-partners.com/api
OpenCode — add to opencode.json:
"startup-valuation": {
"type": "remote",
"url": "https://startup-valuation.ascent-partners.com/api",
"timeout": 60000
}Claude Desktop / Cursor — add the HTTP URL https://startup-valuation.ascent-partners.com/api
as an MCP server, or run the stdio entrypoint above.
MCP Registry — published as com.ascent-partners/startup-valuation
(manifest: server.json) and listed on
Glama and the
Official MCP Registry. The
glama.json file holds the Glama maintainer entry.
Copy the skills/ directory to your agent's skills folder:
valuation-core— Scorecard, Berkus, VC Method, Risk Factor Summationvaluation-foundations— Probability, time value, CAPM, comparablesvaluation-advanced— Black-Scholes, Binomial, Monte Carlo, Scenario Analysisvaluation-industry— SaaS, Biotech, Fintech, Marketplace, Hardwarevaluation-stakeholder— Dilution, OPM, PWERM, Liquidation Preferencevaluation-emerging— SAFE, Crypto (MV=PQ), ESG, Metcalfe's Law
| Category | Methods | Chapter |
|---|---|---|
| Probability | Expected value, joint probability, Poisson | 2 |
| Time Value | PV, NPV, annuity | 2 |
| CAPM | CAPM, portfolio beta, startup-adjusted | 2 |
| Core | Scorecard, Berkus, Risk Factor, VC Method | 3 |
| Advanced | Black-Scholes, Binomial, Monte Carlo, Scenario | 4 |
| Comparables | P/E, P/S, EV/EBITDA, regression-adjusted | 5 |
| SaaS | LTV, CAC, NRR, Magic Number, Rule of 40 | 11 |
| Biotech | rNPV, decision tree, peak sales, pipeline | 11 |
| Fintech | Payment revenue, lending, neobank, network effects | 11 |
| Marketplace | GMV, take rate, liquidity, network density | 11 |
| Hardware | TRL-adjusted, break-even, P-weighted DCF | 11 |
| International | PPP, CRP, currency-adjusted DCF, Damodaran | 12 |
| Stakeholders | Dilution, OPM, PWERM, liquidation, synergies | 13 |
| Emerging | SAFE, MV=PQ, ESG, Metcalfe's, data moat | 14 |
flowchart LR
IDEA["Idea / pre-revenue"] --> SC["Scorecard · Berkus · Risk Factor"]
SC --> VC["VC Method · OPM · PWERM"]
VC --> ADV["Black-Scholes · Binomial · Monte Carlo · Scenario"]
ADV --> COMP["Comparables: P/E · P/S · EV/EBITDA"]
COMP --> IND["Industry: SaaS · Biotech · Fintech · Marketplace · Hardware"]
IND --> R["ValuationResult (value · assumptions · sensitivity)"]
flowchart LR
PKG["startup-valuation<br/>14 modules · 80+ functions"] --> L["pip install startup-valuation"]
PKG --> MP["pip install startup-valuation[mcp]<br/>→ 14-tool MCP server"]
MP --> T1["stdio (local)"]
MP --> T2["hosted Streamable HTTP"]
- Auditable — Every function returns
ValuationResultwith value, method, inputs, assumptions, and sensitivity analysis - Textbook-accurate — All formulas verified against book example values with unit tests
- AI-ready — MCP server and Skills for seamless AI agent integration
- Industry-specific — Dedicated modules for SaaS, biotech, fintech, marketplace, and hardware startups
- Open source — MIT license, extensible, well-documented
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run with coverage
pytest --cov=startup_valuation --cov-report=term-missing
# Lint
ruff check .
# Type check
mypy src/startup_valuation --ignore-missing-importsNote: CI and deployment run through the APG workbench pipeline.
- API Reference: GitHub Pages
- Wiki (Theory & Derivations): GitHub Wiki
- PyPI: pypi.org/project/startup-valuation
- Chapter Index: Maps every function to its textbook chapter
- Examples: Interactive code snippets for each valuation category
Startup Valuation: A Comprehensive Guide to Valuing Fast-Growing Pre-Revenue Companies
Theory, Methods, Regulation, and Practice — Valuation in Practice Series by Ascent Partners
By Simon Mak · 338 pages · 15 chapters · 300+ exercises · 20+ real-world cases
@software{startup_valuation_engine,
author = {Mak, Simon},
title = {Startup Valuation Engine},
year = {2026},
url = {https://github.com/simonmak-ascent/startup-valuation},
license = {MIT},
}Based on formulas from the Startup Valuation textbook.
Up-to-date Startup Valuation Engine documentation is indexed on Context7, so coding agents can pull it into context on demand. With the Context7 MCP server or ctx7 CLI installed, name the library in your prompt:
use library /simonmak-ascent/startup-valuation for API and docs
MIT — see LICENSE.
By Ascent Partners — part of the Valuation in Practice Series.
If this saves you time, a ⭐ on GitHub helps others find it.