What (One-liner)
Calculates company business model quality from yfinance three statements + description (9 metrics including CapEx / ROIC / FCF / R&D / 3y CAGR) + qualitative tags, outputs B score 0-100. B-dimension input for BLCV composite score.
How to use
Drag blcv_business_v1 into Canvas, fill in symbol. Outputs 9 quantitative metrics + qualitative_tags (heuristic classification: light/heavy asset, high/low R&D, stable/volatile FCF, etc.) + b_score.
Core formulas
B_score = (quantitative_score + qualitative_tag_bonus) / (max_pts) × 100Key metrics:
- CapEx Intensity = capex / revenue (lower is better, generally < 10% counts as asset_light)
- ROIC = NOPAT / invested_capital (>15% counts as high_quality)
- Revenue CAGR (3y) (stable growth counts as bonus)
- R&D Intensity = rd / revenue (tech industry > 10% counts as innovation_heavy)
Assumptions & applicability
Assumptions: qualitative tag rules are valid for current business model classification; 3-year window represents steady state; quantitative metric thresholds target mature industries.
Applicability: Listed companies in developed markets, entities such as manufacturing / consumer / tech / pharma.
Out of scope: Loss-making companies / early-stage startups / financial institutions / undergoing M&A restructuring.
Input / Output contract
symbol: str → {b_score, metrics: dict, qualitative_tags: list, logic_lineage: list}. See frontmatter for details.
Known limitations
- qualitative_tags rely on keyword matching → yfinance description drift will affect it
- 3-year window insufficient for cyclical industries (energy / materials)
- CapEx threshold 10% is empirical, not robust across industries
- Adding new metrics will break max_pts normalization
References
Buffett Shareholder Letters (moat) + Porter (1985) Competitive Advantage + Damodaran (2015) Narrative and Numbers.
Golden Test
tests/golden/fixtures/tier1/blcv_business/, integration_regression (AAPL yfinance snapshot), 1e-6 tolerance, 4 tests.
Changelog
- 1.1.0 (2026-04-20) — 0-100 scale alignment + lineage sync
- 1.0.0 (2026-04-19) — Initial production (0-1)

