# Performance-Weighted Analyst Estimates (analyst10) Feature Engineering Analysis Report

**Dataset**: analyst10
**Category**: Analyst
**Region**: EUR
**Delay**: 1
**Analysis Date**: 2024-01-15
**Fields Analyzed**: 804

---

## Executive Summary

**Primary Question Answered by Dataset**: How can we extract predictive signals from the aggregation of analyst forecasts when weighted by historical performance and recency, and what does the divergence between intelligent consensus (smart estimates) and naive consensus tell us about future earnings surprises?

**Key Insights from Analysis**:
- The dataset contains three distinct versions of "smart estimates" (v0, v1, v2), suggesting a hierarchy of confidence or methodological variation in performance-weighting schemes
- Predicted surprise calculations explicitly quantify the deviation between intelligent consensus and naive consensus, creating a direct measure of analyst disagreement weighted by credibility
- Innovation scores (innovate_increase - innovate_decrease) capture directional momentum in analyst revisions, distinguishing between routine updates and significant fundamental changes
- Revision ratios normalize consensus changes by price level, enabling cross-sectional comparison of estimate revision impact across different market cap segments
- The presence of both quarterly (fq1, fq2) and annual (fy1, fy2) horizons allows for analysis of near-term vs. longer-term expectation formation

**Critical Field Relationships Identified**:
- `smart_ests` vs `consensus`: The core relationship representing weighted vs. unweighted analyst wisdom
- `pred_surps` vs `innovation_score`: Predicted quantitative surprise vs. directional revision momentum
- `revise_value` vs `revise_ratio_to_close`: Absolute vs. relative magnitude of consensus changes
- `innovate_*` vs `normal_*`: High-impact vs. routine analyst revisions

**Most Promising Feature Concepts**:
1. **Smart-Consensus Divergence Stability** - because persistent disagreement between weighted and unweighted estimates suggests fundamental uncertainty that markets may misprice
2. **Innovation-to-Normal Revision Ratio** - because the proportion of high-impact vs. routine revisions indicates the intensity of information discovery
3. **Predicted Surprise Persistence** - because time-series stability of predicted surprises may indicate sticky analyst bias or genuine predictive power
4. **Revision Velocity Relative to Coverage** - because consensus changes normalized by analyst count control for coverage heterogeneity

---

## Dataset Deep Understanding

### Dataset Description
This dataset provides "smart estimates," which are intelligently weighted averages of financial forecasts from institutional analysts. Individual analyst forecasts are weighted based on two key factors: the analyst's historical performance score and the recency of their estimate. This approach aims to create a more accurate consensus forecast by giving greater importance to estimates from historically proven and timely analysts. The dataset covers multiple financial metrics across quarterly (Q1, Q2) and annual (FY1, FY2) horizons, providing comprehensive forward-looking fundamental expectations.

### Field Inventory
| Field ID | Description | Data Type | Update Frequency | Coverage |
|----------|-------------|-----------|------------------|----------|
| `anl10_*_consensus` | Naive consensus estimate (simple average) | Float | Daily | Varies by metric |
| `anl10_*_smart_ests_v0` | Performance-weighted estimates version 0 | Float | Daily | Varies by metric |
| `anl10_*_smart_ests_v1` | Performance-weighted estimates version 1 | Float | Daily | Varies by metric |
| `anl10_*_smart_ests_v2` | Performance-weighted estimates version 2 | Float | Daily | Varies by metric |
| `anl10_*_pred_surps_v*` | Predicted surprise: (smart - consensus)/consensus | Float | Daily | Varies by metric |
| `anl10_*innovate_increase_*` | Count of innovative positive revisions | Integer | Daily | Varies by metric |
| `anl10_*innovate_decrease_*` | Count of innovative negative revisions | Integer | Daily | Varies by metric |
| `anl10_*normal_increase_*` | Count of normal positive revisions | Integer | Daily | Varies by metric |
| `anl10_*normal_decrease_*` | Count of normal negative revisions | Integer | Daily | Varies by metric |
| `anl10_*innovation_score_*` | Net innovation: increase - decrease | Integer | Daily | Varies by metric |
| `anl10_*revise_value_*` | Delta consensus (current - previous) | Float | Daily | Varies by metric |
| `anl10_*revise_ratio_to_consensus_*` | Revision normalized by consensus level | Float | Daily | Varies by metric |
| `anl10_*revise_ratio_to_close_*` | Revision normalized by stock price | Float | Daily | Varies by metric |
| `anl10_*smun_*` | Number of analysts contributing | Integer | Daily | Varies by metric |

*(Additional fields follow similar patterns across 16 financial metrics: cpx, csh, dps, ebi, ebt, gps, grm, nav, ndt, ner, net, opr, pre, prr, sal, tbv)*

### Field Deconstruction Analysis

#### `smart_ests_v0/v1/v2`: Multi-Version Performance-Weighted Estimates
- **What is being measured?**: The expected value of financial metrics (EPS, sales, etc.) calculated as a weighted average of individual analyst forecasts
- **How is it measured?**: Weighted aggregation where weights derive from analyst track record accuracy and estimate recency; three versions suggest different weighting calibration
- **Time dimension**: Point-in-time daily snapshot of rolling analyst estimates for future periods (fq1, fq2, fy1, fy2)
- **Business context**: Attempts to improve upon naive consensus by identifying and overweighting "smart" analysts while underweighting noisy or lagging forecasters
- **Generation logic**: Algorithmic weighting based on historical prediction error minimization; higher weight to analysts with lower historical forecast errors
- **Reliability considerations**: Smart estimates may be stale if high-performing analysts haven't updated recently; version differences indicate sensitivity to weighting scheme

#### `pred_surps_v0/v1/v2`: Predicted Surprise Metrics
- **What is being measured?**: The expected percentage deviation between intelligent consensus and naive consensus
- **How is it measured?**: (smart_ests - consensus) / consensus, expressed as percentage
- **Time dimension**: Cross-sectional daily metric reflecting current disagreement between estimation methodologies
- **Business context**: Quantifies the "edge" of performance-weighting; large values suggest consensus is significantly wrong according to historical accuracy weighting
- **Generation logic**: Direct calculation from smart estimates and consensus fields
- **Reliability considerations**: Extreme values may indicate data errors or thin analyst coverage; denominator near zero creates instability

#### `innovate_increase/decrease`: High-Impact Revision Counts
- **What is being measured?**: The number of analysts making significant (innovative) revisions to their forecasts in positive or negative directions
- **How is it measured?**: Count of analysts whose estimate changes exceed a statistical threshold distinguishing routine updates from material changes
- **Time dimension**: Daily accumulation of revision events over a lookback period
- **Business context**: Distinguishes between trivial forecast maintenance and genuine new information arrival; innovative revisions likely contain more signal
- **Generation logic**: Statistical classification based on revision magnitude distribution; outliers flagged as innovative
- **Reliability considerations**: Classification threshold may vary by metric volatility; low coverage stocks may have sparse innovative revision counts

#### `revise_ratio_to_close`: Price-Normalized Consensus Changes
- **What is being measured?**: The magnitude of consensus revision relative to the stock's price level
- **How is it measured?**: Delta consensus divided by adjusted close price
- **Time dimension**: Daily metric capturing recent consensus change intensity
- **Business context**: Normalizes revision impact across price levels; enables comparison of $0.10 EPS revision for $10 stock vs. $100 stock
- **Generation logic**: Standardization to control for nominal price effects on revision interpretation
- **Reliability considerations**: Stock price may be volatile or disconnected from fundamentals; low-priced stocks show inflated ratios

#### `smun`: Sample/Analyst Number
- **What is being measured?**: The count of distinct analysts contributing to the estimate for a specific metric and horizon
- **How is it measured?**: Unique analyst identifier count
- **Time dimension**: Daily point-in-time coverage depth
- **Business context**: Proxy for information environment richness; higher coverage generally implies more efficient information processing but also more diverse opinions
- **Generation logic**: Count of non-null analyst contributions
- **Reliability considerations**: Coverage varies significantly across stocks and metrics; thin coverage makes other fields unreliable

### Field Relationship Mapping

**The Story This Data Tells**:
This dataset captures the evolution of professional opinion about company fundamentals. The narrative flows from raw analyst inputs (captured in counts and revision types) through aggregation (consensus) to intelligent weighting (smart estimates) and finally to predictive signals (predicted surprises). It reveals not just what analysts think, but how confident we should be in those thoughts based on historical accuracy, how rapidly opinions are changing, and whether those changes represent genuine insight or mere noise.

**Key Relationships Identified**:
1. **The Wisdom Gradient**: `consensus` → `smart_ests` → `pred_surps` represents increasing refinement from naive averaging to performance-weighting to explicit disagreement quantification
2. **Revision Intensity Spectrum**: `normal_*` ↔ `innovate_*` captures the spectrum of opinion change from maintenance to material insight, with `innovation_score` netting these into directional momentum
3. **Information Diffusion**: `revise_value` → `revise_ratio_to_consensus` → `revise_ratio_to_close` shows how raw estimate changes are normalized for metric scale and market value
4. **Coverage-Adjusted Confidence**: All estimate fields interact with `smun` (sample number); high predicted surprise with low coverage is less reliable than modest surprise with deep coverage

**Missing Pieces That Would Complete the Picture**:
- Actual realized earnings to calculate true surprise (vs. predicted surprise)
- Individual analyst identity fields to track persistence of analyst-specific edge
- Time stamps of individual revisions to measure revision clustering vs. diffusion
- Historical smart estimate accuracy to validate the weighting scheme effectiveness

---

## Feature Concepts by Question Type

### Q1: "What is stable?" (Invariance Features)

**Concept**: Smart Estimate Version Convergence Score
- **Sample Fields Used**: `smart_ests_v0`, `smart_ests_v1`, `smart_ests_v2`, `consensus`
- **Definition**: Measures the coefficient of variation across the three smart estimate versions to identify stocks where performance-weighting schemes agree vs. disagree
- **Why This Feature**: When multiple weighting algorithms converge on similar values, the estimate is more robust; high dispersion suggests sensitivity to weighting assumptions
- **is filling nan necessary**: Yes, use `ts_backfill()` to handle missing smart estimate versions, as missingness likely represents data latency rather than meaningful signal
- **Directionality**: Low values (high stability) suggest confident estimates; high values indicate uncertainty about optimal weighting
- **Boundary Conditions**: Near-zero values indicate perfect consensus across methods; extremely high values suggest outlier estimates or data issues
- **Implementation Example**: `ts_std_dev({smart_ests_v0}, 20) / abs(ts_mean({smart_ests_v0}, 20))`

**Concept**: Predicted Surprise Persistence Ratio
- **Sample Fields Used**: `pred_surps_v0`, `pred_surps_v1`, `pred_surps_v2`
- **Definition**: Rolling autocorrelation of predicted surprise over time to measure how sticky the smart-consensus divergence is
- **Why This Feature**: Persistent predicted surprises suggest systematic analyst bias or ongoing information asymmetry; transient surprises may be noise
- **is filling nan necessary**: Yes, predicted surprises can be NaN when consensus is zero; use `ts_backfill()` with limited lookback to preserve temporal meaning
- **Directionality**: High persistence suggests structural disagreement worth investigating; low persistence indicates random estimation differences
- **Boundary Conditions**: Perfect persistence (1.0) suggests data staleness; negative persistence suggests mean-reverting disagreement
- **Implementation Example**: `ts_corr({pred_surps_v0}, ts_delay({pred_surps_v0}, 1), 20)`

---

### Q2: "What is changing?" (Dynamics Features)

**Concept**: Innovation Momentum Acceleration
- **Sample Fields Used**: `innovation_score_fy1`, `innovation_score_fq1`
- **Definition**: Second derivative of innovation score to detect acceleration/deceleration in high-impact analyst revisions
- **Why This Feature**: Accelerating innovative revisions suggest information inflection points; deceleration suggests consensus formation
- **is filling nan necessary**: Yes, innovation scores may be zero when no revisions occur; preserve zeros with `ts_backfill()` only for brief gaps
- **Directionality**: Positive acceleration suggests building momentum in analyst optimism/pessimism; negative acceleration suggests revision exhaustion
- **Boundary Conditions**: Extreme values indicate unsustainable revision pace; zero indicates steady-state revision activity
- **Implementation Example**: `ts_delta({innovation_score_fy1}, 5) - ts_delta(ts_delay({innovation_score_fy1}, 5), 5)`

**Concept**: Consensus Revision Velocity
- **Sample Fields Used**: `value_fy1`, `value_fq1`, `consensus_fy1`
- **Definition**: Rate of change in consensus estimates normalized by the absolute level to detect percentage-wise revision speed
- **Why This Feature**: Rapid consensus changes, even if small in absolute terms, may signal emerging fundamental shifts before they fully diffuse
- **is filling nan necessary**: Yes, use `ts_backfill()` for consensus values as missingness indicates lack of coverage rather than zero revision
- **Directionality**: High positive velocity suggests improving fundamentals; high negative velocity suggests deterioration
- **Boundary Conditions**: Extreme velocity may indicate data corrections or M&A events; zero velocity suggests stale estimates
- **Implementation Example**: `ts_delta({consensus_fy1}, 10) / abs(ts_mean({consensus_fy1}, 10))`

---

### Q3: "What is anomalous?" (Deviation Features)

**Concept**: Predicted Surprise Z-Score
- **Sample Fields Used**: `pred_surps_v0`, `pred_surps_v1`, `pred_surps_v2`
- **Definition**: Cross-sectional standardized deviation of predicted surprise from its historical norm to identify extreme disagreement
- **Why This Feature**: Extreme predicted surprises suggest potential market inefficiency where smart estimates strongly diverge from consensus
- **is filling nan necessary**: Yes, use `ts_backfill()` for brief gaps but preserve NaN for extended missing periods to avoid false signals
- **Directionality**: High positive z-score suggests potential upside surprise; high negative z-score suggests potential downside surprise
- **Boundary Conditions**: Values beyond ±3 suggest statistical outliers; persistent extreme values suggest structural changes
- **Implementation Example**: `({pred_surps_v0} - ts_mean({pred_surps_v0}, 60)) / ts_std_dev({pred_surps_v0}, 60)`

**Concept**: Innovation Spike Detection
- **Sample Fields Used**: `increase_fy1`, `decrease_fy1`, `score_fy1`
- **Definition**: Identifies days where innovative revisions exceed historical norms by multiple standard deviations
- **Why This Feature**: Clustering of innovative revisions suggests significant information events; outliers may precede earnings announcements or guidance updates
- **is filling nan necessary**: No, zero values are meaningful (no revisions), so avoid filling NaN with non-zero values
- **Directionality**: High values suggest information shocks; extremely low values suggest consensus stagnation
- **Boundary Conditions**: Upper bounds determined by analyst coverage count; lower bound at zero
- **Implementation Example**: `if_else({increase_fy1} > ts_mean({increase_fy1}, 20) + 2*ts_std_dev({increase_fy1}, 20), 1, 0)`

---

### Q4: "What is combined?" (Interaction Features)

**Concept**: Smart-Consensus Spread Amplified by Coverage
- **Sample Fields Used**: `pred_surps_v0`, `consensus_fy1`, `smun_1yf` (sample number proxy)
- **Definition**: Predicted surprise weighted by the square root of analyst coverage to adjust confidence in the divergence signal
- **Why This Feature**: Predicted surprises are more reliable when many analysts contribute to the consensus; this scales signal strength by information richness
- **is filling nan necessary**: Yes, use `ts_backfill()` for sample number to ensure coverage adjustment is available
- **Directionality**: High values suggest high-conviction divergence with deep coverage; low values suggest thin or unreliable divergence
- **Boundary Conditions**: Scales with coverage depth; single-analyst coverage produces minimal amplification
- **Implementation Example**: `{pred_surps_v0} * sqrt({consensus_fy1})`

**Concept**: Innovation-Normal Revision Ratio
- **Sample Fields Used**: `increase_fy1`, `decrease_fy1`, `innovation_score_fy1`
- **Definition**: Ratio of innovative to total revisions (innovative + normal), measuring the signal-to-noise ratio in analyst activity
- **Why This Feature**: High ratios suggest analysts are making meaningful changes rather than trivial updates; indicates active information discovery
- **is filling nan necessary**: Yes, use `ts_backfill()` for revision counts to handle weekends/holidays, but cap lookback to avoid stale data
- **Directionality**: High ratio suggests fundamental re-evaluation; low ratio suggests routine forecast maintenance
- **Boundary Conditions**: Ratio of 1 indicates all revisions are innovative; ratio of 0 indicates only normal revisions
- **Implementation Example**: `{innovation_score_fy1} / ({increase_fy1} + {decrease_fy1} + 1)`

**Concept**: Revision-Price Divergence
- **Sample Fields Used**: `ratio_to_close_fy1`, `ratio_to_consensus_fy1`
- **Definition**: Difference between price-normalized revision and consensus-normalized revision to detect market underreaction to estimate changes
- **Why This Feature**: If consensus revisions are large relative to price but small relative to consensus level, market may be ignoring fundamental updates
- **is filling nan necessary**: Yes, both ratio fields can have division-by-zero issues; use `pasteurize()` to clean infinities before combination
- **Directionality**: Positive divergence suggests market underreacting to positive revisions; negative suggests underreaction to negative revisions
- **Boundary Conditions**: Extreme values indicate either massive revisions or near-zero denominators
- **Implementation Example**: `{ratio_to_close_fy1} - {ratio_to_consensus_fy1}`

---

### Q5: "What is structural?" (Composition Features)

**Concept**: Bullish Innovation Composition
- **Sample Fields Used**: `increase_fy1`, `decrease_fy1`, `innovation_score_fy1`
- **Definition**: Proportion of innovative revisions that are positive vs. negative, measuring directional conviction
- **Why This Feature**: Asymmetric revision patterns suggest directional bias in information arrival; useful for detecting inflection points
- **is filling nan necessary**: No, preserve NaN when no revisions occur to avoid false neutrality signals
- **Directionality**: Values near 1 suggest strong bullish innovative activity; near 0 suggests strong bearish innovative activity; 0.5 suggests balance
- **Boundary Conditions**: 0 and 1 represent unanimous directional revision; 0.5 represents equal split
- **Implementation Example**: `{increase_fy1} / ({increase_fy1} + {decrease_fy1})`

**Concept**: Analyst Coverage Concentration Index
- **Sample Fields Used**: `smun_1yf`, `smun_2yf` (sample numbers across horizons)
- **Definition**: Herfindahl-style concentration of analyst coverage across time horizons to identify stocks with consistent vs. sporadic monitoring
- **Why This Feature**: Consistent coverage across horizons suggests stable information environment; concentration in one horizon suggests event-driven attention
- **is filling nan necessary**: Yes, use `ts_backfill()` to ensure coverage counts are available for comparison
- **Directionality**: High concentration suggests focused analyst attention on specific events; low concentration suggests broad ongoing coverage
- **Boundary Conditions**: Single horizon coverage maximizes concentration; equal coverage across all horizons minimizes it
- **Implementation Example**: `({smun_1yf}^2 + {smun_2yf}^2) / ({smun_1yf} + {smun_2yf})^2`

---

### Q6: "What is cumulative?" (Accumulation Features)

**Concept**: Cumulative Predicted Surprise Pressure
- **Sample Fields Used**: `pred_surps_v0`, `pred_surps_v1`, `pred_surps_v2`
- **Definition**: Accumulated predicted surprise over time to measure persistent directional bias in smart estimates vs. consensus
- **Why This Feature**: Persistent accumulation suggests systematic undervaluation or overvaluation by consensus relative to performance-weighted views
- **is filling nan necessary**: Yes, use `ts_backfill()` to allow accumulation through brief data gaps, but reset on extended missing periods
- **Directionality**: Large positive accumulation suggests sustained bullish smart estimate divergence; negative suggests sustained bearish divergence
- **Boundary Conditions**: Unbounded accumulation requires decay or normalization; extreme values suggest persistent disagreement
- **Implementation Example**: `ts_sum({pred_surps_v0}, 20)`

**Concept**: Innovation Accumulation Cycle
- **Sample Fields Used**: `innovation_score_fy1`, `innovation_score_fy2`
- **Definition**: Cumulative net innovation score over earnings cycles to identify periods of intense fundamental re-evaluation
- **Why This Feature**: Accumulating innovation scores suggest ongoing information discovery; stable cumulative values suggest consensus equilibrium
- **is filling nan necessary**: Yes, use `ts_backfill()` to maintain continuity of accumulation through non-trading days
- **Directionality**: Rising cumulative values suggest building positive fundamental momentum; falling values suggest deteriorating sentiment
- **Boundary Conditions**: Resets at earnings announcements may create discontinuities; pre-earnings accumulation peaks are normal
- **Implementation Example**: `ts_sum({innovation_score_fy1}, 60) - ts_sum({innovation_score_fy2}, 60)`

---

### Q7: "What is relative?" (Comparison Features)

**Concept**: Cross-Sectional Surprise Rank
- **Sample Fields Used**: `pred_surps_v0`, `pred_surps_v1`, `pred_surps_v2`
- **Definition**: Percentile rank of predicted surprise within universe to identify extreme relative disagreement
- **Why This Feature**: Relative ranking controls for time-varying market-wide analyst disagreement; identifies outliers in current environment
- **is filling nan necessary**: Yes, use `ts_backfill()` briefly to preserve cross-sectional comparability
- **Directionality**: High rank (near 100) suggests extreme positive divergence; low rank (near 0) suggests extreme negative divergence
- **Boundary Conditions**: 0 to 1 scale; extreme percentiles indicate tails of disagreement distribution
- **Implementation Example**: `quantile({pred_surps_v0}, driver="uniform")`

**Concept**: Revision Intensity Relative to Coverage
- **Sample Fields Used**: `value_fy1`, `consensus_fy1`, `smun_1yf`
- **Definition**: Consensus revision normalized by the number of analysts covering the stock
- **Why This Feature**: Controls for the mechanical increase in revision volatility with coverage depth; identifies genuine intensity vs. noise from many opinions
- **is filling nan necessary**: Yes, sample number needs `ts_backfill()` to avoid division by NaN
- **Directionality**: High values suggest strong per-analyst conviction; low values suggest weak consensus movement despite coverage
- **Boundary Conditions**: Thin coverage amplifies ratio artificially; deep coverage dampens even large revisions
- **Implementation Example**: `{value_fy1} / ({consensus_fy1} * sqrt({smun_1yf}))`

**Concept**: Horizon Spread Divergence
- **Sample Fields Used**: `pred_surps_v0` (FY1), `pred_surps_v0` (FQ1 proxy), `consensus_fy1`, `consensus_fq1`
- **Definition**: Difference between near-term (quarterly) and long-term (annual) predicted surprises to detect term structure of disagreement
- **Why This Feature**: Steep term structures suggest near-term uncertainty vs. long-term confidence; flat structures suggest persistent disagreement across horizons
- **is filling nan necessary**: Yes, use `ts_backfill()` to align horizons for comparison
- **Directionality**: Positive spread suggests near-term pessimism vs. long-term optimism (or vice versa for negative)
- **Boundary Conditions**: Extreme spreads suggest earnings cliff or recovery patterns
- **Implementation Example**: `{pred_surps_v0} - ts_delay({pred_surps_v0}, 5)`

---

### Q8: "What is essential?" (Essence Features)

**Concept**: Pure Smart Alpha Signal
- **Sample Fields Used**: `smart_ests_v0`, `consensus`, `pred_surps_v0`
- **Definition**: Residualized smart estimate after removing consensus component, isolating the pure performance-weighting edge
- **Why This Feature**: Extracts the essence of what performance-weighting adds beyond naive averaging; the orthogonal component represents unique smart estimate information
- **is filling nan necessary**: Yes, use `ts_backfill()` for both components to ensure regression works
- **Directionality**: Positive values suggest smart estimates above consensus (bullish edge); negative suggests below (bearish edge)
- **Boundary Conditions**: Near-zero values suggest smart estimates agree with consensus; extreme values suggest strong divergence
- **Implementation Example**: `ts_regression({smart_ests_v0}, {consensus}, 20, rettype=1)`

**Concept**: Information Diffusion Efficiency Score
- **Sample Fields Used**: `innovation_score_fy1`, `increase_fy1`, `decrease_fy1`, `revise_ratio_to_consensus_fy1`
- **Definition**: Ratio of innovative revision magnitude to total revision activity, measuring how efficiently new information is incorporated
- **Why This Feature**: High efficiency suggests analysts quickly reach consensus on new information; low efficiency suggests prolonged disagreement
- **is filling nan necessary**: Yes, use `ts_backfill()` for innovation components to ensure ratio stability
- **Directionality**: High values suggest rapid consensus formation; low values suggest persistent uncertainty
- **Boundary Conditions**: Perfect efficiency (1.0) suggests all revisions are innovative; zero suggests no innovative activity
- **Implementation Example**: `abs({innovation_score_fy1}) / ({increase_fy1} + {decrease_fy1} + abs({revise_ratio_to_consensus_fy1}) + 1)`

---

## Implementation Considerations

### Data Quality Notes
- **Coverage**: Highly variable across stocks and metrics; large-cap stocks have robust coverage while small-caps may have sparse data
- **Timeliness**: Delay=1 ensures data is available T+1, but revision timestamps are aggregated to daily frequency, losing intraday sequencing
- **Accuracy**: Smart estimates rely on historical performance weighting which may decay in efficacy if analyst personnel change or market regimes shift
- **Potential Biases**: Survivorship bias in analyst performance scoring (dropped analysts excluded from history); recency weighting may overreact to short-term lucky streaks

### Computational Complexity
- **Lightweight features**: Single-field transformations (z-scores, ranks, simple ratios)
- **Medium complexity**: Time-series regressions (ts_regression), rolling correlations, cumulative sums over 20-60 days
- **Heavy computation**: Cross-sectional operations across multiple versions (v0, v1, v2) and horizons (fq1, fq2, fy1, fy2) simultaneously

### Recommended Prioritization

**Tier 1 (Immediate Implementation)**:
1. **Predicted Surprise Z-Score** - Direct measure of smart-consensus disagreement with clear directional interpretation
2. **Innovation-Normal Revision Ratio** - Captures signal-to-noise in analyst activity with intuitive bounds
3. **Cross-Sectional Surprise Rank** - Universe-relative positioning controls for market-wide disagreement cycles

**Tier 2 (Secondary Priority)**:
1. **Smart-Consensus Spread Amplified by Coverage** - Adjusts signal confidence by information environment richness
2. **Cumulative Predicted Surprise Pressure** - Captures persistent disagreement patterns over earnings cycles
3. **Revision-Price Divergence** - Detects market underreaction to fundamental updates

**Tier 3 (Requires Further Validation)**:
1. **Information Diffusion Efficiency Score** - Complex interaction requiring validation of innovation classification accuracy
2. **Analyst Coverage Concentration Index** - Requires understanding of coverage patterns across horizons for interpretation

---

## Critical Questions for Further Exploration

### Unanswered Questions:
1. How does the performance-weighting algorithm handle analyst turnover, and does the three-version structure (v0, v1, v2) represent different lookback periods or different performance metrics?
2. What is the precise statistical definition distinguishing "innovative" from "normal" revisions, and does this threshold vary by metric volatility or sector?
3. How do predicted surprises correlate with actual post-earnings announcement drift, and does the correlation vary by metric type (earnings vs. sales vs. book value)?

### Recommended Additional Data:
- Actual realized fundamental values to calculate true earnings surprises vs. predicted surprises
- Individual analyst identifier fields to track persistence of specific analyst edge
- Sector/industry classification to enable relative value analysis within peer groups
- Historical price data to validate revision-to-price impact lags

### Assumptions to Challenge:
- That performance-weighting consistently outperforms naive consensus (requires backtesting across market regimes)
- That innovative revisions contain more signal than normal revisions (may capture analyst herding around news rather than independent insight)
- That analyst coverage depth correlates with information efficiency (may instead indicate controversy or complexity)

---

## Methodology Notes

**Analysis Approach**: This report was generated by:
1. Deep field deconstruction to understand data essence
2. Question-driven feature generation (8 fundamental questions)
3. Logical validation of each feature concept
4. Transparent documentation of reasoning

**Design Principles**:
- Focus on logical meaning over conventional patterns
- Every feature must answer a specific question
- Clear documentation of "why" for each suggestion
- Emphasis on data understanding over prediction

---

*Report generated: 2024-01-15*
*Analysis depth: Comprehensive field deconstruction + 8-question framework*
*Next steps: Implement Tier 1 features, validate assumptions, gather additional data as needed*