Consistent Cash Creators
The topic of consistent free cash flows came up in the Value Investing News Forum last week. A member was scanning the S&P 500 one company at a time looking for companies that are consistent free cash flow generators. I thought there might be a better way to scan far more companies to identify the ones that are consistently growing their free cash flows from year to year.
As you might have noticed, I like to use linear regression to examine historical free cash flows. As part of doing these linear regressions, I also generate an R² statistic. R-squared measures the proportion of the data variability described by a line. An r-squared of 1.0 or 100% indicates that 100% of the data points fall on the regression line, a perfect fit. An r-squared of 0 indicates that a regression line explains none of the variability in the data. Given these properties of r-squared, I thought this statistic might be a good tool for identifying consistent free cash flow generators.
I recently bought a database of over 9,000 stocks which includes seven years of operating cash flows and capital expenditures. Therefore, I calculated free cash flow as the difference between operating cash flow and capital expenditures for each of these seven years. I also filtered the database for only those stocks that had five-year average returns on equity of over 15%. I also removed financial and insurance companies from the list, since free cash flow is not really the relevant metric for these industries. That reduced my universe of stocks down to less than 1,800. Finally, I calculated the r-squared of free cash flows over the past seven years and then filtered out all the companies with r-squares of less than 0.90. These remaining stocks are the consistent cash creators:
Consistent Cash Creators
Company | Ticker | R² |
j2 Global Communications, Inc. | JCOM | 1.00 |
Alcon, Inc. | ACL | 0.99 |
Sierra Health Services, Inc. | SIE | 0.98 |
Quest Diagnostics Incorporated | DGX | 0.98 |
Danaher Corporation | DHR | 0.97 |
USANA Health Sciences, Inc. | USNA | 0.97 |
National Interstate Corporatio | NATL | 0.97 |
LCA-Vision Inc. | LCAV | 0.97 |
L-3 Communications Holdings, I | LLL | 0.97 |
NetEase.com, Inc. (ADR) | NTES | 0.97 |
Ctrip.com International, Ltd. | CTRP | 0.96 |
China Mobile Ltd. (ADR) | CHL | 0.96 |
VCA Antech, Inc. | WOOF | 0.96 |
QUALCOMM, Inc. | QCOM | 0.95 |
Dorchester Minerals L.P. | DMLP | 0.95 |
Somanetics Corporation | SMTS | 0.95 |
Energen Corporation | EGN | 0.95 |
Mettler-Toledo International I | MTD | 0.95 |
Coach, Inc. | COH | 0.95 |
Yum! Brands, Inc. | YUM | 0.95 |
Digital River, Inc. | DRIV | 0.95 |
Portfolio Recovery Associates, | PRAA | 0.95 |
Pediatrix Medical Group, Inc. | PDX | 0.94 |
Syneron Medical Ltd. | ELOS | 0.94 |
Boeing Company, The | BA | 0.94 |
Core Laboratories N.V. | CLB | 0.94 |
Nordstrom, Inc. | JWN | 0.94 |
MICROS Systems, Inc. | MCRS | 0.94 |
Amphenol Corporation | APH | 0.94 |
Paychex, Inc. | PAYX | 0.94 |
United Technologies Corporatio | UTX | 0.94 |
CME Group Inc. | CME | 0.93 |
Shuffle Master, Inc. | SHFL | 0.93 |
Meridian Bioscience, Inc. | VIVO | 0.93 |
Cisco Systems, Inc. | CSCO | 0.93 |
Euronet Worldwide, Inc. | EEFT | 0.93 |
Blackbaud, Inc. | BLKB | 0.93 |
Akamai Technologies, Inc. | AKAM | 0.93 |
Pfizer Inc. | PFE | 0.92 |
TD Ameritrade Holding Corp. | AMTD | 0.92 |
Immucor, Inc. | BLUD | 0.92 |
Graco Inc. | GGG | 0.92 |
Quality Systems, Inc. | QSII | 0.92 |
General Dynamics Corporation | GD | 0.92 |
Healthways, Inc. | HWAY | 0.92 |
Meredith Corporation | MDP | 0.92 |
Amerigon Incorporated | ARGN | 0.92 |
Zimmer Holdings, Inc. | ZMH | 0.92 |
Citrix Systems, Inc. | CTXS | 0.91 |
Continucare Corporation | CNU | 0.91 |
Abbott Laboratories | ABT | 0.90 |
ANSYS, Inc. | ANSS | 0.90 |
Teva Pharmaceutical Industries | TEVA | 0.90 |
Oracle Corporation | ORCL | 0.90 |
LifeCell Corporation | LIFC | 0.90 |
Nam Tai Electronics, Inc. | NTE | 0.90 |
Parker-Hannifin Corporation | PH | 0.90 |
There are some pretty interesting names on this list. The next question you should ask yourself is whether these consistent cash creators will continue to generate consistent free cash flows in the future. Feel free to discuss these names in the comments section below.
Nice work! I would be interested in another column displaying the slope values (FCF growth rate). I wouldn’t mind a smaller R^2 if the slope is high!
Be interesting if those stocks are ordered in P/E, Price/FCF and price/book. Some good companies there but overpriced..
Hi Dom,
I think the slope number by itself might be hard for many to interpret. I’ll take a look at the slopes to see if they are actually informative. Maybe then I’ll update this post and add a slope column if it seems to make sense.
Nk: Great idea regarding sorting by value ratios. Maybe I could sort the list similar to the way Greenblatt sorts the Magic Formula list. I could use EBIT/EV, return on capital, and R-squared to generate a list of stocks worth considering.
If you observe earnings (and/or prices) of a company such as Pfizer over a number of years, you will see an exponential trend. Shouldn’t you then expect the same for FCF?
It would be interesting if you instead applied linear regression to the logarithm of FCF values.
I’m curious about the database you bought. Who sells it and what do they charge? Have you found it worthwhile and have you looked at any alternatives/competitors?
Ms: I’ll test whether an exponential trend better fits the free cash flow data than a linear trend.
jim: I recently got the AAII Stock Investor Pro database, which costs about $230 for the year. I’ve also been looking at Value Line’s software. It has a bit more data but it costs much more and I couldn’t figure out how to do a mass export of the historical financial data in Value Line.
I am guessing the Beta of your regression is a large integer. You could always convert the FCF values to their natural logs ln(), the slope of that regression equation would be growth in %.
An Aside-
One suggestion you might be interested in, is using the business functions add-in, which is free and can be downloaded at their website http://www.businessfunctions.com – I’m probably telling you nothing new, jic
The PolyReg function allows you to fit the data points to a polynomial, which gives good curvature and higher r2 values.
I wouldn’t use it for this screen, but if you do forecasting, it’s pretty good and I recommend trying it. I like it since it models the natural growth curve of the firm life cycle quite well using a 2-order formula.
Essentially, the polyreg func calculates the values that Excel displays on a chart for the trend line. Excel will fit a poly-line on a chart and show the equation, but the only way to get those values in a cell is to manually type them in (sucks). I am sure you know what I am talking about.
The BusFunc add-in calcs the values in cells so they can be used to forecast the data points forward, without having to enter anything.
Just thought I would add that, I know some people like me were frustrated that Excel on calc’d the poly equation on charts, so the polyreg function is the solution.
Turley: I’ve thought about converting my free cash flow numbers to natural logs in order to run an exponential regression. Exponential regressions are what most people seem to run on financial data because the slope does indeed provide you with the percent growth. However, there are two issues with doing it this way. First, you can’t take the natural log of a negative number and we often get negative cash flow at least temporarily. Second, using an exponential growth curve often results in forecasting higher growth in the more distant future than using a straight line. I think exponential growth curves are more appropriate to use to model young companies with explosive growth. However, as value investors, we tend to study more mature companies. My hypothesis is that a linear curve is the more appropriate way to describe free cash flow growth in these companies.
Thanks for reminding me about the business functions add-in. I haven’t used it before, but I’ve seen reference to it a few times. I would strongly caution you from using polynomial regressions with small data samples. It might give you higher R^2 numbers, but they are likely to be meaningless for forecasting. I was taught to always use the simplest functional form unless there is a compelling theoretical reason to use a more sophisticated form and sufficient data.
Ms: As I suspected, the linear r-squared for Pfizer is 0.924 and the exponential r-squared is only 0.898. I think the key here is that we are only looking at 7 years of FCF. If we looked at 20 years I suspect that the exponential curve would be a better fit.
I’m in the process of running a large pool of companies though both a linear and exponential regression on free cash flows from the past seven years. I’ll let you know what I find soon.
Following up on my comment #9, I realized that I shouldn’t be comparing r-squared values for different functional forms. In a dusty corner of my brain, I had a vague memory of being told that you can’t always compare r-squared values. I spent a little time this weekend researching the issue and sure enough I discovered in my old econometrics book that you can’t directly compare the coefficient of determination or r-squared from linear equations to the r-squared from a log-linear functional form. The good news is that you can transform the r-squared from log-linear regressions so that you can better compare them to linear regressions. The bad news is that there doesn’t appear to be a standard way to do this. It’s one of the reasons that it has taken me so long to follow up on this post.
In the case of Pfizer’s free cash flows, the adjusted, so called quasi-r-squared, is 0.88. This is real close to the initial exponential curve r-squared I reported on last week and therefore doesn’t change my conclusion that the linear curve is a better fit to historical PFE free cash flows. However, the quasi-r-squared is sometimes much different than the r-squared. Therefore, you need to be careful before choosing whether a linear or exponential curve are better at describing free cash flow growth over time.
Check out “SMF Add in” for excel, it’s a free add in that has the ability to pull historical and current financial information from all over the web.