How to Calculate Earnings Growth?

Earnings growth is a key factor that drives the direction of the future stock price of a company. It is usually used in the valuation of a company to see how much a company is worth.

It is derived using the historical earnings to estimate the growth of the future earnings. The earnings here are the net earnings, also called the bottom line.

Net earnings = Revenues – Cost and Expenses

Net earnings are what left in the company’s pocket (the profits or losses) after deducting all cost and expenses from running a business from the revenues (the top line).

If a company earns the same amount of money each and every year, it will have an earnings growth rate of 0 %. The earnings are not growing.

If the earnings of a company is growing each year at a 5 % rate, then its earnings growth rate is 5 %. The company earns 5 % more each year compared to previous year and therefore grows richer and richer at an accelerated pace. The consequence of that is its stock price will rise too because it is valued more over time.

How to calculate earnings growth?

I read from other blogs or websites on how to approach this problem:

Most of them are suggesting the similar way of estimating earnings growth which is to use only two input (two earning figures, one the latest and another the earliest) to estimate the earning growths.

Example for company X:

Year Earnings
2014 10
2013 8
2012 -6
2011 4
2010 -2
2009 1

This is what they suggest: In order to estimate the earnings growth over five years (from 2009 to 2014), use the earliest earning figure (1 in 2009) and the latest earning figure (10 in 2014) to do the estimation.

First, you get the growth multiple by dividing the latest earning with the earliest earning 10 / 1 = 10.

You then apply the 1 / 5 power to the growth multiple to get the growth rate for each of the 5 years. In this case you have (10)1/5 = 1.5848.

Minus 1 from the result and multiply it with 100 % and you get 58.48 % as the average annual earnings growth.


I tried to calculate the earnings growth for listed companies using the public earnings data from the stock markets and found that it is not that straight forward. In fact, it is not trivial at all.

The method proposed above is too simplistic and is only using two earning input while ignoring the rest which makes the result very erratic because the result varies greatly depending on which year’s earning you are using. By re-using the example above, if you are using the years 2011 (earning 4) and 2014 (earning 10) to estimate the growth, you get (10 / 4)1/3 = 1.3572 which is 35.72 % as the annual earnings growth. It is greatly different than the 58.48 % that you get earlier.

Another big technical challenge and interesting finding are that how are you going to calculate the earnings growth using a negative earning as one of its input? (By re-using the same example above) Like for year 2010 you have an earning of -2 (the company lost money). The growth multiple between 2010 and 2014 will be (10 / -2) = -5. But when you apply the 1 / 4 power to the growth multiple of -5, you get a math error because you cannot get the n-th root of a negative number.

Side note: I find it really interesting working on these examples especially for the earnings involving negative value. It seems like whenever the value cross the zero boundary, weird things happen. One typical case is from 0 to 1, the multiple is infinite (1 / 0 = ∞ ). The rate of change (or the return on investment) is also infinite (1 – 0) / 0 = ∞ . These observations seem like telling me that in order to create something out of nothing, I need an infinite amount of resources or energy to exchange for that “something”. No wonder it is so hard to invent something from scratch, it is because I have limited resources and energy. It is nearly impossible to get something by investing “nothing”. So, it is better to start with “something” (borrow from others or use money to buy?) and go from there. The return on investment is lower (a / 0 > a / b with a and b positive and not zero) but it is way easier to get result.

Alternative solutions

There are of course other ways to estimate the earnings growth. One of them is mentioned on this website How is the average growth rate calculated? It is using the excel function LOGEST() which takes into account all the data points (all the earnings) to calculate the earnings growth, hence avoiding the issues faced from the first method above where some data points are being ignored.

This post How to Determine a Realistic Growth Rate for a Company suggests yet another way to determine the earning growth rate by using the ROE (return on equity). However, it is not perfect too as stated in the article. It does not take into account the dividend payout and also the long-term debt of the company. There are too many assumptions used in the calculation.

My way of calculating earnings growth

Based on the studies done from the above examples, I come up with my own way of calculating the earnings growth. As one of the above articles states, there is no perfect way to estimate the growth rate. The key is to have a consistent way to estimate the growth so that the analysis makes sense.

This is how I do it. I am using the yearly total earnings as the data point by summing up the earnings from each quarter. See the example below:

Year Q1 Q2 Q3 Q4 Total Earnings
2014 740k 2,305k -2,761k 3,566k 3,850k
2013 5,461k 17k -3,346k 5,771k 7,903k
2012 3,599k -1,858k -3,825k 3,909k 1,825k
2011 -808k -1,672k -307k 954k -1,833k
2010 -1,867k -2,354k 1,128k 3,310k 217k
2009 2,141k 2,249k 3,570k 3,104k 11,064k

For the example in the table above, there are six yearly earnings which are 3850k, 7903k, 1825k, -1833k, 217k and 11064k between the years 2009 and 2014.

From the chart above, notice that there is a “best-fit” line in between the data points. It is the ‘least squares’ regression line. With that regression line as a guide, we can proceed and use the latest two data points (for years 2014 and 2013) to derive the earnings growth.

In this case, we have for year 2014 an estimated earning of 3,169,520 and for year 2013 an estimated earning of 3,436,520. The earnings growth is simply (Earnings on current year – Earning on previous year) / Earnings on previous year x 100 %. This gives us (3,169,520 – 3,436,520) / 3,436,520 x 100 % = -7.76 %. So this company has a negative growth which is very obvious from the chart above.

Note: The best-fit earnings growth will still encounter the zero boundary issue where it will breakdown when the earnings are in the negative zone.

Applying the best-fit earnings growth to Bursa Malaysia

I applied the best-fit earnings growth calculation to Bursa market. There are two values for each company: 5Y and 10Y average earnings growth which are what I usually see from other sources (they always have 5Y and 10Y data). Below are the companies that never lose money over 10 or more years while still having both 5Y and 10Y earnings growth in the positive ranges:

CodeCompany5Y-E-Gr10Y-E-GrCategoryROEP/EDYPTBVMarket Cap
0009YTLE (0009)11.80%11.65%Technology - Ace Market19.1420.157.39%3.86726.5M
1023CIMB (1023)0.31%7.95%Finance - Main Market6.7717.913.63%1.2146948.5M
1066RHBCAP (1066)7.94%9.71%Finance - Main Market10.539.191.39%0.9718973.6M
1082HLFG (1082)8.64%9.36%Finance - Main Market12.949.822.49%1.2716002.1M
1295PBBANK (1295)8.98%7.94%Finance - Main Market16.6415.522.84%2.5872518.8M
1597IGB (1597)4.81%5.75%Properties - Main Market5.3117.123.54%0.913857.9M
2194MMCCORP (2194) [s]9.22%3.77%Trad/Serv - Main Market7.4513.251.22%0.997490.8M
2224SDRED (2224)16.30%7.03%Properties - Main Market8.696.243.06%0.54417.6M
2658AJI (2658) [s]3.18%6.68%Consumer Products - Main Market10.6312.543.02%1.33372.7M
2836CARLSBG (2836)10.46%7.72%Consumer Products - Main Market53.7017.585.14%9.443629.9M
3026DLADY (3026) [s]8.70%9.44%Consumer Products - Main Market59.6327.994.84%16.692905.6M
3069MFCB (3069) [s]0.26%5.62%Trad/Serv - Main Market9.637.214.44%0.69525.9M
3255GAB (3255)5.09%5.66%Consumer Products - Main Market55.2820.264.43%11.204398.6M
3514MARCO (3514) [s]14.51%11.21%Trad/Serv - Main Market13.079.020.00%1.18174.0M
3522KIANJOO (3522) [s]8.59%8.08%Ind-Prod - Main Market10.9910.781.99%1.181394.7M
4162BAT (4162)4.61%2.05%Consumer Products - Main Market158.1118.495.19%29.2416949.1M
4588UMW (4588) [s]6.64%7.32%Consumer Products - Main Market8.8920.613.28%1.8312103.5M
4677YTL (4677)8.03%4.33%Trad/Serv - Main Market7.8314.276.88%1.1215836.3M
4707NESTLE (4707) [s]5.90%6.27%Consumer Products - Main Market57.5630.313.28%17.4516813.7M
5018HUNZPTY (5018) [s]10.77%9.40%Properties - Main Market6.1410.940.00%0.67524.5M
5020GLOMAC (5020) [s]12.21%8.44%Properties - Main Market8.617.236.19%0.62574.2M
5027KMLOONG (5027) [s]4.16%8.06%Plantation - Main Market13.0211.155.54%1.45840.3M
5029FAREAST (5029) [s]0.44%4.92%Plantation - Main Market7.3114.532.98%1.061184.8M
5032BIPORT (5032) [s]1.57%2.38%Trad/Serv - Main Market11.4323.383.64%2.673220.0M
5062HUAYANG (5062) [s]22.14%12.34%Properties - Main Market23.804.668.72%1.11514.8M
5073NAIM (5073) [s]16.42%8.02%Properties - Main Market11.794.020.00%0.47571.0M
5075PLENITU (5075)0.89%3.92%Properties - Main Market5.779.082.39%0.52677.0M
5398GAMUDA (5398) [s]15.33%8.72%Construction - Main Market12.4015.942.33%1.9811982.9M
5584YEELEE (5584) [s]6.28%9.99%Consumer Products - Main Market6.9012.811.66%0.88323.7M
5819HLBANK (5819)13.19%9.53%Finance - Main Market13.5711.232.99%1.5224212.0M
5878KPJ (5878) [s]3.16%7.93%Trad/Serv - Main Market10.7431.091.15%3.344456.2M
5983MBMR (5983) [s]2.35%4.84%Trad/Serv - Main Market7.9410.912.29%0.871367.5M
6017SHL (6017)21.29%6.33%Properties - Main Market15.007.415.94%1.11774.8M
6033PETGAS (6033) [s]10.58%6.14%Ind-Prod - Main Market17.5222.884.38%4.0142898.9M
6114MKH (6114) [s]16.03%6.50%Properties - Main Market7.2712.273.60%0.89931.1M
6238HSL (6238) [s]3.99%7.92%Construction - Main Market13.0212.681.62%1.651016.6M
6351AMWAY (6351) [s]8.11%5.06%Trad/Serv - Main Market49.0115.645.19%7.671739.2M
6432APOLLO (6432) [s]5.02%4.43%Consumer Products - Main Market10.6614.585.31%1.55376.8M
6599AEON (6599) [s]7.06%7.84%Trad/Serv - Main Market11.79213.42%2.484520.9M
6718CRESNDO (6718) [s]21.29%11.62%Properties - Main Market14.204.366.96%0.62523.2M
6742YTLPOWR (6742)2.40%3.19%IPC - Main Market11.299.526.32%1.0811044.0M
6769KELADI (6769)8.71%6.25%Properties - Main Market6.7811.481.79%0.78212.3M
6947DIGI (6947) [s]11.52%8.11%IPC - Main Market325.6321.54.64%70.0043540.0M
7022GTRONIC (7022) [s]16.73%6.94%Technology - Main Market23.9825.853.70%6.201743.8M
7076CBIP (7076) [s]9.40%10.27%Ind-Prod - Main Market14.9711.392.81%1.701040.6M
7084QL (7084) [s]9.26%8.76%Consumer Products - Main Market13.3026.160.88%3.484992.1M
7087MAGNI (7087) [s]15.72%12.41%Consumer Products - Main Market16.858.393.81%1.41370.0M
7090AHEALTH (7090) [s]3.06%7.36%Consumer Products - Main Market12.2814.752.30%1.81486.2M
7091UNIMECH (7091) [s]3.41%7.26%Trad/Serv - Main Market7.1210.484.26%0.75169.4M
7095PIE (7095) [s]8.60%5.61%Ind-Prod - Main Market12.2410.973.45%1.34445.5M
7103SPRITZER (7103) [s]13.73%10.59%Consumer Products - Main Market10.8411.392.18%1.23254.6M
7111WEIDA (7111) [s]4.45%8.23%Ind-Prod - Main Market4.5911.651.88%0.54203.0M
7113TOPGLOV (7113) [s]0.38%7.38%Ind-Prod - Main Market15.1717.622.52%2.673927.1M
7128CAMRES (7128) [s]2.96%1.83%Consumer Products - Main Market6.838.270.00%0.5658.5M
7148CCMDBIO (7148) [s]4.79%2.55%Consumer Products - Main Market17.6910.616.31%1.88385.0M
7153KOSSAN (7153) [s]9.83%9.57%Ind-Prod - Main Market17.9228.541.03%5.114348.4M
7162ASTINO (7162) [s]8.90%7.31%Ind-Prod - Main Market11.156.583.72%0.73207.0M
7169DOMINAN (7169) [s]9.64%6.72%Ind-Prod - Main Market10.1310.851.69%1.10243.4M
7171CENBOND (7171)0.79%5.08%Ind-Prod - Main Market8.7310.753.65%0.94164.4M
7178YSPSAH (7178) [s]9.28%4.60%Consumer Products - Main Market8.3215.292.77%1.27311.8M
7277DIALOG (7277) [s]12.53%10.63%Trad/Serv - Main Market13.4631.670.97%4.268356.7M
7323KEN (7323) [s]11.54%9.91%Properties - Main Market15.836.373.95%1.01204.4M
7374TIENWAH (7374)2.95%5.73%Ind-Prod - Main Market4.6514.985.37%0.70168.9M
8583MAHSING (8583) [s]17.55%11.25%Properties - Main Market11.759.223.59%1.083264.8M
8621LPI (8621)13.21%8.83%Finance - Main Market17.8416.254.81%2.904707.6M
8664SPSETIA (8664) [s]13.50%7.42%Properties - Main Market8.9615.053.26%1.358476.0M

You can download the full data here: Bursa data with earnings growth (.csv).

So, out of the 246 companies that never lose money in Bursa Malaysia, 66 of them are still growing! This translates into 26.83 % out of the total 246 companies. With this information, I can wait for the price of these companies to drop and buy them at a bargain 🙂

There seems to be some pattern in Malaysian markets:

That’s it.

Note: The figures above are using historical data which might not be true in the future. So take them with a grain of salt, or rather, with a big bag of it.

Final thought

Behind every company, there is one or more founders who had been through the start-up process. It is really not easy to start a profitable business since the beginning. I understand how hard it is. Being a successful entrepreneur is no joke. There is a lot to be learned from these successful founders. The good news is: there are at least 66 companies to learn from (based on the study above)! Get inspirations from them and learn the skill on how to solve difficult challenges along the start-up process.