Python library for intangible asset valuation implementing cost, market, and income approaches. 124+ functions for patents, brands, goodwill, PPA, and more.
Project description
Intangible Asset Valuation Engine
Complete intangible asset valuation library implementing 124+ functions from the Intangible Asset Valuation textbook. Python library + MCP server + AI-Agent Skills.
Overview
A production-grade Python library for intangible asset valuation, implementing every formula from the Intangible Asset Valuation textbook by Simon Mak, William Yuen, Paul Wu, and Wayne Hu (Valuation in Practice Series, Ascent Partners). Designed for developers, financial analysts, accountants, and AI agents who need auditable, structured valuation computations for ASC 805 / IFRS 3 compliant workflows.
Three-layer architecture:
- Python Library — 22 modules, 124+ typed functions, all returning
ValuationResult(value + assumptions + sensitivity) - MCP Server — 54 tools for AI agents (Claude, OpenCode, etc.) via stdio/SSE
- AI-Agent Skills — 3 skill definitions with workflow guidance for valuation domains
Installation
pip install intangible-valuation # library only
pip install intangible-valuation[mcp] # + MCP server
pip install intangible-valuation[dev] # + pytest, ruff, mypy
Quick Start
Python Library
from intangible_valuation.core.time_value import present_value
from intangible_valuation.core.discount_rates import build_up_discount_rate
from intangible_valuation.income_methods.relief_from_royalty import relief_from_royalty
# Present Value
result = present_value(future_value=500_000, discount_rate=0.10, periods=8)
print(f"PV: ${result.value:,.2f}") # $233,253.69
# Build-Up Discount Rate
rate = build_up_discount_rate(
risk_free_rate=0.04, equity_risk_premium=0.06,
size_premium=0.02, industry_risk_premium=0.01, specific_risk_premium=0.03,
)
print(f"Discount rate: {rate.value:.2%}") # 16.00%
# Relief from Royalty — Patent Valuation
value = relief_from_royalty(
revenue_projections=[1_000_000, 1_100_000, 1_200_000, 1_300_000, 1_400_000],
royalty_rate=0.05, discount_rate=0.12, tax_rate=0.25, useful_life=5,
)
print(f"Patent value: ${value.value:,.2f}")
MCP Server (for AI Agents)
cd mcp_server && python server.py
Connect with any MCP-compatible AI agent. All 54 valuation tools available.
AI-Agent Skills
Copy the skills/ directory to your agent's skills folder:
asset-valuation— Patents, trademarks, technology, customer relationships, human capitaldiscount-rate-construction— Build-up, CAPM, WACC, risk premiums, adjustmentspurchase-price-allocation— ASC 805 / IFRS 3 PPA workflow, goodwill calculation, impairment testing
Valuation Methods by Category
| Category | Methods | Chapter |
|---|---|---|
| Time Value | PV, FV, annuity, perpetuity, growing annuity, terminal value | 2 |
| Discount Rates | Build-up, CAPM, WACC, TAB, control premium, DLOM, currency adjustment | 2 |
| Statistics | Monte Carlo, decision trees, regression | 2 |
| Cost Approach | Reproduction cost, replacement cost | 3 |
| Market Approach | Comparable transactions, royalty capitalization | 3 |
| Income Methods | Relief from Royalty, MPEEM, incremental cash flow | 4 |
| Intellectual Property | Patent, trademark, copyright, trade secret | 5 |
| Royalty Analysis | Benchmarking, 25% rule, adjustment | 6 |
| Technology | Developed technology, software, data assets, platforms | 7 |
| Customer-Related | Customer relationships, distribution network, non-compete | 8 |
| Human Capital | Assembled workforce, key person | 9 |
| Goodwill & PPA | Goodwill calculation, PPA waterfall | 10 |
| Impairment | Goodwill & intangible impairment (ASC 350 / IAS 36) | 11 |
| Monte Carlo | Simulation, sensitivity analysis | 15 |
| Decision Trees | Backward induction | 16 |
| Litigation | Lost profits, pre-judgment interest | 17 |
| Transfer Pricing | CUP method, OECD guidelines | 18 |
Why This Library?
- Auditable — Every function returns
ValuationResultwith value, method, inputs, assumptions, and step-by-step calculation breakdown - Textbook-accurate — All 124+ formulas verified against book example values with 698 unit tests
- AI-ready — MCP server and Skills for seamless AI agent integration
- Complete coverage — All three valuation approaches (cost, market, income) across 19 chapters
- Open source — MIT license, extensible, well-documented
Development
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run with coverage
pytest --cov=src --cov-report=term-missing
# Lint
ruff check .
# Type check
mypy src/
Documentation
- API Reference: GitHub Pages
- PyPI: pypi.org/project/intangible-valuation
- MCP Server Guide: docs/mcp.md
- AI Skills Guide: docs/skills.md
Companion Textbook
Intangible Asset Valuation: A Comprehensive Guide to Valuing Brands, IP, Technology, and Human Capital
Theory, Methods, Regulation, and Practice — Valuation in Practice Series by Ascent Partners
By Simon Mak, William Yuen, Paul Wu, Wayne Hu · 176 pages · 19 chapters · 3 appendices
Citing This Project
@software{intangible_valuation_engine,
author = {Mak, Simon and Yuen, William and Wu, Paul and Hu, Wayne},
title = {Intangible Asset Valuation Engine},
year = {2026},
url = {https://github.com/simonplmak-cloud/intangible-valuation},
license = {MIT},
}
Based on formulas from the Intangible Asset Valuation textbook.
License
MIT — see LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file intangible_valuation-1.0.0.tar.gz.
File metadata
- Download URL: intangible_valuation-1.0.0.tar.gz
- Upload date:
- Size: 87.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
057ae355246ec08532e312029c88366fc031c02353e92bea37c93083f3b3c1fd
|
|
| MD5 |
0b3c1edab0ec5b0525487e5387beec40
|
|
| BLAKE2b-256 |
dfd39f863eea83bdf6df544cdadcf2dbfd416782981b386aee4869021c6ee9e4
|
Provenance
The following attestation bundles were made for intangible_valuation-1.0.0.tar.gz:
Publisher:
publish.yml on simonplmak-cloud/intangible-valuation
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
intangible_valuation-1.0.0.tar.gz -
Subject digest:
057ae355246ec08532e312029c88366fc031c02353e92bea37c93083f3b3c1fd - Sigstore transparency entry: 1584320907
- Sigstore integration time:
-
Permalink:
simonplmak-cloud/intangible-valuation@7d2611939332f0045e42931cc4225cc983f8ede7 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/simonplmak-cloud
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7d2611939332f0045e42931cc4225cc983f8ede7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file intangible_valuation-1.0.0-py3-none-any.whl.
File metadata
- Download URL: intangible_valuation-1.0.0-py3-none-any.whl
- Upload date:
- Size: 108.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a6d2687bc507d6629fe566ef8e17fed9e5b2be7eed73a2462939747523823bd
|
|
| MD5 |
766ca8b142f29666fcb288bb53491672
|
|
| BLAKE2b-256 |
b4f18186d802a0fb5c35eeeb4d22253a678cd0c07c41b9d606ceb34085aac33d
|
Provenance
The following attestation bundles were made for intangible_valuation-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on simonplmak-cloud/intangible-valuation
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
intangible_valuation-1.0.0-py3-none-any.whl -
Subject digest:
4a6d2687bc507d6629fe566ef8e17fed9e5b2be7eed73a2462939747523823bd - Sigstore transparency entry: 1584321003
- Sigstore integration time:
-
Permalink:
simonplmak-cloud/intangible-valuation@7d2611939332f0045e42931cc4225cc983f8ede7 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/simonplmak-cloud
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7d2611939332f0045e42931cc4225cc983f8ede7 -
Trigger Event:
release
-
Statement type: