Methodology

Building a Factor Scorecard: Turning Definitions Into a Repeatable Score

A factor scorecard converts factor definitions into one comparable number per stock. Here is how to build one that is precise, point-in-time, and honest about what it cannot see.

A factor scorecard is a written procedure that turns raw financial and price data into a single comparable number per stock, so an entire universe can be ranked on a stated idea. It has four parts: the universe you rank, the metrics you measure, the normalisation that makes those metrics comparable to each other, and the rule that combines them into one score.

Everything difficult about the job lives in the details of those four parts, not in the arithmetic. The formulas are simple. Getting them to mean the same thing for 500 different companies on 500 different dates is the actual work.

Start with the question, not the formula

Before writing a single metric, write one sentence describing what the score is supposed to identify. “Businesses that earn high returns on the capital they employ and have not funded that with rising leverage” is a usable sentence. “Quality” is not.

That sentence is what you will test the score against later. If it is vague, any result can be declared a success after the fact, which is how a scorecard quietly becomes a device for confirming what you already believed. Write it down, date it, and keep it with the code.

Define every metric precisely

A metric name is not a definition. “Return on capital” has at least four common variants that produce different rankings on the same companies. For each metric in the scorecard, pin down five things:

  • The exact formula, including which line items feed the numerator and denominator.
  • The basis, meaning standalone or consolidated. Mixing the two across a universe corrupts every cross-sectional comparison, because a holding company measured standalone is a different business from the same company measured consolidated.
  • The period, meaning trailing twelve months, latest reported annual, or a multi-year average. A three-year average return on capital and a single-year figure answer different questions about durability.
  • The units and direction, meaning whether the value is a fraction or a percentage, and whether higher is better. Sign errors on a single metric are one of the most common silent bugs in scorecard code, and they do not throw an error, they just produce a confident wrong list.
  • The source, meaning which filing and which statement the value comes from.

For an example of how much definitional care a single metric needs, return on capital employed is a good study: the ratio looks simple, the treatment of capital employed is not, and it is the wrong tool entirely for lenders.

Decide the universe and its exclusions

A score is only meaningful against a comparable set. Two decisions do most of the damage here.

The first is the universe boundary. Ranking on liquidity-sensitive metrics across a universe that includes names you could never trade produces a top decile you cannot own. Set a minimum on traded value and free float, and set it before looking at the results.

The second is business archetype. Banks, non-bank lenders, insurers and holding companies have structurally different financial statements. A leverage screen written for a manufacturer will class every healthy bank as dangerously indebted, because leverage is the business model. Either exclude these archetypes from a generic score, or define archetype-specific metrics and rank within archetype. Applying manufacturer definitions to a lender is not a small imprecision. It is a category error that will dominate the tails of your ranking.

Sector matters too, though less absolutely. Valuation and margin metrics are more comparable within a sector than across, so many scorecards rank within sector and then combine.

Normalise so the metrics can be added

Raw metrics cannot be summed. A return on capital of 0.22 and a price-to-earnings of 18 are on different scales, in different units, pointing in different directions. Normalisation puts them on a common footing. The two standard choices:

Percentile ranks. Sort the universe on each metric and replace the value with its position, so every metric becomes a number between 0 and 1. This is robust: one company with an absurd ratio cannot distort the score, because ranks only care about order. It also discards information, since the gap between the best and second-best company disappears.

Z-scores. Subtract the cross-sectional mean and divide by the standard deviation, so each metric is expressed in standard deviations from average. This keeps the magnitude of differences, which matters when a few businesses are genuinely exceptional rather than merely first in line. It is also fragile to outliers, so it needs winsorising, which means capping extreme values at a chosen percentile before computing the score.

Whichever you choose, apply it cross-sectionally on each date, not across the whole history at once. Normalising over the pooled history lets a company’s score depend on values from dates that had not happened yet, which is lookahead bias entering through a back door that almost nobody checks.

Fix direction at this step too. Where lower is better, invert before combining, and write a test asserting the sign of every metric. Sign tests are cheap and catch a bug class that eyeballing never will.

Combine deliberately

Now decide how the normalised metrics become one number. Equal weighting across metrics is the honest default, because it requires no claim about relative importance and it is very hard to overfit. Any departure from equal weights should be justified in writing by something other than the fact that it improved a backtest.

There is a further choice when a scorecard spans several factors. Blending means scoring each factor separately and averaging the factor scores. Integrating means requiring a stock to clear a bar on every factor simultaneously. These produce genuinely different portfolios: blending admits a stock that is superb on one factor and poor on another, integration does not. The trade-off is covered in multi-factor investing.

Handle missing data as missing

This is the rule that separates a scorecard you can defend from one that flatters itself: absence is never zero.

If a company has not reported a metric, filling the gap with zero ranks it as poor or average depending on the metric, and the output looks exactly as confident as a fully populated row. Filling it with the sector median is defensible, but only if recorded as an assumption.

The workable pattern is to carry an explicit unavailable state per metric, count how many metrics each company is actually scored on, and set a minimum coverage threshold below which the company is simply not ranked. A stock scored on three of eight metrics is not comparable to one scored on all eight, and the score alone will never tell you which is which.

Date everything

A scorecard used for anything historical must be point in time. That means each input carries not only the period it describes but the date it became knowable, and the score for a past date uses only values that were public by then.

Two specific traps. First, reporting lag: a March quarter is not knowable in March, and using it as if it were is the single most common way a factor backtest gets flattered. Second, restatements: if your database overwrites an original figure with a later restated one, a historical score is computed from numbers that did not exist on the date it claims to represent.

Test it, then write down what you found

Minimum honest testing means holding data back. Build and tune on one period, evaluate on a period you did not look at, as described in in-sample versus out-of-sample testing. Check ranking stability over time: a score whose top decile turns over almost completely each quarter is measuring noise, and that turnover costs real money.

Then version it. Every change to a definition, weight or threshold gets a version number and a date, so last year’s score can be reproduced. Undocumented drift is how a team ends up unable to explain its own past decisions.

What a factor scorecard does not tell you

It does not tell you a company is good. It tells you where a company sits relative to a defined universe on a defined set of measurable characteristics. Those are not the same claim.

It does not know the accounting is honest. Every input is taken from filings at face value. Aggressive revenue recognition, related-party leakage and capitalised costs that should have been expensed all pass straight through a scorecard, and often improve the score.

It does not see the things that are not numbers. Customer concentration, regulatory exposure, succession risk, a technology shift making the asset base obsolete: none of these appear in a ratio until they appear in the results, by which time the score has already been high for years.

It does not survive weak inputs. A score built on inconsistent basis, partial coverage or restated history looks identical to one built on clean data. Precision in the output tells you nothing about accuracy in the input.

It is a shortlisting device, not a decision. The correct use is to narrow a universe to a set worth reading properly, and then to go read the filings. A scorecard that replaces judgment rather than directing it has stopped being a research tool.

This article is educational. Altys Labs is not a registered research analyst or investment adviser, and nothing here is investment advice or a recommendation to buy, sell, or hold any security.

Frequently asked questions

What is a factor scorecard?

It is a documented procedure that turns raw financial and price data into one comparable score per stock, so that a whole universe can be ranked on a stated idea such as quality, value or momentum. It has four parts: a universe, a set of precisely defined metrics, a normalisation step that makes different metrics comparable, and a rule for combining them.

Should I use z-scores or percentile ranks?

Percentile ranks are more robust because they ignore the shape of the distribution and are unaffected by extreme values. Z-scores keep information about how far apart companies are, which matters when a handful of businesses are genuinely exceptional, but they need winsorising to stop one outlier dominating the score. Many desks use ranks for screening and z-scores for sizing.

What is the most common mistake in building a scorecard?

Treating missing data as zero. If a company has not reported a metric, scoring it as zero silently ranks it as average or poor rather than unknown, and the resulting list looks confident while being partly fictional. The correct handling is to mark it unavailable and decide explicitly whether the company is excluded or scored on the remaining metrics.