Skip to main content
Glama
yagebin79386

openvaluation

by yagebin79386

openvaluation

スタートアップ評価手法を監査可能なコードとして。 Berkus、Scorecard、Risk Factor Summation、VC法、First Chicago、そしてマーケットマルチプル——実装され、テストされ、その計算過程を示すことができます。

無料でオープンソース、MITライセンス。純粋なPython、依存関係なし、APIキー不要、ネットワーク呼び出しなし。

pip install openvaluation

エンジェルグループが実際に使うプリレベニュー手法は、教科書やワークシート、スプレッドシートには存在しますが、メンテナンスされたソフトウェアにはありません。GitHubで「Berkus method」を検索すると、スターがゼロのスクリプトが散らばっているだけです。これらの手法を実装した商用ツールはすべて、計算を非公開にしています。このパッケージはその欠けたピースです。エージェント、スクリプト、ノートブックが呼び出して、導出過程が添付された防御可能な数値を得られるライブラリです。

from openvaluation import Engine

company = {
    "company": {"sector": "saas", "stage": "seed", "region": "us"},
    "financials": {"revenue": {"arr": 480_000}},
    "berkus": {"sound_idea": 1.0, "prototype": 1.0, "management_team": 0.8,
               "strategic_relationships": 0.4, "product_rollout": 0.6},
    "scorecard": {"management_team": 1.25, "opportunity_size": 1.4},
}

print(Engine().run_all(company, stage="seed").summary())
4 methods ran; median 4,420,000 USD (range 1,400,000–6,462,500)

  berkus                         1,900,000  [1,400,000 – 2,400,000]
  ev_arr                         3,840,000  [2,400,000 – 5,760,000]
  risk_factor_summation          5,000,000  [4,750,000 – 5,250,000]
  scorecard                      5,875,000  [5,287,500 – 6,462,500]

  2 methods could not run:
    vc_method: vc_method needs exit.value, exit.revenue (supply an exit value, or
      projected revenue at exit to apply a multiple to)
    first_chicago: first_chicago needs scenarios.success.probability, ...

抽出は確率的だが、算術はそうであってはならない

言語モデルはスタートアップの価値を常に尋ねられますが、それは苦手です——推論ではなく、算術と、どの手法がどの入力を必要とするかを覚えることが。しかし、ピッチデッキを読んで構造化された事実を取り出すのは非常に得意です。

このパッケージは、その2つの仕事の境界を引きます。モデルは文書を読んでフィールドを埋めます。エンジンは算術を決定的に実行し、どのようにその結果に至ったかを正確に報告します。同じ入力、同じ出力、毎回——ドリフトするモデルはループに含まれません。

result = Engine().run(company, "berkus")
print(result.explain())
berkus: 1,900,000 USD (range 1,400,000–2,400,000)

Steps
  1. Sound idea — basic value, product risk: 500,000  — rating 1.00
  2. Prototype — technology risk: 500,000  — rating 1.00
  3. Quality management team — execution risk: 400,000  — rating 0.80
  4. Strategic relationships — market risk: 200,000  — rating 0.40
  5. Product rollout or sales — production risk: 300,000  — rating 0.60
  6. Pre-money valuation: 1,900,000  — sum of five elements

Assumptions
  cap_per_element: 500000.0

Limitations
  - Berkus caps pre-revenue value and ignores market size, growth and financials.
  - Ratings are judgements, not measurements; this run capped at 2,500,000.
  - This company reports revenue; Berkus was designed for pre-revenue companies
    and a revenue-based method will usually say more.

Sources
  - Dave Berkus, 'The Berkus Method: Valuing an Early Stage Investment' (berkonomics.com)

すべての結果には、その手順、前提、制限、そして手法の引用が含まれます。誰も検証できない評価は、守る価値がありません。

Related MCP server: tvr-mcp-server

何を実行できるのか?

通常、質問は評価の前に来ます:この会社について既知の情報を前提に、どの手法が利用可能で、どの1つの欠落した事実が最も多くの手法を解放するのか?

report = Engine().readiness(company)

[m.method for m in report.ready]     # ['berkus', 'scorecard', 'risk_factor_summation', 'ev_arr']
report.unlocks()
# {'exit.value|exit.revenue': ('vc_method',),
#  'financials.ebitda': ('ev_ebitda',),
#  'financials.revenue.annual': ('ev_revenue',)}

unlocks() は、各欠落フィールドが解放する手法の数で順序付けられているため、最初のエントリが最も有用な調査対象です。パス内の | は、どちらかのフィールドでよいことを意味します。

準備完了と報告された手法は常に実行されます——その不変条件はテストされています。嘘をつく準備レポートは、ないより悪いからです。

手法

id

手法

適用条件

必要なもの

berkus

Berkus法

プリレベニュー

5つのリスク要素の評価

scorecard

Scorecard法

プリレベニュー

セクター、および比較企業に対する評価

risk_factor_summation

Risk Factor Summation

プリレベニュー

セクター、および12のリスクにわたる評価

vc_method

ベンチャーキャピタル法

資金調達中、信頼できる出口がある

出口価値または出口収益

first_chicago

First Chicago法

結果が真に二峰性である

確率付きの3つのシナリオ

ev_arr

EV / ARR

サブスクリプション収益

ARRとセクター

ev_revenue

EV / 収益

収益はあるが、まだ利益が出ていない

年間収益とセクター

ev_ebitda

EV / EBITDA

利益が出ている

プラスのEBITDAとセクター

各手法の完全なドキュメント — 公式、計算例、制限、ソースを各1ページで。これらのページのすべての例はテストスイートで実行されるため、コードから逸脱することはありません。

各手法は公開された説明から実装され、それを引用しています。Scorecardの重みはBill Payneのものです(チーム30%、機会25%、製品15%、競争10%、販売10%、投資ニーズ5%、その他5%)。Berkusは5つの要素をそれぞれ500,000で上限とします。Risk Factor Summationは、12の要素にわたって比較可能な平均を1ステップあたり250,000動かします。これらの定数はすべてコンストラクタ引数であり、算術に埋め込まれたマジックナンバーではありません。

from openvaluation import Berkus, RiskFactorSummation

Berkus(cap_per_element=300_000)          # a market where 500k is too rich
RiskFactorSummation(step=100_000)        # finer-grained risk adjustments

ベンチマークデータはあなたの問題であり、パッケージはそれを明言します

3つの手法は外部の数値を必要とします:比較企業の価値、セクターが取引されるマルチプル、ファンドが引受けるレート。これらの数値は古くなり、ライブラリがそうでないふりをするべきではありません。そのため、これらはあなたが供給するプロバイダーを通じて届きます。

デフォルトのプロバイダーは例示的なプレースホルダーを提供します——例が実行されるように、丸くて日付のない数字です。それらに触れる評価は、その制限にそれを明記します:

  - Benchmark figures are illustrative placeholders, not market data; replace
    StaticBenchmarks with a real source before relying on this figure

Berkusのように市場データを参照しない手法は、その注意書きを持ちません。実際の数値を供給すれば、それは消えます:

from openvaluation import Engine, Multiple, TableBenchmarks

benchmarks = TableBenchmarks(
    seed_valuations={"saas": 4_200_000},
    multiple_table={("saas", "ARR"): Multiple(4.1, 6.8, 11.2, basis="ARR",
                                              source="Our comp set", sample_size=180,
                                              as_of="2026-06-30")},
    rate_table={"seed": 0.5},
    citations=("Our comp set, n=180, June 2026",),
)

engine = Engine(benchmarks=benchmarks)

または、BenchmarkProvider をあなたが持っているもの——データベース、API、スプレッドシート——の上に実装します。3つの手法、すべて同期です。NYU SternのAswath Damodaranが公開しているセクターマルチプルと資本コストは、通常の無料の出発点です。

数値を持たないプロバイダーは、推測を代用するのではなく UnknownBenchmark を発生させます。なぜなら、発明されたマルチプルに基づく評価は、評価がないことより悪いからです。

AIエージェントに渡す

あなたがすでに話しているモデルに手法を送ります。MCPサーバーは4つのツールを公開し、算術はPythonで行われるため、モデルは合計を間違えることができません:

pip install "openvaluation[mcp]"
{"mcpServers": {"openvaluation": {"command": "openvaluation-mcp"}}}

ツール

機能

list_valuation_methods

すべての手法と正確な入力形式。モデルが実際のフィールド名を埋めるように

check_valuation_readiness

データがすでにサポートしているものと、どの欠落フィールドが最も解放するか——モデルが発明するのではなく尋ねるように

value_company

適用可能なすべての手法を一度に、範囲と実行できなかったものを含めて

explain_valuation

1つの手法の完全な導出過程。レポート用に

サーバーの指示は、モデルがそうでなければ間違えることを伝えます:BerkusとScorecardの評価は証拠を必要とする判断であること、出荷されたベンチマーク数値はプレースホルダーでありその注意書きを伝えなければならないこと、中央値だけが答えではないこと。

同じ4つの関数は、MCPなしでインポート可能で、HTTPハンドラーやノートブック用です:

from openvaluation.tools import check_readiness, value_company

check_readiness(company)   # plain dicts in, plain dicts out

コマンドラインから

openvaluation company.json                     # every applicable method
openvaluation company.json --readiness         # what can run, what is missing
openvaluation company.json --method berkus --explain
openvaluation company.json --json              # for piping onward
openvaluation --list-methods

入力形式

プレーンなネストされたdict——あなたの抽出ステップが生成したもの。フィールドはドット区切りのパスで読み取られるため、すべてが完全である必要はありません:

{
  "company":    {"sector": "saas", "stage": "seed", "region": "us"},
  "financials": {"revenue": {"arr": 480000, "annual": 520000}, "ebitda": 90000},
  "product":    {"stage": "mvp"},
  "berkus":     {"sound_idea": 1.0, "prototype": 0.8},
  "scorecard":  {"management_team": 1.25, "opportunity_size": 1.4},
  "risk":       {"management": 2, "competition": -1},
  "exit":       {"revenue": 40000000, "years": 5, "dilution": 0.3},
  "funding":    {"round_size": 2000000},
  "scenarios":  {"success": {"value": 80000000, "probability": 0.15},
                 "base":    {"value": 15000000, "probability": 0.35},
                 "failure": {"value": 0,        "probability": 0.50}}
}

金額は裸の数値、数値文字列、または {"value": 480000, "currency": "USD"} オブジェクトでもかまいません。レートは 0.4 または 40 でもかまいません。収益などの数量ではゼロは欠落として扱われます。なぜなら、ゼロ収益と未知の収益はこれらの手法にとって同じ入力だからです。

これは何ではないか

  • 投資アドバイスでも、409A評価でもありません。 これらの手法は交渉のアンカーと健全性チェックを生成します。法的または税務上の地位を持つ評価には、資格のある評価者が必要です。

  • 抽出器ではありません。 構造化された事実を受け取ります。ピッチデッキからそれらを取り出すのは別の仕事であり、言語モデルに適した仕事です。

  • 市場データのソースではありません。 上記を参照。

  • 判断エンジンではありません。 Berkus評価とScorecard要素は、会社に関する判断です。パッケージはそれらを記録して適用します。形成はしません。

手法が中央値以上に食い違う場合、レポートはそれを明言します——なぜなら、その不一致は情報であり、平均化して消すことはそれを破壊するからです。

要件

Python 3.9+(3.11で開発・テスト済み)。ランタイム依存関係なし。

これはどこから来たのか

私は Wakeworth の背後にある評価エンジンを構築しました。これはアップロードされた文書からスタートアップを評価します。手法自体は公開知識であり、公開コードに属します。そこでプロプライエタリなのは、その周りの文書抽出とレポートです。このパッケージは、公開された説明からスタンドアロンで再構築された手法レイヤーであり、定数が公開され、すべての結果がその計算過程を示すようにされています。

貢献

Issueとプルリクエストを歓迎します。私は他の仕事と並行してベストエフォートでこれを維持しているため、迅速な返信ではなく、考慮された返信を期待してください。最も有用な貢献は、引用可能なソースから実装された手法、またはここでの算術が文献の計算例と一致しないケースです。

git clone https://github.com/yagebin79386/openvaluation
cd openvaluation
pip install -e ".[dev]"
pytest

ライセンス

MIT — LICENSE を参照。


最終更新: 2026-08-20 · Changelog

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Validates startup ideas with a deterministic scorecard, evidence brief, and verdict before code is written, integrating with MCP-aware build agents to avoid building dead-on-arrival products.
    1
    11 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Cryptocurrency fundamental analysis tools via MCP. Enables users and AI agents to evaluate cryptocurrencies across 8 metrics using Sound Value principles. Provides educational material, fair value estimates, and valuation categories.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides VC-grade startup intelligence, allowing founders to validate ideas and VCs to screen deals using tools like scoring, investor matching, and financial analysis.
    11 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables financial modeling for SaaS and other assets via MCP tools, including simulation, scenario comparison, sensitivity analysis, semantic knowledge search, and persistent context memory.
    MIT