Scoring Methodology: Theory

The scoring methodology transforms raw financial data into a single comparable number for each stock. This article explains the mathematics behind Z-score normalization, composite scoring, and the statistical techniques that make cross-stock comparison meaningful.

The Normalization Problem

Raw financial metrics exist on incompatible scales. P/E ratios range from 5 to 500. ROE ranges from -50% to +80%. Revenue growth might be -20% to +200%. You cannot add or average these directly — a P/E of 15 and an ROE of 15% are not comparable quantities.

Normalization converts every metric to a common scale so they can be combined mathematically.

Z-Score Normalization

Z = (X - μ) / σ Where: X = the stock's raw metric value μ = the mean of that metric across all stocks in the universe σ = the standard deviation of that metric across all stocks

The resulting Z-score tells you how many standard deviations a stock is from the average. A Z-score of +2.0 means the stock is two standard deviations above the mean — better than approximately 97.7% of the universe on that metric.

Properties of Z-Scores

  • Mean = 0 — An average stock scores 0 on every metric
  • Standard Deviation = 1 — Most stocks fall between -2 and +2
  • Direction — Higher is always better (after inversion for metrics where lower is better)
  • Sensitivity to outliers — A single extreme value can pull the mean and compress other scores
Metric Inversion

For metrics where lower is better (P/E, P/B, Debt/Equity), the Z-score is negated: Z = -(X - μ) / σ. This ensures that a cheap stock (low P/E) gets a high positive score, consistent with all other metrics.

Winsorization: Handling Outliers

Financial data regularly contains extreme values. A biotech with no earnings produces an undefined P/E. A company that just completed a massive acquisition might have a temporary debt/equity ratio of 50. These outliers distort Z-scores for every other stock.

Winsorization at 1st/99th percentile: If X < P1: X = P1 (cap at 1st percentile) If X > P99: X = P99 (cap at 99th percentile) Where P1 and P99 are the 1st and 99th percentile values

Winsorization caps extreme values at the 1st and 99th percentile boundaries. The outlier stock still scores at the extreme end, but it does not pull the distribution and distort scores for normal stocks.

Percentile Rank Alternative

Percentile Rank = (Number of stocks with lower values / Total stocks) × 100

Percentile ranks are inherently outlier-resistant because they only care about ordering, not magnitude. A stock with P/E of 5 and one with P/E of 8 might both be in the 95th percentile if most stocks have P/E above 15. The downside is loss of information — you cannot tell how much better the 95th percentile stock is compared to the 90th.

Two-Level Weighting System

Level 1: Metric Weights (Within Factor)

Each metric within a factor gets an importance weight:

  • Off (0) — Metric excluded from the factor score entirely
  • Low (0.5) — Half weight. Use for metrics you find less reliable or less relevant
  • Medium (1.0) — Standard weight. The default for all metrics
  • High (2.0) — Double weight. Use for metrics you consider most important

The factor score is the weighted average of its constituent metric Z-scores.

Level 2: Factor Weights (Between Factors)

The four factor scores are combined into a composite using percentage weights that sum to 100%:

Composite = (w_V × Value) + (w_Q × Quality) + (w_M × Momentum) + (w_G × Growth) Where w_V + w_Q + w_M + w_G = 1.0

Final Score Normalization

The raw composite score is rescaled to a 0-100 range for readability:

Final Score = ((Raw - Min) / (Max - Min)) × 100 Where Min and Max are the lowest and highest composite scores in the universe

This means the top-ranked stock always scores 100 and the bottom-ranked stock always scores 0. All other stocks are distributed proportionally between them.

Relative, Not Absolute

A score of 80 means "better than most stocks in this specific universe at this specific time." It does not mean the stock is objectively good. If the entire market is overvalued, even the top-ranked stock may not be a good investment in absolute terms. Always combine quantitative screening with macro context.

Statistical Considerations

Methodology Summary
  • Data Cleaning — Stocks with insufficient data are excluded before scoring. Missing individual metrics are handled per-metric (stock excluded from that metric only)
  • Universe Sensitivity — Scores are relative to the chosen index. A stock scoring 90 in the S&P 500 might score differently in the NASDAQ 100 because the peer group changes
  • Temporal Stability — Factor scores change as new financial data is reported (quarterly). Momentum scores change more frequently (price-based)
  • Multi-collinearity — Some metrics within a factor are correlated (e.g., ROE and ROA). The weighting system lets you turn off redundant metrics if desired
Back to QuanterLab
Report
Loading report...
Article
Loading article...