Homing in on quality

Richard tightens up his “Minimum Quality” filter so that SharePad is doing more of the heavy lifting. In a not-very-scientific test, 18 out of 21 good-quality businesses were identified by it.

Last month I shared a list of all the companies that passed my semi-automated sifting of the entire stockmarket over the course of the previous year.

The process is semi-automated because it uses a SharePad filter to cut the number of shares to analyse down from nearly 1,500 listed in London to less than 500.

The manual part of the process requires me to make snap judgments about the financial track record of each of the survivors once a year, soon after they publish their annual reports.

I use a SharePad custom table to lay out the most important statistics for the last ten years or so. Then, for each share, I award a strike for each statistic that concerns me.

The fewer strikes a share gets, the easier it ought to be to analyse, and, I reckon, the more predictable its performance should be in future (here is a longer description of this process).

Generally speaking, I prefer to look at the historical numbers in the table for some criteria rather than rely on averages or growth rates, because averages or growth rates can hide a lot of things.

However, I would like to spend less time scoring shares, and more time analysing those with high scores. And that has made me think harder about when to filter and when to score.

Some of my preferences are nearly inviolable. By including these in the initial filter there are two benefits: The total number of shares to score comes down to just over 200, and because the filter deals with criteria I used to score there is less scoring to do for each share that passes it.

Let us say it takes three minutes to score a share, that means the total scoring burden comes down from almost 24 hours to less than 12, which is not onerous spread out over the course of a year.

My beefed-up filter has the same purpose as the old one, to exclude shares that are unlikely to be of interest to me.

Minimum Quality filter Mk 2

The filter now has four criteria:

Company country code includes GBR

This restricts the filter to companies headquartered in the UK. That way I do not have to worry about why a company domiciled abroad has chosen to list here instead of at home or in the USA, overseas legal, tax and regulatory regimes, and how I will convince my wife to let me go to the annual general meeting.

International diversification is a good thing, but I tend to achieve it through funds, individual shareholdings in UK exporters, and the odd US holding.

Close 8 years ago (Minimum 1p)

This criterion excludes all companies that have been listed in the UK for less than eight years.

The previous iteration of the filter excluded companies that had been listed for less than three years, but I have juiced it up for three reasons:

  1. Re-reading my article on seasoning reminded me that in aggregate shares of older companies perform better than shares of younger ones. While not all new issues are young businesses, many of them are.
  2. A quick scan of the Wikipedia entries on UK and US recessions suggests we can expect a recession roughly once a decade. While eight years does not guarantee a recession, it is probably sufficient to see how a business has performed in a variety of economic conditions.
  3. Because companies tend to float at optimal times for the sellers (i.e. when things are going well) a three-year track record is not comparable to longer periods. To score companies fairly, we need to compare them over similar periods.
CROCI 8-year average (minimum 5%)

CROCI is a measure of profitability. It shows how efficiently a company converts the money it has invested into cash. The previous iteration of this filter set the bar lower. It merely required positive CROCI (minimum 0%) averaged over the previous three years.

Having excluded younger companies, we can extend the average to eight years.

By raising the minimum to 5%, the bar is still quite low, a company could probably do almost as well collecting interest from a bank account as investing in its own operations at 5%.

I do not want to set the bar higher though, for fear of penalising profitable companies that are investing to grow.

CROCI is Free Cash Flow for the firm as a percentage of invested capital. Free Cash Flow for the firm is the money left over after the cost of operating the business, capital expenditure, and tax.

Capital expenditure includes new investment, as well as investment required to maintain the company’s existing capital base (its equipment and facilities for example) so CROCI can be depressed if companies are deferring gratification – making investments now to earn even more cash in future.

Acquisitions (m) 8y sum + Free Cash Flow 8y sum

To my mind, companies that spend more than they earn in free cash flow on acquisitions are living beyond their means. They cannot keep raising funds from shareholders or lenders forever to fund expansion.

In addition, highly acquisitive companies are, almost by definition, changing radically. The historical record we are looking at may not be representative of a company as we look at it today.

Excluding big spenders in the filter resulted in a bit of head-scratching. We can do clever things by combining Acquisition spend and Free Cash Flow in SharePad, but the results are not always intuitive.

I found that calculating Acquisition spend as a % of Free Cash Flow and excluding companies that spent more than 100% of Free Cash Flow also excludes companies that have made no acquisitions at all. Presumably, this is because their Acquisition spend has been zero and SharePad (like the rest of us) cannot divide by zero.

Specifying that Acquisition spend should be less than Free Cash Flow doesn’t work either because Acquisition spend is negative while Free Cash Flow can be positive or negative in SharePad. Since a negative is less than a positive, all acquirers bar one that has been haemorrhaging cash pass the test.

The answer was to add the negative sum of Acquisition spending to the positive sum of Free Cash Flow. Any companies that achieve a positive result have earned more Free Cash Flow than they have spent on acquisitions. Bingo!

Testing the filter

I have a dream that SharePad will add artificial intelligence that generates a list of companies with similar financial track records to a particular company I admire. Preferably at the push of a button.

Perhaps they are working on it. But in essence, this process should do the same thing (although it takes a lot more than a push of a button).

To test the filter, I checked to see if it included a selection of companies I admire. The test groups were:

Advanced Medical Solutions, Auto Trader, Bloomsbury Publishing, Bunzl, Churchill China, Cohort, Dewhurst, Focusrite, Goodwin, FW Thorpe, James Latham, Judges Scientific, Howden Joinery, Next, Oxford Instruments, Porvair, Renishaw, Softcat, Solid State, Tracsis, and YouGov.

Of the 21 companies, the filter only excluded three. Goodwin just failed to meet the 5% CROCI criterion, because of heavy capital expenditure in recent years. Judges Scientific and Solid State spent a little more on acquisitions than they earned in Free Cash flow. I suspect investment at these companies has peaked, and in a year or two they will qualify again.

Hopefully among the results from my new Minimum Quality Filter, there will be dozens more opportunities like these.

Latest scores

Here is a list of all of the companies I have scored, sorted by score, since the last update. These companies published annual reports between 7 March and 3 April 2024.

All of them passed my Minimum Quality Filter. The scoring system prioritises them for investigation.

As you can see, the annual reporting season is in full swing.

Name TIDM Strikes # Strikes
Nichols NICL ? Growth 0
Porvair PRV ? Holdings 0
Quartix Holdings QTX ? ROCE 0
Inchcape INCH – Debt 1
Rightmove RMV – Holdings 1
Bunzl BNZL ? Holdings ? Debt ? Growth 1
Howden Joinery HWDN – Holdings ? Debt 1
Nexteq NXQ – CROCI 1
Clarkson CKN ? CROCI – ROCE ? Shares 2
Domino’s Pizza DOM – Holdings – Debt 2
Spirax-Sarco Engineering SPX – Holdings – Debt ? Growth 2
Vesuvius VSVS ? Holdings – Growth ? ROCE 2
IMI IMI – Debt – Growth 2
Spectris SXS – Growth ? ROCE 2
Spirent Communications SPT ? Holdings – Growth – ROCE 2
Jarvis Securities JIM – CROCI – Growth 2
Rotork ROR – Holdings – Growth 2
ITV ITV – Holdings – Growth 2
Hikma Pharmaceuticals HIK – Debt ? Growth – Shares 2
Intertek ITRK ? Holdings – Debt ? Growth ? ROCE 2
Aptitude Software APTD – Holdings – Growth ? ROCE 2
Morgan Sindall MGNS ? Holdings ? CROCI ? Growth ? ROCE 2
Next NXT – Debt ? Growth 2
Johnson Service JSG – Shares – Holdings ? Debt 2
Unilever ULVR – Growth – Debt 2
BAE Systems BA. – Holdings – Growth ? ROCE 2
Antofagasta ANTO – CROCI – Growth – ROCE 3
Robert Walters RWA – Holdings – CROCI – Growth ? ROCE 3
Tyman TYMN – Holdings – Growth ? ROCE – Shares 3
GlobalData DATA – Debt ? Growth ? ROCE – Shares 3
Centrica CNA ? Holdings ? CROCI – Growth – ROCE 3
Persimmon PSN – Holdings – CROCI – Growth 3
London Stock Exchange LSEG ? Holdings ? Growth – ROCE – Shares 3
Taylor Wimpey TW. ? Holdings – Growth ? Profitability – Shares 3
Mondi MNDI – Holdings – Growth – Shares 3
Marshalls MSLH – Holdings – Growth – Shares 3
Smith & Nephew SN. – Holdings – Debt ? Growth – ROCE 3
RTC RTC – CROCI – Growth – Debt – ROCE 4
Staffline STAF – CROCI – Growth – ROCE – Shares 4
Yu YU. – IPO – CROCI – ROCE – Shares 4
Headlam HEAD – Holdings – CROCI – Growth – ROCE 4
Shell SHEL – Holdings – Growth – ROCE – Shares 4
STV STVG – Holdings ? CROCI – Debt – Growth – Shares X
Jupiter Fund Management JUP – Holdings – Growth – ROCE – Shares X
Tullow Oil TLW ? Holdings – CROCI – Debt – Growth – ROCE – Shares X
Our guide to 5 Strikes: How the system works, and what the strikes mean. (Note this article uses the previous Minimum Quality Filter now superseded.)

~

Contact Richard Beddard by email: richard@beddard.net, Twitter: @RichardBeddard, web: beddard.net

Got some thoughts on this week’s article from Richard? Share these in the SharePad chat. Login to SharePad – click on the chat icon in the top right – select or search for a specific share