When adding a new rule to the scoring model, you need to decide what kind of rule you want to apply. Basically, you can treat a rule as an instruction given to our algorithms on how to approach a particular problem.

We have designed five different rule types and equipped the system with a lot of examples. These five types of rules are described below. Read them carefully to fully understand how they work. 

Metric Value in Static Range

Choose this one when you want to assess whether the particular metric's reading is high or low compared to the static range you're going to define. 

Use it with metrics like Debt-to-Assets, Current Ratio, or Return on Invested Capital because desired levels of these are more or less static for most companies. 

It doesn't matter whether you're looking at Apple, Coca-Cola, or Ford Motors, a debt level of 70% will always mean the same (that a disaster is coming). On the other hand, 0% of debt will mean that bankruptcy is almost impossible. 

Investors can argue about how to set this range and what it means to have "low/high" debt levels. Nevertheless, we all can agree that whatever the range is (how the investors define it), it'll be rather static than dynamic. 


You want to determine whether the singular company's debt level is high or low. As a metric, you might want to use the Debt-to-Assets ratio and, as a static range, the 40-5% levels. That means every company with a Debt-to-Assets ratio higher than 40% is considered bad and will be "rewarded" with 0 points in our scoring, and every company with a debt level lower than 5% will be rewarded with maximum points available. 

Companies with their Debt-to-Assets ratios somewhere between 40% (worst) and 5% (best) will receive some points from the grading scale proportional to their reading, but neither maximum nor zero points will be given. 

Metric Value in Historical Range

The same as above, except that you want the range not to be static but rather unique for every stock, where highs and lows (the range) are calculated automatically based on historical data.

Use it with metrics like P/S, EV/EBITDA, or Upside because the attractiveness of these readings depends hugely on the particular company's situation, its growth prospects, and the whole industry.

Some companies, especially those with extraordinary growth prospects, won't be cheap. Hence, the ratios like P/S or P/E will always look relatively high when compared to more mature and stable companies without further growth coming. 

It's understandable because investors typically are eager to pay more for the stock that generates (or will generate) more gains in terms of revenue or earnings. As a deduction, ratios like P/E for these companies will be much higher than for the lagging companies. 

What it means for us is that we can't define one "right" static range for readings like P/E or P/S and apply them to all companies on the market. It just won't work. The only solution is to apply a dynamic range typical to the particular company. 

We can define this range by checking out all the companies on the market and visualising their typical ranges of the particular metric on the chart, or we can use the algorithms to rely on a company's historical data and determine its range for us. 


You want to score many companies based on their upside (difference between price target and current price). It seems easy since the upside is already calculated as a percentage value, so theoretically, you could just sort out the results from highest to lowest upsides and choose the TOP 30 companies.

In reality, it's a bad idea because good companies won't have high upsides most of the time, so you would almost never have the opportunity to buy them if you were solely waiting for the huge upside. 

Investors know that when there is a 20% upside for a really good company, other market participants probably won't wait longer but will buy its stock driving its price higher and depressing the upside.

On the other hand, for a so-so medium-quality company, 20% of the upside might not be enough for investors to take the risk of investing in that company. They might want to wait for the upside of at least 30-40%.

In the third case, there might be a company with enormous growth prospects but also very, very risky, with no earnings yet, no financial stability, and a huge load of debt. Investors might want to wait for the upside to be at least at the 70-80% level to take the risk. 

As you can see for one company, the range might be at 0-20% level, but for another, at 5-40%, or even 20-80% level. 

That's why we need to use the historical range to evaluate the current metric's reading. To do this, we can apply the Metric Value in Historical Range which will asses what was the typical range for every single company during, i.e., the last five years, and based on that range, will score the companies accordingly. 

Difference Between Two Metrics 

Approach it when you want to assess the desired metric, not within static nor dynamic range, but rather comparing it to another metric.

Use it when you want to contrast, for example, the current P/S with its median from the last five years (is the current reading higher or lower than the median, and by how much?). This is as close as you can get to building your own indicators composed of two different metrics. You are limited only by your imagination here. 


Let's say you want to be sure that you invest only in companies with their EPS Estimated for the Next Fiscal Year at least 10% higher than the last EPS published at the end of the last fiscal year. 

It would not be easy to give the algorithm precise numbers because these are different for every company. We cannot also apply the dynamic range because there's often no range with typical highs and lows (the earnings might have been rising for the last 20 years).

The only solution is to compare two different metrics with each other. In this case, these would be EPS Estimates for the Next Fiscal Year vs. EPS Annual or TTM. The Worst to Best readings would be set at, for example, 10% as a minimum threshold (no points are given) and 20% as a maximum threshold (maximum points are given when it's crossed).

Every reading in between will receive some points, but neither all nor none. 

Metric Change Over Time

This one helps to score a company by determining how much the single particular metric has changed over time (how much the metric has risen or declined over time in the percentage values).

Use it when assessing the dynamic of Revenue, EPS, or Cash growth over time, or the magnitude of revisions for metrics like EPS or Revenue Estimates, or even the Price Target. 

It's practical because next to impossible would be evaluating the revenue growth without first converting the dollar amount to percentage values.  

For a small company, revenue growth of 10 million after five years might mean a lot, but it would humiliate Apple. So we can't compare these two unless we use the percentage values that will fairly represent the scale of each and every company. To do this, we can use Metric Change Over Time rule.


Suppose you want to rank companies by the growth of total amount of dividends paid. Your goal is to score high these companies that each year pay more and more cash as a dividend distribution. Again, you can't define this as a static range or a dollar amount because those will vary depending on the company.

To do it right, you should use the Total Dividends Paid (TTM or Annual) metric and set a rule that will check whether the company has grown that amount for the last five years by at least, let's say, 20%. 

In that case, the Worst result might be set as 20%, and the Best, for example, 30%. The faster the total amount of dividends paid grows, the higher the company will be ranked in the scoring model.

Metric Decline Over Time 

It works similarly to the Metric Change Over Time, except that we can measure only decline here, and the starting moment to gauge the decline is not defined by a point in time but by the last peak of the metric (the highest reading ever that occurred during some period).

Use it when you want to gauge the percentage magnitude of the decline of such metrics as Stock Price, Price Target, EPS Estimates, Total Debt, etc. This rule is really helpful to easily and objectively assess the magnitude of the decline.

You can always look at the chart to do that, fair enough, but the problem is that charts are not perfect for visually describing the magnitude. A lot depends on the scale and the timeframe. Using the wrong scale or timeframe, an EPS decline of just 2-3% percent might be shown as a disaster because of the reading being painted as a steep curve on the poorly scaled chart.

By applying the Metric Decline Over Time rule, we base on pure numbers and eliminate any biases.


We want to monitor and measure the magnitude of potential EPS Estimates revisions, so they can be updated quickly if something wrong happens to the forecasts. 

Let's set the EPS Estimates for the Next 12 months metric and apply the rule that will check whether during the last 30 days decline of this metric was more than 0% or not. 

If so, that looks like analysts are starting to revise the next year's earnings forecasts, which is terrible news for investors. What we can do about it is another story. Nevertheless, we need to be aware of the revisions happening in the first place.

It's worth remembering that the revision by itself is not a disaster yet, because it still might mean that EPS will grow in the next year, just not as fast as the analysts previously anticipated. 

That's why we may want this rule to be configured not as a "Must-have rule" but as a grading rule. 

For example, with the Worst to Best grading scale set from –5% to +5%, it would mean zero points will be given to the company that received the revisions of EPS in the last month greater than –5%, and maximum points will be applied to the company that had its forecast moved higher by at least 5% in the last 30 days.

Related articles