Structural intelligence derived from the corporate graph
python -m src.graph_analytics --all to populate this page, or wait for tonight's daily pipeline.| # | Node | Type | Score |
|---|---|---|---|
| {{ r.rank }} | {{ r.label }} | {{ nodeType(r) }} | {{ r.value }} |
| # | Ticker | Edges |
|---|---|---|
| {{ r.rank }} | {{ r.label }} | {{ r.value }} |
| # | Name | Edges |
|---|---|---|
| {{ r.rank }} | {{ r.label }} | {{ r.value }} |
| # | Node | Type | Betweenness |
|---|---|---|---|
| {{ r.rank }} | {{ r.label }} | {{ nodeType(r) }} | {{ r.value }} |
| # | Pair | Full Names | Jaccard |
|---|---|---|---|
| {{ r.rank }} | {{ r.label }} | {{ pairNames(r) }} | {{ r.value }} |
| # | Director | Boards | Companies |
|---|---|---|---|
| {{ r.rank }} | {{ r.label }} | {{ r.value }} | {{ c.ticker || c.name }} |
| # | Auditor | Clients | Share | Sample Tickers |
|---|---|---|---|---|
| {{ r.rank }} | {{ r.label }} | {{ r.value }} |
|
{{ t }} |
| Detected | Ticker | Company | From | → | To |
|---|---|---|---|---|---|
| {{ r.value }} | {{ r.label }} | {{ auditorChangeMeta(r).company_name || '--' }} | {{ auditorChangeMeta(r).from_auditor }} | → | {{ auditorChangeMeta(r).to_auditor }} |
INVESTED_IN edges — e.g., GOOGL → DXCM, AMZN → MRVL, BRK-B's famous portfolio. Passive index-fund holdings (Vanguard / BlackRock / State Street) are deliberately excluded; this view is about strategic optionality — who is buying into whom outside the public narrative.
| Investor | → | Target | Type | Disclosed |
|---|---|---|---|---|
| {{ r.investor_ticker }}{{ r.investor_name }} | → | {{ r.target_ticker }}{{ r.target_name }} | {{ r.type || 'n/a' }} | {{ r.load_date || '—' }} |
| # | Investor | Portfolio | Targets |
|---|---|---|---|
| {{ r.rank }} | {{ r.label }}{{ stakeMeta(r).name }} | {{ r.value }} | {{ t }} +{{ Number(r.value) - (stakeMeta(r).targets || []).length }} more |
| # | Target | Backers | Investors |
|---|---|---|---|
| {{ r.rank }} | {{ r.label }}{{ stakeMeta(r).name }} | {{ r.value }} | {{ t }} +{{ Number(r.value) - (stakeMeta(r).investors || []).length }} more |
| # | Pair | Score | Board | Auditor | Suppliers | Industry | Activity |
|---|---|---|---|---|---|---|---|
| {{ r.rank }} | {{ maMeta(r).a_ticker }} ↔ {{ maMeta(r).b_ticker }} {{ maMeta(r).a_name }} & {{ maMeta(r).b_name }} | {{ r.value }} | {{ maMeta(r).shared_board }} | {{ maMeta(r).shared_auditor }} | {{ maMeta(r).shared_suppliers }} | {{ maMeta(r).same_industry }} | {{ Math.max(maMeta(r).a_activity || 0, maMeta(r).b_activity || 0) }} |
{{ playbookMeta(p).narrative }}
| # | Acquirer | Recent Deals | Likely Next Targets |
|---|---|---|---|
| {{ idx + 1 }} | {{ likelyMeta(r).acquirer_ticker }} {{ likelyMeta(r).acquirer_name }} | {{ likelyMeta(r).acquirer_deal_count }} | {{ c.ticker }} ${{ c.target_mc_b }}B size? {{ c.score }} [{{ c.strongest }}] |
| # | Acquirer | Deals (24mo) | Recent Targets |
|---|---|---|---|
| {{ r.rank }} | {{ acquirerMeta(r).acquirer_ticker }} — {{ acquirerMeta(r).acquirer_name }} | {{ r.value }} | {{ t.ticker }} {{ (t.name || '?').substring(0, 28) }} ⚔ |
| # | Pair | Industry | Shared | Customers | Suppliers |
|---|---|---|---|---|---|
| {{ r.rank }} | {{ compMeta(r).a_ticker }} ↔ {{ compMeta(r).b_ticker }} {{ compMeta(r).a_name }} vs {{ compMeta(r).b_name }} | {{ compMeta(r).industry }} | {{ r.value }} | {{ compMeta(r).shared_customers }} | {{ compMeta(r).shared_suppliers }} |
| # | Ticker | Blast Score | Board | Auditor | Supply | Investment |
|---|---|---|---|---|---|---|
| {{ r.rank }} | {{ r.label }} {{ contagionMeta(r).name }} | {{ r.value }} | {{ contagionMeta(r).board_n }} | {{ contagionMeta(r).auditor_n }} | {{ contagionMeta(r).supply_n }} | {{ contagionMeta(r).invest_n }} |
--contagion.| Date | Source | Relationship | Target | Context |
|---|---|---|---|---|
| {{ r.value }} | {{ recentMeta(r).source }} {{ (recentMeta(r).src_label || '?').charAt(0) }} | {{ recentMeta(r).rel_type }} | {{ recentMeta(r).target }} {{ (recentMeta(r).tgt_label || '?').charAt(0) }} | {{ recentMeta(r).context || '(no context)' }} {{ recentMeta(r).context || '(no context)' }} |
Graph scope: All Company, Person, Entity, Auditor, and Fund nodes connected via the relationship types surfaced by Silent Facts (board seats, auditor, supplier, partner, investor, underwriter, lender, competitor, industry, location).
Engine: NetworkX 3.6 + python-louvain, pulled live from Neo4j into an undirected graph for analysis. No paid GDS license required.
Approximations: Betweenness uses k=500 node sampling (standard approach for graphs this size — exact calculation scales O(V·E)). PageRank uses the classic damping factor α=0.85.
Refresh cadence: Daily, as part of the overnight pipeline. Results cached in SQLite for instant page loads.
Aggregation metrics (Board Power, Auditor Concentration, Recent Changes): Pure Cypher against Neo4j, no NetworkX required. Recent Changes uses edge load_date/ingested_date timestamps populated by the agent pipeline and 7PM daily refresh.
Auditor switches: The Neo4j graph only stores the current auditor-of-record per company, so history is rebuilt by diffing today's snapshot against the previous one (stored in SQLite auditor_snapshot). Every detected change is appended to auditor_change; the UI shows the last 6 months. History starts accumulating from the first run.