Fintech Module¶
??? example "payment_revenue"
from startup_valuation.fintech import payment_revenue
result = payment_revenue(transaction_volume=1_000_000_000, take_rate=0.02)
print(f"Revenue: ${result.value:,.0f}") # $20,000,000
??? example "max_loan_portfolio"
from startup_valuation.fintech import max_loan_portfolio
result = max_loan_portfolio(equity=10_000_000, capital_ratio=0.10)
print(f"Max portfolio: ${result.value:,.0f}") # $100,000,000
??? example "network_effects_value"
from startup_valuation.fintech import network_effects_value
result = network_effects_value(users=1_000_000, alpha=1.5, k=0.01)
print(f"Network value: ${result.value:,.0f}")
??? example "lending_fintech_valuation"
from startup_valuation.fintech import lending_fintech_valuation
result = lending_fintech_valuation(
loan_book=500_000_000, roe=0.15, pe_multiple=12, npl_reserves=10_000_000,
)
print(f"Valuation: ${result.value:,.0f}") # $890,000,000
??? example "payment_processor_valuation"
from startup_valuation.fintech import payment_processor_valuation
result = payment_processor_valuation(
transaction_volume=1_000_000_000, take_rate=0.02,
growth_rate=0.20, discount_rate=0.12, terminal_multiple=15, years=5,
)
print(f"Valuation: ${result.value:,.0f}")
??? example "neobank_valuation"
from startup_valuation.fintech import neobank_valuation
result = neobank_valuation(
customers=500_000, arpu=100, gross_margin=0.60,
churn_rate=0.10, pe_multiple=15,
)
print(f"Neobank value: ${result.value:,.0f}") # $45,000,000
startup_valuation.fintech
¶
Fintech valuation methods.
Chapter 11: Industry-Specific Valuation Frameworks — Fintech
Classes¶
Functions¶
payment_revenue(transaction_volume, take_rate)
¶
Calculate payment processor revenue.
Formula: Revenue = Transaction Volume × Take Rate
Example
result = payment_revenue(640_000_000_000, 0.0116) result.value / 1_000_000_000 7.424
Source code in src/startup_valuation/fintech.py
max_loan_portfolio(equity_capital, capital_ratio=0.08)
¶
Calculate maximum loan portfolio under Basel III.
Formula: Max Loan = Equity Capital / Risk-Weighted Capital Ratio
Example
result = max_loan_portfolio(100_000_000, 0.08) result.value 1250000000.0
Source code in src/startup_valuation/fintech.py
network_effects_value(total_users, alpha=1.3)
¶
Calculate network effects value.
Formula: Value per User ∝ Total Users^α
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
total_users
|
float
|
Total number of users. |
required |
alpha
|
float
|
Network effect exponent (1.2-1.5 empirical, 2 for Metcalfe). |
1.3
|
Returns:
| Type | Description |
|---|---|
ValuationResult
|
ValuationResult with network value index. |
Source code in src/startup_valuation/fintech.py
lending_fintech_valuation(loan_book, roe, pe_multiple, npl_reserves=0)
¶
Value a lending fintech.
Formula: Valuation = Loan Book × ROE × P/E - NPL Reserves
Example
result = lending_fintech_valuation(100_000_000, 0.15, 12) result.value 180000000.0
Source code in src/startup_valuation/fintech.py
payment_processor_valuation(transaction_volume, take_rate, growth_rate, discount_rate, terminal_multiple, years=5)
¶
Value a payment processor using DCF of payment revenue.
Formula: V = Σ[Volume × (1+g)^t × Take Rate] / (1+r)^t + Terminal / (1+r)^n
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
transaction_volume
|
float
|
Current annual transaction volume. |
required |
take_rate
|
float
|
Revenue take rate. |
required |
growth_rate
|
float
|
Annual volume growth rate. |
required |
discount_rate
|
float
|
Discount rate. |
required |
terminal_multiple
|
float
|
Terminal revenue multiple. |
required |
years
|
int
|
Projection period. |
5
|
Returns:
| Type | Description |
|---|---|
ValuationResult
|
ValuationResult with payment processor value. |
Example
result = payment_processor_valuation( ... 640_000_000_000, 0.0116, 0.20, 0.15, 15, 5 ... ) round(result.value / 1_000_000_000, 1) 84.5
Source code in src/startup_valuation/fintech.py
neobank_valuation(customers, arpu, gross_margin, churn_rate, pe_multiple)
¶
Value a neobank using customer-based valuation.
Formula: V = Customers × LTV × P/E where LTV = (ARPU × Gross Margin) / Churn Rate
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
customers
|
int
|
Number of active customers. |
required |
arpu
|
float
|
Annual revenue per user. |
required |
gross_margin
|
float
|
Gross margin percentage. |
required |
churn_rate
|
float
|
Annual churn rate. |
required |
pe_multiple
|
float
|
P/E multiple for comparable banks. |
required |
Returns:
| Type | Description |
|---|---|
ValuationResult
|
ValuationResult with neobank value. |
Example
result = neobank_valuation(1_000_000, 50, 0.60, 0.10, 20) result.value / 1_000_000_000 6.0