Skip to main content

Startup Valuation Engine

Comprehensive startup valuation library implementing 80+ formulas from the Startup Valuation textbook. Python library + MCP server + AI-Agent Skills.

PyPI CI License: MIT Python 3.10+ Docs Coverage OpenSSF Scorecard Glama MCP MCP tools

Overview

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
  1. Python Library — 14 modules, 80+ typed functions, all returning ValuationResult (value + assumptions + sensitivity)
  2. MCP Server — 14 folded tools (80+ formulas) for AI agents via stdio and hosted Streamable HTTP
  3. AI-Agent Skills — 6 skill definitions with workflow guidance for valuation domains

Installation

pip install startup-valuation          # library only
pip install startup-valuation[mcp]     # + MCP server
pip install startup-valuation[dev]     # + pytest, ruff, mypy

Quick Start

Python Library

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,000

MCP Server (for AI Agents)

The 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
# or: python -m startup_valuation.mcp
# or ephemeral, no clone: uvx --from startup-valuation startup-valuation-mcp

Hosted (Streamable HTTP) — no install, no API key:

https://startup-valuation.simonmak.com/api

OpenCode — add to opencode.json:

"startup-valuation": {
  "type": "remote",
  "url": "https://startup-valuation.simonmak.com/api",
  "timeout": 60000
}

Claude Desktop / Cursor — add the HTTP URL https://startup-valuation.simonmak.com/api as an MCP server, or run the stdio entrypoint above.

MCP Registry — published as io.github.simonplmak-cloud/startup-valuation (manifest: server.json) and listed on Glama and the Official MCP Registry. The glama.json file holds the Glama maintainer entry.

AI-Agent Skills

Copy the skills/ directory to your agent's skills folder:

  • valuation-core — Scorecard, Berkus, VC Method, Risk Factor Summation
  • valuation-foundations — Probability, time value, CAPM, comparables
  • valuation-advanced — Black-Scholes, Binomial, Monte Carlo, Scenario Analysis
  • valuation-industry — SaaS, Biotech, Fintech, Marketplace, Hardware
  • valuation-stakeholder — Dilution, OPM, PWERM, Liquidation Preference
  • valuation-emerging — SAFE, Crypto (MV=PQ), ESG, Metcalfe's Law

Valuation Methods by Category

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

Why This Library?

  • Auditable — Every function returns ValuationResult with 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

Development

# 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-imports

Documentation

Companion Textbook

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

Citing This Project

@software{startup_valuation_engine,
  author = {Mak, Simon},
  title = {Startup Valuation Engine},
  year = {2026},
  url = {https://github.com/simonplmak-cloud/startup-valuation},
  license = {MIT},
}

Based on formulas from the Startup Valuation textbook. See output/ for the full textbook source in markdown.

License

MIT — see LICENSE for details.

Metadata

Release files for startup-valuation 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for startup-valuation 2.0.0
File Size Uploaded
startup_valuation-2.0.0.tar.gz 313.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for startup-valuation 2.0.0
File Interpreter ABI Platform
startup_valuation-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 396.7 kB

Release files / startup_valuation-2.0.0.tar.gz

Download URL startup_valuation-2.0.0.tar.gz
Size 313.2 kB
Tags Source
SHA-256 checksum
How to use checksums
25127f1efc0ae41108a089a35bd5b936cc129df81089cd1c47e68b577dcb7b86
BLAKE2b-256 checksum
How to use checksums
04e0fc0906eb9707b9d500fcb5c02ef77465316ef95030f62bd1fbdadc2e0b75
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release files / startup_valuation-2.0.0-py3-none-any.whl

Download URL startup_valuation-2.0.0-py3-none-any.whl
Size 83.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
491778f96be2e5b6195a4f6d50f653b9098d073416c00403a6d3212b53683e7a
BLAKE2b-256 checksum
How to use checksums
3ea83f257b3bc9773f7448b89640838eb8c8992a4908e8bcb2435536ab411d61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release history Release notifications | RSS feed

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

This release

2.0.0 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page