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.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.

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 /simonplmak-cloud/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.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.1.0
File Size Uploaded
startup_valuation-2.1.0.tar.gz 401.1 kB Details

Built distribution (wheel)

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

Total release size: 489.2 kB

Release files / startup_valuation-2.1.0.tar.gz

Download URL startup_valuation-2.1.0.tar.gz
Size 401.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f702d83c1da5f0e817432f190dee3525d576355af5b2cb27599772b24a967797
BLAKE2b-256 checksum
How to use checksums
0b0bbbbf75327b76f0dcb969e712d50183f8424c5b04c21c65266b6188a16d8e
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 Oct 2, 2026.

Transparency log

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

Download URL startup_valuation-2.1.0-py3-none-any.whl
Size 88.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7251bea9cbf6d2acc39b5551109528f6413c1a77b29f2fb512ca5cd5f11e45de
BLAKE2b-256 checksum
How to use checksums
cd3939565204d5f241b6c843c0ad2e7d1ade49d04af966b2788a5de1075d10c4
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 Oct 2, 2026.

Transparency log

Release history Release notifications | RSS feed

2.1.2

2 release files

2.1.1

2 release files

This release

2.1.0 This release

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