Marketplace Module¶
??? example "gmv"
from startup_valuation.marketplace import gmv
result = gmv(transactions=10_000, average_order_value=100)
print(f"GMV: ${result.value:,.0f}") # $1,000,000
??? example "take_rate"
from startup_valuation.marketplace import take_rate
result = take_rate(revenue=200_000, gmv=10_000_000)
print(f"Take rate: {result.value:.2%}") # 2.00%
??? example "liquidity"
from startup_valuation.marketplace import liquidity
result = liquidity(successful_attempts=800, total_attempts=1_000)
print(f"Liquidity: {result.value:.0%}") # 80%
??? example "gmv_multiple_valuation"
from startup_valuation.marketplace import gmv_multiple_valuation
result = gmv_multiple_valuation(gmv=100_000_000, multiple=2)
print(f"Valuation: ${result.value:,.0f}") # $200,000,000
??? example "network_value"
from startup_valuation.marketplace import network_value
result = network_value(users=1_000_000, alpha=1.5, k=0.01)
print(f"Network value: ${result.value:,.0f}")
??? example "buyer_retention"
from startup_valuation.marketplace import buyer_retention
result = buyer_retention(buyers_period_1=1_000, buyers_repeat=600)
print(f"Buyer retention: {result.value:.0%}") # 60%
??? example "network_density"
from startup_valuation.marketplace import network_density
result = network_density(active_buyers=500, active_sellers=300, total_users=1_000)
print(f"Network density: {result.value:.4f}")
startup_valuation.marketplace
¶
Marketplace valuation methods.
Chapter 11: Industry-Specific Valuation Frameworks — Marketplaces
Classes¶
Functions¶
gmv(transaction_values)
¶
Calculate Gross Merchandise Value.
Formula: GMV = Σ Transaction Valueᵢ
Source code in src/startup_valuation/marketplace.py
take_rate(revenue, gmv)
¶
Calculate marketplace take rate.
Formula: Take Rate = Revenue / GMV
Example
result = take_rate(2_900_000_000, 24_700_000_000) round(result.value, 4) 0.1174
Source code in src/startup_valuation/marketplace.py
liquidity(successful_transactions, total_attempts)
¶
Calculate marketplace liquidity.
Formula: Liquidity = Successful Transactions / Total Attempts
Source code in src/startup_valuation/marketplace.py
gmv_multiple_valuation(gmv, multiple)
¶
Value a marketplace using GMV multiple.
Formula: Valuation = GMV × Multiple
Example
result = gmv_multiple_valuation(24_700_000_000, 2.4) result.value / 1_000_000_000 59.28
Source code in src/startup_valuation/marketplace.py
network_value(active_users, k=1.0, alpha=1.3)
¶
Calculate network value using modified Metcalfe's Law.
Formula: Valuation = k × Active Users^α
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
active_users
|
float
|
Number of active users. |
required |
k
|
float
|
Value per connection constant. |
1.0
|
alpha
|
float
|
Network effect exponent (1.2-1.5 empirical). |
1.3
|
Returns:
| Type | Description |
|---|---|
ValuationResult
|
ValuationResult with network value. |
Source code in src/startup_valuation/marketplace.py
buyer_retention(buyers_period_1, buyers_repeat)
¶
Calculate marketplace buyer retention rate.
Formula: Buyer Retention = Repeat Buyers / Buyers in Period 1
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
buyers_period_1
|
int
|
Number of buyers in period 1. |
required |
buyers_repeat
|
int
|
Number of buyers who returned in period 2. |
required |
Returns:
| Type | Description |
|---|---|
ValuationResult
|
ValuationResult with buyer retention rate. |
Example
result = buyer_retention(10000, 3500) result.value 0.35
Source code in src/startup_valuation/marketplace.py
network_density(active_buyers, active_sellers, total_users)
¶
Calculate marketplace network density.
Formula: Density = Actual Connections / Potential Connections where Actual = buyers × sellers, Potential = total × (total - 1) / 2
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
active_buyers
|
int
|
Number of active buyers. |
required |
active_sellers
|
int
|
Number of active sellers. |
required |
total_users
|
int
|
Total number of users. |
required |
Returns:
| Type | Description |
|---|---|
ValuationResult
|
ValuationResult with network density ratio. |
Example
result = network_density(5000, 3000, 10000) round(result.value, 6) 0.0003