The pipeline uses a multi-layered scoring framework to evaluate investment opportunities. Every score is deterministic (reproducible from the same inputs), except AI Resilience which uses LLM-generated assessments calibrated against reference anchors.
Each module page shows the components, formulas, thresholds, and data sources. Scores are 0–100 unless noted otherwise. All thresholds and weights are configurable via the score_config table.
conviction_scores (composite output)
|
+-- Fundamental (25%)
| beat_rate, surprise_quality, sentiment,
| estimate_trajectory, guidance, financial_strength
|
+-- Thematic (25%)
| ai_resilience (adaptive weight), theme_health, peer_standing
|
+-- Valuation (25%)
| pe_percentile, peg, price_strength,
| net_debt_ocf (TTM, sector-aware),
| ev_fcf (TTM, sector-aware), pe_momentum
|
+-- Catalyst (25%)
thesis_conviction (calibrated + penalty),
rating_momentum, estimate_momentum,
guidance_trajectory, thesis_consistency,
insider_activity, institutional_momentum,
contrarian_signal
Raw data flows through three layers before reaching conviction scores:
| Layer | Source | Output |
|---|---|---|
| Ingestion | FMP, SEC EDGAR (XBRL, Form 4, 8-K, 10-Q/10-K), FRED, WhaleWisdom, CarbonArc, Reddit, newsletters | earnings_events, financial_health, companies, news_articles, analyst_ratings, insider_transactions, institutional_holders, filing_extracts |
| Signals | Ingested tables + LLM analysis | ticker_signals, ai_scores, theme_momentum, peer_rankings, estimate_revisions, insider_signal, institutional_signal, price_path_flags, target_accuracy_snapshots |
| Scoring | Signals + company data | conviction_scores, investment_theses, earnings_previews, decision_scorecards |
The platform uses a custom sector taxonomy (not GICS). Technology is split into four groups:
| Sector Group | Sub-sectors |
|---|---|
| Semiconductors | Logic/GPU, Networking, Analog, Equipment, Memory, Foundry |
| Software | Enterprise SaaS, DevOps/Data, Cybersecurity, Digital Advertising, EDA, Fintech, Mobility, Gaming |
| AI Infrastructure | GPU Cloud, Quantum |
| Cloud/Hyperscalers | Cloud/Hyperscalers |
| Energy/Power | Utilities, Renewables, Nuclear, Midstream |
| Industrials | Defense, Infrastructure, Enterprise IT |
| Healthcare | Pharma |
All peer rankings, sector reports, and dashboard groupings resolve through this taxonomy via SECTOR_GROUPS (Python) and _peerKey() (JavaScript).
All weights, thresholds, and labels are tunable at runtime via the score_config table without code changes:
| Config Type | Key Settings |
|---|---|
| conviction | Dimension weights (default 25% each), label thresholds (Strong Buy ≥80, Buy ≥65, Hold ≥50), macro modifier toggle |
| ai_resilience | Dimension weights (RevCat 25%, Moat 25%, OpLev 15%, Pricing 20%, Obsol 15%), label thresholds |
| financial_strength | Industry adjustment factors (Energy 1.15, Utilities 1.15, Industrials 1.10) |
| risk_tiers | Anchor ≥70, Ballast 60–69, Contrarian 50–59, High-Risk <50 |