Notice Research outputs are not investment advice.
Past performance does not predict future results.

Analyst Disagreement Measured and Mapped

Most research platforms hide their methods behind marketing claims. We publish every assumption, every transformation, and every test. If you cannot replicate it, you should not trust it.

Our methodology treats analyst forecast dispersion as a cross-sectional signal, not a curiosity. We document how we collect estimates, quantify disagreement, link it to returns, and validate that the relationship persists out of sample.

View research Ask a question

Why We Document Everything

Academic finance has known about dispersion effects for decades. Practitioners largely ignored them because the research sat behind paywalls and impenetrable notation. Our philosophy is simple: translate that rigor into usable tools, then prove they work with ongoing tests.

Reproducibility First

Every model release includes the full data pipeline, parameter choices, and statistical tests. Users can replicate our work, find our errors, and improve on our approach. We believe model risk is best managed through transparency, not obscurity.

Behavioral Grounding

Dispersion arises because analysts process information differently, face varying incentives, and exhibit documented cognitive biases. Our frameworks incorporate these behavioral mechanisms rather than treating disagreement as a mechanical artifact.

Practitioner Relevance

A model that wins in a journal but fails in a live portfolio helps no one. We design every test with implementation frictions in mind: transaction costs, liquidity constraints, and the practical limits of forecast data availability.

How We Build Models

A rigorous pipeline from raw analyst estimates to validated cross-sectional signals. Each stage is documented, testable, and open to scrutiny.

Data Collection

Aggregate analyst earnings estimates from multiple sources to build a comprehensive, point-in-time database of forecasts.

The Goal

Capture the full distribution of analyst opinions at each reporting date without look-ahead bias or survivorship distortion.

What We Do

We collect individual analyst estimates for earnings per share, revenue, and other key metrics across coverage universes. Each estimate is time-stamped and linked to the analyst and brokerage to track coverage changes.

How We Do It

Data is sourced from established aggregator feeds and validated against historical archives. We flag stale estimates, identify outliers, and reconcile conflicting timestamps to maintain a clean panel structure.

The Tools

Python pipelines, SQL databases, automated validation scripts, manual audit sampling.

Deliverables

A point-in-time database of analyst estimates with full provenance and error flags.

Data Operations

Dispersion Calculation

Transform raw estimates into standardized disagreement metrics that capture different dimensions of analyst divergence.

The Goal

Quantify how much analysts disagree using measures that are comparable across companies, sectors, and time periods.

What We Do

We compute standard deviation, interquartile range, coefficient of variation, and more nuanced behavioral measures like skewness of the forecast distribution and the gap between optimistic and pessimistic analyst clusters.

How We Do It

Each metric is calculated over a fixed analyst window to avoid bias from coverage changes. We winsorize extreme values and document how each transformation affects the resulting distribution.

The Tools

R statistical environment, custom dispersion libraries, visualization dashboards for distribution checks.

Deliverables

A panel of dispersion metrics with documented formulas, parameter choices, and sensitivity analyses.

Quantitative Research

Return Linkage

Test whether dispersion metrics predict subsequent cross-sectional price movements using regression and portfolio sort designs.

The Goal

Establish whether high or low dispersion forecasts future returns, controlling for known risk factors and market conditions.

What We Do

We run Fama-MacBeth regressions and independent portfolio sorts to isolate the dispersion-return relationship. Controls include market beta, size, value, momentum, and liquidity proxies.

How We Do It

Models are estimated on rolling windows to simulate real-time application. We report full coefficient paths, standard errors, and diagnostic statistics rather than cherry-picking favorable subperiods.

The Tools

Regression packages, factor data integrations, robust standard error calculations, subperiod stability tests.

Deliverables

Regression tables, portfolio return series, factor attribution breakdowns, and subperiod robustness checks.
Lead Research Director

Out-of-Sample Validation

Validate model predictions on data not used in the original construction to assess real-world applicability.

The Goal

Ensure that observed in-sample relationships are not the product of overfitting or data mining.

What We Do

We reserve the most recent years of data for pure out-of-sample testing. Models are locked before viewing this holdout period, and performance is tracked against naive benchmarks and factor-only alternatives.

How We Do It

Validation includes recursive forecasting, structural break detection, and regime-dependent performance analysis. We publish both successes and failures transparently.

The Tools

Holdout datasets, recursive estimation engines, structural break tests, regime-switching models.

Deliverables

Out-of-sample performance reports, break date estimates, and regime-specific return decompositions.
Senior Methodologist

Documentation and Release

Package every model into a documented, replicable format that practitioners can adopt, critique, and extend.

The Goal

Bridge the gap between academic rigor and practitioner usability without dumbing down the methodology.

What We Do

Each release includes a methodology whitepaper, replication code, sample data, and a plain-language summary. We explain not just what works, but what failed and why.

How We Do It

Documentation is reviewed by both research staff and external practitioners before release. Code is commented and tested on clean environments to ensure portability.

The Tools

Version control systems, reproducible research environments, peer review workflows, user feedback loops.

Deliverables

Published methodology papers, executable code repositories, and interactive model summaries.
Platform Operations Lead

Forecast Dispersion

The standard deviation of analyst earnings estimates captures how widely opinions diverge. High dispersion often signals uncertainty, information asymmetry, or fundamental disagreement about a company's trajectory. In cross-sectional tests, this measure predicts future returns even after controlling for standard risk factors.

Recommendation Spread

Beyond earnings estimates, analysts issue buy-hold-sell recommendations. When these recommendations cluster at extremes rather than consensus, the spread reveals divergent conviction. Our models track how recommendation dispersion interacts with forecast dispersion to strengthen or weaken predictive signals.

forecast dispersion data tables
behavioral finance research diagrams

Surprise Dispersion

Not all analysts miss earnings by the same amount. The cross-sectional dispersion in earnings surprises — how scattered the errors are — reflects the predictability of the underlying business. High surprise dispersion predicts future return volatility and can flag companies where analyst models are systematically mis-specified.

Behavioral Roots

Dispersion does not emerge randomly. Analysts exhibit herding, overconfidence, and asymmetric loss functions. Our frameworks link these documented behavioral biases to the shape of forecast distributions, helping users distinguish between healthy disagreement and systematic cognitive distortion.

Traditional models reduce twenty analyst estimates to one mean or median number. This discards the rich information contained in the spread of opinions. Our approach preserves the full distribution and tests which moments matter for returns.

Conventional factor models assume stable relationships between characteristics and returns. Dispersion effects vary with market conditions, information environments, and analyst coverage levels. Our models explicitly test for time variation and regime dependence.

Many research platforms showcase models optimized on historical data with no true out-of-sample test. We lock model specifications before viewing holdout periods and publish both successes and failures to maintain intellectual honesty.

Some tools deliver signals without explaining how they were generated. Every model we publish includes full documentation, replication code, and sensitivity analyses so users can verify, challenge, and improve our work.

Want to Dig Deeper?

Our methodology papers are available for review. If you have questions about a specific test, want to discuss implementation details, or are curious about a model that did not make the cut, we are happy to talk.

Get in touch