TensorStats — Comprehensive Metrics & Visualization Brainstorm
Date: 2026-02-14
Author: Hari subagent (metrics-brainstorm)
Legend
- Complexity: Low / Med / High
- Data Readiness:
- Already ingested = in current DB tables/endpoints
- Needs new pipeline = can be derived, but needs historical snapshots/materialized views/enrichment jobs
- Needs chain RPC = requires additional runtime queries/event decoding beyond current ingest
- Impact: Low / Med / High
Charting/UI stack suggestions: - Recharts: fast card charts, line/area/bar, lightweight tables + sparklines - Nivo: heatmaps, treemaps, choropleths, radar, swarm/bump - D3: custom alluvial, sankey, ridge plots, advanced brushing/interactions - Cytoscape.js: topology/network graphs - MapLibre/Deck.gl: geo clustering, arc/trail layers - Tremor: KPI cards, sparkline-heavy dashboards
0) Canonical Metric Inventory (Enumerate Everything Available)
0.1 network_state (per block snapshot)
total_subnetsactive_subnetstotal_nodesactive_nodestotal_staketotal_delegate_staketotal_issuancetotal_overwatch_nodestotal_overwatch_stake
0.2 subnet_state (per subnet snapshot)
nameownertotal_stakedelegate_stake_balancedelegate_stake_sharesnode_countactive_node_countreputationmin_stakemax_stakedelegate_rewards_pct
0.3 node_state (per subnet × node snapshot)
hotkeycoldkeypeer_idpeer_multiaddrbootnode_multiaddrclient_multiaddrclassificationclassification_epochreputationdelegate_reward_rate
0.4 staker_state (per account × subnet snapshot)
stakeamountdelegate_shares
0.5 hotkey_mapping
hotkey -> coldkey
0.6 network_peer
peer_idrolesbest_hashbest_numberfirst_seenlast_seen
0.7 node_ip_history
peer_idiplat/lngcitycountrycontinentobservation_count- (plus first/last seen fields in canonical docs)
0.8 peer_geo
peer_idiplat/lngcountryregioncityispasntimezone
0.9 subnet_bootnode
subnet_idmultiaddrpeer_idsource
0.10 peer_multiaddr
peer_idmultiaddrsubnet_idnode_idsource
0.11 PoI / Attestation (validator_epoch-derived)
totalattestations per validator per epochpassedper validator per epochfailedper validator per epoch- per-subnet consensus participation rates
0.12 ETH DuckDB side
- top holders
- transfers
- wallet flow graph
- wallet timeline with buy/sell markers
- genesis cohort
- lot-based FIFO P&L
1) network_state Brainstorm
Derived/computed metrics
- Subnet activity ratio =
active_subnets / total_subnets - Node activity ratio =
active_nodes / total_nodes - Delegation penetration =
total_delegate_stake / total_stake - Overwatch penetration (nodes) =
total_overwatch_nodes / total_nodes - Overwatch stake share =
total_overwatch_stake / total_stake - Stake-per-active-node, stake-per-subnet
- Issuance velocity (1d/7d rolling delta)
- Issuance acceleration (second derivative)
- Regime shift flags (CUSUM/change-point on stake growth)
Visualization ideas
| Idea | Viz type | Complexity | Data readiness | Impact | Page | Library |
|---|---|---|---|---|---|---|
| Network health ribbon (5 mini sparklines: active ratio, delegation share, issuance growth, overwatch share, stake/node) | Sparkline strip + KPI cards | Low | Already ingested | High | Home | Tremor/Recharts |
| Active vs total subnets/nodes over time | Dual-line + filled gap area | Low | Already ingested | High | Home | Recharts |
Stake composition (self vs delegated vs overwatch) |
Stacked area | Low | Already ingested | High | Home | Recharts |
| Issuance momentum dashboard | Line + histogram of block deltas | Med | Needs new pipeline (windowed aggregates) | High | Home/Token | Nivo/Recharts |
| Network stress gauge (composite z-score) | Gauge/donut + trend sparkline | Med | Needs new pipeline | Med | Home | Tremor |
| Contribution waterfall (which component changed network health over 24h) | Waterfall | Med | Needs new pipeline | Med | Home | D3 |
Cross-metric correlations
- Node activity ratio vs global PoI pass rate (lagged correlation)
- Delegation penetration vs subnet reputation median
- Overwatch stake share vs attestation failure rate
- Issuance velocity vs new subnet activation rate
Time-series opportunities (track historically)
- Daily/epoch snapshots of all ratios (not just totals)
- Rolling volatility of node activity ratio
- Trend and seasonality decomposition for issuance
- Alert baselines (95% bands) for sudden activity drops
2) subnet_state Brainstorm
Derived/computed metrics
- Subnet active node ratio =
active_node_count / node_count - Delegation share =
delegate_stake_balance / total_stake - Stake concentration across subnets (HHI, Gini)
- Reputation efficiency =
reputation / log(total_stake) - Subnet capacity spread =
max_stake - min_stake - Stake accessibility index =
min_stake / median_stake(across subnets) - Reward attractiveness score (delegate_rewards_pct adjusted by reputation and activity)
- Subnet growth rate (stake, nodes, reputation deltas)
Visualization ideas
| Idea | Viz type | Complexity | Data readiness | Impact | Page | Library |
|---|---|---|---|---|---|---|
| Stake market map of subnets | Treemap (size=stake, color=reputation) | Low | Already ingested | High | Subnets | Nivo |
| Risk/return scatter | Bubble scatter (delegate_rewards_pct vs reputation, size=stake) |
Low | Already ingested | High | Subnets | Recharts/Nivo |
| Subnet leaderboard table with inline sparklines | Table + sparklines + delta badges | Med | Needs new pipeline (history) | High | Subnets/Home | Tremor |
| Subnet health radar | Radar (activity, rep, stake growth, delegation share, decentralization proxy) | Med | Needs new pipeline | Med | Subnet detail | Nivo |
| Rank race | Bump chart for top-N subnets by stake/reputation over time | Med | Needs new pipeline | High | Subnets | Nivo |
| Distribution quality | Box/violin of reputation by subnet cohorts (small/medium/large stake) | Med | Needs new pipeline | Med | Subnets/Research view | Nivo/D3 |
| Owner concentration view | Sankey owner → subnet → stake | High | Already ingested | Med | Subnets | D3 |
Cross-metric correlations
total_stakevsreputationactive_node_countvsreputationdelegate_rewards_pctvs delegation inflowsmin_stake/max_stakespread vs subnet growth/churn- subnet reputation vs validator PoI performance within subnet
Time-series opportunities
- Subnet lifecycle states: launched → growth → plateau → decline
- Delegation inflow/outflow per subnet over epochs
- Reputation velocity and drawdown statistics
- Persistent subnet “quality score” history for ranking stability
3) node_state Brainstorm
Derived/computed metrics
- Node active flag by classification mapping
- Classification tenure = current_epoch - classification_epoch
- Reputation velocity and volatility per node
- Delegate reward competitiveness percentile (within subnet)
- Endpoint redundancy score (count of populated multiaddr fields)
- Node stability score (classification switches + reputation variance)
- Hotkey reuse rate / coldkey fanout (join hotkey_mapping)
Visualization ideas
| Idea | Viz type | Complexity | Data readiness | Impact | Page | Library |
|---|---|---|---|---|---|---|
| Node class transition flow | Alluvial/Sankey across epochs (Idle→Validator etc.) | High | Needs new pipeline (historical states) | High | Validators/Subnets | D3 |
| Reputation by class | Box/violin grouped by classification | Low | Already ingested | High | Validators | Nivo |
| Reward rate vs reputation efficiency | Scatter + regression band | Low | Already ingested | High | Validators | Recharts |
| Per-node timeline strip | Gantt-like classification_epoch track | Med | Needs new pipeline | Med | Validator detail | D3 |
| Reputation movers | Lollipop (top gainers/losers over 7d) | Med | Needs new pipeline | High | Validators/Home | Recharts |
| Endpoint health donuts | Donuts for % nodes missing peer/bootnode/client multiaddr | Low | Already ingested | Med | Topology/Validators | Tremor |
| Subnet-node network with class coloring | Force/concentric network | Med | Already ingested | Med | Topology | Cytoscape.js |
Cross-metric correlations
- Delegate reward rate vs node reputation
- Classification tenure vs pass/fail outcomes (PoI join)
- Endpoint redundancy vs network_peer lag
- Node reputation vs geo/ASN concentration exposure
Time-series opportunities
- Store node reputation per epoch/block
- Track classification transitions and dwell time
- Longitudinal node reliability score
- Survival curves for new nodes becoming validators
4) staker_state Brainstorm
Derived/computed metrics
- Delegator count per subnet
- Average/median stake size per subnet
- Stake concentration by subnet and globally (HHI, Gini, Theil)
- Whale share (top 1/5/10 delegators)
- Net delegation flow (in/out by wallet/subnet over time)
- Delegate share efficiency (
delegate_shares / stakenormalization) - Delegator retention/churn cohorts
Visualization ideas
| Idea | Viz type | Complexity | Data readiness | Impact | Page | Library |
|---|---|---|---|---|---|---|
| Wealth concentration lens | Lorenz curve + Gini card | Med | Already ingested | High | Token/Subnets | D3/Recharts |
| Delegation routing | Sankey staker cohort → subnet → class tier | High | Needs new pipeline (cohorting) | High | Subnets/Token | D3 |
| Stake-size distribution | Histogram + log-scale | Low | Already ingested | Med | Token/Validators | Recharts |
| Staker-subnet exposure matrix | Heatmap (top wallets x subnets) | Med | Already ingested | High | Token wallets | Nivo |
| Cohort survival | Retention heatmap by first-seen epoch | High | Needs new pipeline | High | Token wallets | D3/Nivo |
| Whale movement monitor | Streamgraph of top-N wallet net flow | High | Needs new pipeline | High | Token/Home | D3 |
Cross-metric correlations
- Delegator concentration vs subnet reputation volatility
- Whale concentration vs consensus participation stability
- Delegate share efficiency vs validator reward rates
- Net flow vs changes in delegate_rewards_pct
Time-series opportunities
- Daily stake balance snapshots by wallet×subnet
- Cohort entry/exit trends
- Flow decomposition: new stake vs migrated stake vs withdrawn stake
5) hotkey_mapping Brainstorm
Derived/computed metrics
- Hotkeys per coldkey
- Coldkey concentration index (entity control centralization)
- Cross-subnet operator footprint (if hotkeys span subnets)
- Sybil-risk heuristic (many hotkeys with synchronized behavior)
- Ownership churn rate (mapping changes over time)
Visualization ideas
| Idea | Viz type | Complexity | Data readiness | Impact | Page | Library |
|---|---|---|---|---|---|---|
| Operator footprint panel | Bar chart: hotkeys per coldkey (Top 20) | Low | Already ingested | High | Validators | Recharts |
| Ownership topology | Bipartite graph coldkey ↔ hotkey | Med | Already ingested | Med | Topology/Validators | Cytoscape.js |
| Concentration dial | HHI/Gini gauge for ownership centralization | Med | Needs new pipeline (time history) | Med | Home/Validators | Tremor |
| Cross-subnet control map | Sunburst coldkey → subnet → node count | High | Already ingested (join with node_state) | High | Validators/Subnets | Nivo |
| Potential sybil cluster explorer | Similarity graph (behavioral clustering) | High | Needs new pipeline | Med | Research/Validators | D3 |
Cross-metric correlations
- Coldkey centralization vs PoI failure clustering
- Operator footprint vs average node reputation
- Shared coldkey operators vs geographic concentration
Time-series opportunities
- Mapping change events timeline
- Operator expansion/contraction trend
- Coldkey-level risk score trend
6) network_peer Brainstorm
Derived/computed metrics
- Peer recency score (
now - last_seen) - Online duration (
last_seen - first_seen) - Head lag =
network_tip - best_number - Stale peer ratio (lag > threshold)
- Hash divergence ratio (fraction not on modal
best_hash) - Role distribution entropy
Visualization ideas
| Idea | Viz type | Complexity | Data readiness | Impact | Page | Library |
|---|---|---|---|---|---|---|
| Head lag distribution | Histogram + percentile bands | Low | Already ingested | High | Topology/Home | Recharts |
| Peer health monitor | Status grid (online/stale/divergent) | Med | Already ingested | High | Topology | Tremor |
| Hash consensus snapshot | Treemap by best_hash cluster sizes |
Med | Already ingested | Med | Topology | Nivo |
| Roles over time | Stacked area of role counts | Med | Needs new pipeline (historical snapshots) | Med | Topology | Recharts |
| Peer session raster | Heatmap timeline (peer x time, seen/not seen) | High | Needs new pipeline | High | Topology/Validators | D3/Nivo |
| Outlier watchlist | Ranked table with lag sparkline per peer | Med | Needs new pipeline | High | Topology | Tremor |
Cross-metric correlations
- Head lag vs attestation fail rates
- Peer role vs reputation/classification
- Divergent hash clusters vs geo/ASN segments
Time-series opportunities
- Rolling peer availability SLO (e.g., 99% seen)
- Session-length distributions over time
- Episode detection for network partitions
7) node_ip_history Brainstorm
Derived/computed metrics
- IP churn rate per peer
- Geo churn rate (city/country transitions)
- Mobility distance traveled (great-circle cumulative)
- Observation-weighted presence by region
- Residential vs hosting proxy heuristic (with ASN enrichment)
- Stability tier labels (static / occasional / highly volatile)
Visualization ideas
| Idea | Viz type | Complexity | Data readiness | Impact | Page | Library |
|---|---|---|---|---|---|---|
| Geographic footprint | Choropleth + bubble overlay by observation_count | Med | Already ingested | High | Topology/Home | MapLibre/Nivo |
| Node movement trails | Arc/trail map per peer over time | High | Needs new pipeline (ordered history API) | High | Topology | Deck.gl |
| IP churn leaderboard | Bar + sparkline (changes per week) | Med | Needs new pipeline | High | Validators/Topology | Recharts |
| Country transition flow | Sankey source-country → destination-country | High | Needs new pipeline | Med | Topology | D3 |
| Stability heatmap | Peer x week heatmap of IP changes | High | Needs new pipeline | Med | Topology | Nivo |
Cross-metric correlations
- IP churn vs PoI pass/fail volatility
- Region mobility vs classification instability
- Country concentration vs network_peer hash divergence
Time-series opportunities
- Persist ordered IP observations with timestamps in API
- Weekly geo concentration trend
- Detect “sudden migration events” (many peers relocating)
8) peer_geo Brainstorm
Derived/computed metrics
- Country/region/city share distribution
- ASN concentration (HHI/Gini)
- ISP concentration and systemic exposure
- Timezone dispersion index
- Geo decentralization score (entropy-based)
- Jurisdiction risk flags (custom risk map)
Visualization ideas
| Idea | Viz type | Complexity | Data readiness | Impact | Page | Library |
|---|---|---|---|---|---|---|
| Decentralization globe | 3D/2D map with cluster density | Med | Already ingested | High | Topology | Deck.gl/MapLibre |
| ASN dependency map | Treemap (size=peer count, color=risk/lag) | Med | Already ingested | High | Topology/Validators | Nivo |
| Timezone wheel | Radial bar chart by timezone counts | Low | Already ingested | Med | Topology | Nivo |
| Geo diversity scorecards | KPI cards + historical sparkline | Med | Needs new pipeline (historical snapshots) | High | Home/Topology | Tremor |
| Country-ISP bipartite | Network graph to show concentration chokepoints | High | Already ingested | Med | Topology | Cytoscape/D3 |
Cross-metric correlations
- ASN concentration vs network lag or consensus failures
- Geo decentralization score vs subnet reputation stability
- Timezone coverage vs epoch participation consistency
Time-series opportunities
- Historical geo snapshots (daily)
- ASN dominance trend
- Regional failover behavior during incidents
9) subnet_bootnode Brainstorm
Derived/computed metrics
- Bootnode count per subnet
- Unique peer_id count per subnet
- Bootnode redundancy index
- Bootnode geo/ASN diversity (join
peer_geo) - Bootstrap centralization risk (single source/single ASN)
- Source reliability score (
sourcestability over time)
Visualization ideas
| Idea | Viz type | Complexity | Data readiness | Impact | Page | Library |
|---|---|---|---|---|---|---|
| Bootnode resilience panel | Gauge + counts (redundancy, diversity) | Med | Already ingested (with joins) | High | Subnet detail/Topology | Tremor |
| Subnet↔bootnode map | Bipartite graph | Med | Already ingested | High | Topology | Cytoscape |
| Bootnode source mix | Stacked bar by source per subnet | Low | Already ingested | Med | Subnets | Recharts |
| Bootstrap risk heatmap | Heatmap subnet x risk factors | Med | Needs new pipeline (scoring) | High | Subnets/Topology | Nivo |
| Bootnode drift timeline | Event timeline when bootnodes change | High | Needs new pipeline | Med | Subnet detail | D3 |
Cross-metric correlations
- Bootnode redundancy vs active_node_count
- Bootnode diversity vs peer head lag
- Source concentration vs subnet PoI participation variance
Time-series opportunities
- Bootnode set change history
- Mean time between bootnode changes
- Incident overlays (failures after topology contractions)
10) peer_multiaddr Brainstorm
Derived/computed metrics
- Multiaddr count per peer
- Protocol composition (tcp/ws/quic/etc parsed from multiaddr)
- Subnet overlap score (peer appearing across subnets)
- Address entropy (diversity/uniqueness)
- Source consistency score
- Reachability proxy (address completeness heuristics)
Visualization ideas
| Idea | Viz type | Complexity | Data readiness | Impact | Page | Library |
|---|---|---|---|---|---|---|
| Protocol mix dashboard | Stacked bars by protocol and subnet | Med | Needs new pipeline (protocol parsing) | Med | Topology | Recharts |
| Source→protocol→subnet flow | Sankey | High | Needs new pipeline | Med | Topology | D3 |
| Address richness by peer | Dot plot / beeswarm | Med | Already ingested | Med | Validators/Topology | Nivo |
| Multiaddr quality badge in tables | Sparkline + categorical badge | Low | Already ingested | High | Validators/Subnets | Tremor |
| Peer-subnet overlap chord | Chord diagram for multi-subnet peers | High | Needs new pipeline | Med | Topology | D3 |
Cross-metric correlations
- Address richness vs node reputation
- Protocol diversity vs peer lag/stability
- Subnet overlap vs operational centralization risk
Time-series opportunities
- Address additions/removals per peer
- Protocol adoption trend over time
- Stability of source attribution
11) PoI / Attestation Brainstorm (Priority Section)
Derived/computed metrics
- Pass rate =
passed / total - Failure rate =
failed / total - Miss rate (if
totalimplies expected, derive missing submissions) (needs RPC clarity) - Epoch z-score vs validator’s trailing mean
- EWMA pass-rate trend
- Pass/fail streak lengths (max, current)
- Drawdown from personal best pass rate
- Subnet consensus quality index:
- weighted(pass_rate, participation_rate, volatility_penalty)
- Validator reliability tier (A/B/C/D)
- Surprise failure score (actual fails - expected fails)
- Time-to-recovery after a failure cluster
- Timeliness buckets (on-time/late/missed) (needs attestation timestamp pipeline)
Core visualization ideas
| Idea | Viz type | Complexity | Data readiness | Impact | Page | Library |
|---|---|---|---|---|---|---|
| Validator × Epoch pass/fail heatmap | Heatmap (green/red intensity; tooltip counts) | Med | Already ingested (epoch-level data) | High | Validators | Nivo |
| Streak analysis panel | Barcode strip + streak length distribution | Med | Needs new pipeline (derived streak table) | High | Validators/Validator detail | D3 |
| Consensus quality scoring leaderboard | Ranked table + sparkline + badge | Med | Needs new pipeline | High | Validators/Home | Tremor/Recharts |
| Attestation timeliness distribution | Histogram/violin of latency buckets | High | Needs chain RPC + new pipeline | High | Validators | Nivo/D3 |
| Subnet participation matrix | Heatmap subnet × epoch participation | Med | Already ingested | High | Subnets/Validators | Nivo |
| Failure cascade timeline | Event timeline with cluster detection | High | Needs new pipeline | High | Validators/Home | D3 |
| Reliability control charts | Run chart with control limits for top validators | Med | Needs new pipeline | Med | Validator detail | Recharts |
| Rank momentum race | Bump chart validator quality rank over time | Med | Needs new pipeline | High | Validators | Nivo |
| Distribution drift | Ridgeline by epoch of validator pass rates | High | Needs new pipeline | Med | Validators/Research | D3 |
| Ternary reliability plot | Ternary (pass/fail/missed) | High | Needs chain RPC for misses/timeliness | Med | Validators | D3 |
PoI-specific cross-metric correlations
- Pass rate vs validator reputation
- Pass rate vs delegated stake share
- Failure volatility vs node classification churn
- Subnet participation rate vs subnet active node ratio
- Timeliness (when available) vs peer head lag (
network_peer.best_numberlag) - Consensus quality vs geo concentration (country/ASN)
PoI time-series opportunities
- Persist epoch-level per-validator panel (long horizon)
- Rolling reliability percentiles (7d/30d)
- Regime change alerts (sudden consensus degradation)
- Incident replay mode (align failures with topology/geo changes)
12) ETH DuckDB Analytics Brainstorm
Derived/computed metrics
- Holder concentration (HHI/Gini, top-N share)
- Net transfer flow by wallet cohort
- Whale inflow/outflow momentum
- Wallet graph centrality (in/out degree, PageRank)
- Buy/sell win rate and holding period stats
- FIFO realized P&L, unrealized P&L, tax-lot aging
- Genesis cohort retention and behavior drift
- Profit factor by wallet segment
Visualization ideas
| Idea | Viz type | Complexity | Data readiness | Impact | Page | Library |
|---|---|---|---|---|---|---|
| Holder concentration cockpit | Lorenz curve + treemap + top-N share cards | Med | Already ingested | High | Token/Holders | D3/Nivo |
| Transfer river | Sankey/alluvial by wallet cohorts (exchange, whale, retail) | High | Needs new pipeline (entity labels/cohorts) | High | Token | D3 |
| Wallet flow graph explorer | Force graph with filtering + edge bundling | Med | Already ingested | High | Token/Wallets | Cytoscape/D3 |
| Wallet timeline trading tape | Candlestick-style buy/sell markers + inventory line | Med | Already ingested | High | Wallet detail | Recharts |
| P&L decomposition | Waterfall (realized gains/losses, fees, unrealized) | Med | Already ingested | High | Wallet detail | Recharts |
| Cohort retention matrix | Heatmap genesis cohort retention by month | Med | Already ingested | High | Token | Nivo |
| Lot age risk chart | Histogram/box of lot age vs unrealized return | Med | Already ingested | Med | Wallet detail | Nivo |
| Smart-money tracker | Scatter (wallet return vs turnover; size=AUM proxy) | High | Needs new pipeline (segment heuristics) | Med | Token/Wallets | Recharts |
Cross-metric correlations
- Holder concentration vs transfer volatility
- Whale netflow vs price/issuance proxies (if market data integrated)
- Wallet centrality vs profitability
- Genesis cohort behavior vs broader token distribution shift
- ETH wallet inflows vs Substrate delegation growth (cross-chain narrative)
Time-series opportunities
- Daily holder distribution snapshots
- Rolling netflow by cohort and cluster
- Longitudinal wallet factor model (momentum, mean-reversion, accumulation)
13) Cross-Domain “Quant Desk” Views (Multi-table joins)
13.1 Composite scores
- Network Resilience Index = weighted(geo diversity, peer lag health, bootnode redundancy, node activity)
- Complexity: Med
- Readiness: Needs new pipeline (composite model)
- Impact: High
-
Page: Home
-
Subnet Investability Score = weighted(reputation, pass-rate stability, delegation depth, churn penalty)
- Complexity: High
- Readiness: Needs new pipeline
- Impact: High
-
Page: Subnets
-
Validator Quality Score = weighted(attestation success, timeliness, reputation trend, uptime proxy)
- Complexity: High
- Readiness: Needs chain RPC + new pipeline
- Impact: High
- Page: Validators
13.2 Correlation lab (interactive)
- Scatter matrix (pair plot) with selectable x/y/color/size metrics across network/subnet/node/PoI
- Complexity: High
- Readiness: Needs new pipeline (feature table)
- Impact: High
- Page: New “Research” tab or advanced mode in Validators/Subnets
- Library: D3 + crossfilter
13.3 Regime & anomaly detection
- Change-point overlays on stake, pass-rate, and peer lag
- Residual alerts (actual vs expected consensus quality)
- Complexity: High
- Readiness: Needs new pipeline
- Impact: High
- Page: Home + Validators
14) Progressive Disclosure UX Patterns (Recommended)
- Tier 1 (Home): simple KPI cards + sparklines + alert chips
- Tier 2 (List pages): sortable tables with inline microcharts (sparkline, mini bar, tiny heat cells)
- Tier 3 (Detail pages): deep distributions, cohort analysis, event timelines
- Tier 4 (Research mode): custom metric builder + correlation lab + downloadable datasets
Useful components: - “Metric Pills” to toggle denominator normalization (absolute vs per-node vs per-stake) - Timebrush for shared cross-chart zoom - Small-multiple grids for easy subnet/validator comparison - Drill-down flow: Home anomaly → subnet outlier → validator timeline → peer geo evidence
15) Immediate Build Priorities (Highest ROI)
- PoI Validator×Epoch Heatmap + Streaks + Quality Leaderboard
- Complexity: Med
- Readiness: Mostly already ingested (streaks need derived table)
- Impact: Very high
-
Page: Validators
-
Subnet Risk/Return Scatter + Treemap + Sparkline Leaderboard
- Complexity: Med
- Readiness: Core data already ingested; history pipeline needed for sparklines
- Impact: Very high
-
Page: Subnets
-
Network Health Ribbon on Home
- Complexity: Low
- Readiness: Already ingested
- Impact: High
-
Page: Home
-
Geo/ASN Decentralization Panel
- Complexity: Med
- Readiness: Already ingested (point-in-time), history needed for trends
- Impact: High
-
Page: Topology/Home
-
ETH Holder Concentration + Wallet P&L Decomposition Enhancements
- Complexity: Med
- Readiness: Already ingested
- Impact: High
- Page: Token + Wallet detail
16) Data Engineering Backlog to Unlock Advanced Visuals
- Create historical snapshot fact tables for subnet/node/geo/peer dimensions (daily + epoch granularities)
- Build derived metric marts:
fact_validator_poi_epochfact_subnet_dailyfact_peer_health_hourlyfact_staker_flow_daily- Add parser jobs for multiaddr protocol extraction
- Add attestation timeliness ingestion (requires extra chain fields/events)
- Add anomaly/regime detector jobs for alert overlays
- Materialize top-N pre-aggregates for snappy frontend filters
17) Notes on Library Fit
- Use Recharts/Tremor for 80% dashboard primitives and fast shipping.
- Use Nivo for heatmaps/treemaps/radar/bump with good theming speed.
- Use D3 only for bespoke quant visuals (alluvial, ridgeline, ternary, advanced brushing).
- Keep Cytoscape for topology graph semantics.
- Use MapLibre/Deck.gl when geo density/trails become core.