Skip to main content

Startup Valuation Engine

A comprehensive startup valuation library implementing 80+ formulas from the Startup Valuation textbook — Python library, MCP server, and AI-agent skills.

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

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

**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-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.simonmak-ascent/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/simonmak-ascent/startup-valuation},
  license = {MIT},
}

Based on formulas from the Startup Valuation textbook.

Use with Context7

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

License

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.

Metadata

Release files for startup-valuation 2.1.2

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.1.2
File Size Uploaded
startup_valuation-2.1.2.tar.gz 401.1 kB Details

Built distribution (wheel)

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

Total release size: 489.2 kB

Release files / startup_valuation-2.1.2.tar.gz

Download URL startup_valuation-2.1.2.tar.gz
Size 401.1 kB
Tags Source
SHA-256 checksum
How to use checksums
a5d442f55f91d1efe1e39beed9b1896db62a7b64079d211e71d63f279423fb77
BLAKE2b-256 checksum
How to use checksums
25c0612bc65c998f3776fe8480326d1598a4d83907f7201f57a42c1a201f99e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Alibaba Cloud Linux","version":"3","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

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

Download URL startup_valuation-2.1.2-py3-none-any.whl
Size 88.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b501c51e7678a426d2fc77f0342ddce1d348f159c9f3abdb1642133de525bb10
BLAKE2b-256 checksum
How to use checksums
f80410a4c02f48d93fa4fcec1651c1ed0d78a1546364eb9d6b55ef61fec995d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Alibaba Cloud Linux","version":"3","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

2.1.2 This release

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.0

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