Emerging
startup_valuation.emerging
¶
Emerging topics valuation methods.
Chapter 14: Emerging Topics in Startup Valuation
Classes¶
Functions¶
safe_conversion_discount(series_a_price, discount)
¶
Calculate SAFE conversion price using discount.
Formula: SAFE Price = Series A Price × (1 - Discount)
Example
result = safe_conversion_discount(5.0, 0.20) result.value 4.0
Source code in src/startup_valuation/emerging.py
equation_of_exchange(transaction_volume, price_per_transaction, token_velocity, token_supply)
¶
Calculate token value using equation of exchange.
Formula: Token Value = (Transaction Volume × Price per Transaction) / (Velocity × Supply)
Example
result = equation_of_exchange(10_000_000_000, 1, 10, 100_000_000) result.value 10.0
Source code in src/startup_valuation/emerging.py
protocol_value(tvl, multiple)
¶
Calculate protocol value from TVL.
Formula: Protocol Value = TVL × Multiple
Source code in src/startup_valuation/emerging.py
esg_adjusted_discount_rate(base_rate, esg_risk_premium=0, esg_opportunity_discount=0)
¶
Calculate ESG-adjusted discount rate.
Formula: r_ESG = r_base + ESG Risk Premium - ESG Opportunity Discount
Example
result = esg_adjusted_discount_rate(0.15, 0.02, 0.01) result.value 0.16
Source code in src/startup_valuation/emerging.py
metcalfes_law(n, k=1.0)
¶
Calculate network value using Metcalfe's Law.
Formula: V = k × n²
Example
result = metcalfes_law(100_000) result.value 10000000000.0
Source code in src/startup_valuation/emerging.py
modified_metcalfes(n, alpha=1.3, k=1.0)
¶
Calculate network value using modified Metcalfe's Law.
Formula: V = k × n^α
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
n
|
float
|
Number of users. |
required |
alpha
|
float
|
Network effect exponent (1.2-1.5 empirical). |
1.3
|
k
|
float
|
Value constant. |
1.0
|
Returns:
| Type | Description |
|---|---|
ValuationResult
|
ValuationResult with network value. |
Source code in src/startup_valuation/emerging.py
network_density_valuation(users, connections_per_user, value_per_connection)
¶
Calculate network value from density.
Formula: Value = Users × Connections per User × Value per Connection
Example
result = network_density_valuation(10_000_000, 100, 1) result.value / 1_000_000_000 1.0
Source code in src/startup_valuation/emerging.py
remote_cost_savings_npv(annual_savings, discount_rate)
¶
Calculate NPV of remote-first cost savings (perpetuity).
Formula: NPV = Annual Savings / r
Example
result = remote_cost_savings_npv(1_200_000, 0.10) result.value 12000000.0
Source code in src/startup_valuation/emerging.py
safe_conversion_cap(cap, series_a_price)
¶
Calculate SAFE conversion price using valuation cap.
Formula: SAFE Price = min(Cap / Shares_outstanding, Series A Price) Simplified: Price per share = Cap / (Cap / Series A Price) = Series A Price if Cap > valuation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
cap
|
float
|
Valuation cap on SAFE. |
required |
series_a_price
|
float
|
Series A price per share. |
required |
Returns:
| Type | Description |
|---|---|
ValuationResult
|
ValuationResult with SAFE conversion price per share. |
Example
result = safe_conversion_cap(8_000_000, 5.0) result.value 5.0
Source code in src/startup_valuation/emerging.py
safe_expected_value(investment, cap, discount, series_a_valuation, series_a_price)
¶
Calculate expected SAFE value across cap and discount scenarios.
Formula: E[Value] = investment × max(Cap scenario, Discount scenario)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
investment
|
float
|
SAFE investment amount. |
required |
cap
|
float
|
Valuation cap. |
required |
discount
|
float
|
Discount rate. |
required |
series_a_valuation
|
float
|
Series A pre-money valuation. |
required |
series_a_price
|
float
|
Series A price per share. |
required |
Returns:
| Type | Description |
|---|---|
ValuationResult
|
ValuationResult with expected SAFE value. |
Example
result = safe_expected_value(500_000, 8_000_000, 0.20, 10_000_000, 5.0) round(result.value / 1000, 0) 625.0
Source code in src/startup_valuation/emerging.py
nvt_ratio(market_cap, daily_transaction_volume)
¶
Calculate Network Value to Transactions ratio.
Formula: NVT = Market Cap / Daily Transaction Volume
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
market_cap
|
float
|
Total market capitalization. |
required |
daily_transaction_volume
|
float
|
Daily on-chain transaction volume. |
required |
Returns:
| Type | Description |
|---|---|
ValuationResult
|
ValuationResult with NVT ratio. |
Example
result = nvt_ratio(10_000_000_000, 100_000_000) result.value 100.0
Source code in src/startup_valuation/emerging.py
esg_premium_valuation(base_valuation, esg_score, premium_per_point=0.02)
¶
Calculate ESG premium impact on valuation.
Formula: Adjusted V = Base V × (1 + ESG_Score × Premium_per_Point)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
base_valuation
|
float
|
Base valuation without ESG adjustment. |
required |
esg_score
|
float
|
ESG score (0-100). |
required |
premium_per_point
|
float
|
Valuation premium per ESG point (default 2%). |
0.02
|
Returns:
| Type | Description |
|---|---|
ValuationResult
|
ValuationResult with ESG-adjusted valuation. |
Example
result = esg_premium_valuation(10_000_000, 75, 0.02) result.value 25000000.0
Source code in src/startup_valuation/emerging.py
esg_discount_valuation(base_valuation, esg_risk_score, discount_per_point=0.01)
¶
Calculate ESG risk discount on valuation.
Formula: Adjusted V = Base V × (1 - ESG_Risk_Score × Discount_per_Point)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
base_valuation
|
float
|
Base valuation without ESG adjustment. |
required |
esg_risk_score
|
float
|
ESG risk score (0-100, higher = more risk). |
required |
discount_per_point
|
float
|
Valuation discount per risk point (default 1%). |
0.01
|
Returns:
| Type | Description |
|---|---|
ValuationResult
|
ValuationResult with ESG-discounted valuation. |
Example
result = esg_discount_valuation(10_000_000, 30, 0.01) result.value 7000000.0
Source code in src/startup_valuation/emerging.py
data_moat_value(data_volume, data_uniqueness, monetization_rate, competitive_advantage_years, discount_rate=0.15)
¶
Calculate value of data as a competitive moat.
Formula: V = Data_Volume × Uniqueness × Monetization × Σ(1+r)^(-t) for t in [1..years]
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data_volume
|
float
|
Annual data volume (records/transactions). |
required |
data_uniqueness
|
float
|
Uniqueness factor (0-1, 1 = completely unique). |
required |
monetization_rate
|
float
|
Revenue per data unit. |
required |
competitive_advantage_years
|
float
|
Expected years of data advantage. |
required |
discount_rate
|
float
|
Discount rate. |
0.15
|
Returns:
| Type | Description |
|---|---|
ValuationResult
|
ValuationResult with data moat value. |
Example
result = data_moat_value(1_000_000, 0.8, 0.001, 5, 0.15) round(result.value / 1000, 0) 2680.0
Source code in src/startup_valuation/emerging.py
remote_first_premium(base_valuation, cost_savings_pct=0.2, talent_access_premium=0.1, productivity_gain=0.05)
¶
Calculate remote-first company valuation premium.
Formula: Adjusted V = Base V × (1 + Cost_Savings + Talent_Access + Productivity)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
base_valuation
|
float
|
Base valuation without remote adjustment. |
required |
cost_savings_pct
|
float
|
Real estate and overhead savings (default 20%). |
0.2
|
talent_access_premium
|
float
|
Access to global talent premium (default 10%). |
0.1
|
productivity_gain
|
float
|
Remote productivity improvement (default 5%). |
0.05
|
Returns:
| Type | Description |
|---|---|
ValuationResult
|
ValuationResult with remote-first adjusted valuation. |
Example
result = remote_first_premium(10_000_000, 0.20, 0.10, 0.05) result.value 13500000.0