Update: This entire article is wrong. The P/E calculation is simple: Weighted Market Cap (791,825.38) divided by weighted earnings (40,570.21) which is 19.52, very close to the BSE reported number. That means I am wrong, and the BSE is correct. I’m terrible at mathematics – have made it more complicated and confused myself all ends up. This article will remain for posterity, though, and for the brickbats. And thanks to Akshay J for pointing out my mistake.

Something seems to be wrong with the Sensex Price to Earnings Ratio calculation. Look at the Sensex Index Reach page and you will notice a value there for P/E – the price to earnings ratio of the Sensex.

The Sensex is an index – the BSE 30 Sensitive Index is what it really is – so there’s no real company called the “Sensex”. So what is the earnings of a non-existent company? How can we calculate even the “number of shares” or any information for what is effectively an amalgamation of other companies, but where the ratios change daily?

The answer lies is the calculation. Since the Sensex is a weighted calculation of the various companies it comprises, the earnings can also be weighted in the same way to get the earnings for the Sensex. Divide that by the weighted number of shares in the index and you have a value called “EPS” or Earnings per share for the Sensex. The P/E then is just the Sensex value divided by the Sensex EPS.

Note that the share prices of each constituent company change daily and therefore, these values will change every day.

But the key here is to take the correct data for “earnings”. It seems like the BSE has taken the last reported YEARLY figures instead of considering the last four quarters.

What’s the big deal, you ask. What’s the difference? On March 29 2007, the last four quarter earnings will include figures for January 2006 to December 2006. But the last reported YEARLY figures is for April 2005 to March 2006! (Most companies offer annualised earnings reports only for April to March financial years).

To validate this, what I did was to manually go through each company and calculate the Sensex P/E myself. Here are the steps I used, as of April 02, 2007:

- I read the Sensex “free float” calculation methodology, and the free float factors of each company in the index. [1]
- Then I created a list of all sensex companies in an excel sheet, got all values for their earnings (both last 4Q and last annual), prices, market prices etc. All for the date of April 02, 2007.
- I then calculated the weighted market cap, weighted earnings and the market divisor. Using that I could get the appropriate number of Sensex shares, which I then used to find the Sensex EPS and Sensex P/E.

I may be horrendously wrong here – but if you find that my calculation is a problem please let me know. It took me a while to figure out how they had calculated the Sensex P/E and I think I now am close to it.

The results are for you to see:

The reported Sensex P/E was 19.39 on the BSE pages. This is close to my own calculation based on the last reported ANNUAL earnings where I get a P/E of 19.92. The difference is perhaps in the figure I took as earnings (last reported P&L statement) whereas they may have considered a slightly different figure.

But if I consider the last four quarters, I get a P/E figure of 16.37. The last four quarter P/E is about 18% lower than the BSE reported P/E.

What does this mean to you? If you are using the P/E to consider whether a market is overvalued or undervalued (comparing against potential future earnings growth) you may want to use the last four quarter earnings instead. For example if you want the P/E to match earnings growth, 20% growth expection based on a P/E of 19.39 looks overvalued, but what if you considered only 16.37%? Is that still overvalued?

Use the right data. Don’t use the Sensex P/E to compare against earnings growth.

Note: The NSE has changed the Nifty P/E calculation since Dec 20, 2004 to reflect last 4Q earnings.

Notes:

[1] The sensex is based on the market cap of the top companies in the BSE. But some companies have a lot more stock held by non promoters than others – Wipro has just 15% available to non-promoters, which ICICI bank has more than 50% – so stock values can be high only due to high demand and low supply. So the BSE weights the individual company market caps by their “free float” – the number of non-promoter shares – and used the weighted market cap instead.

The market caps, suitably weighted by the free float factor, are added up and divided by a figure called the “market cap divisor”. This is a calculated figure that ensures that the sensex value is always comparable, and takes into account any changes in the constituent company shares, dividends, bonuses, splits etc. You can always find the current market cap divisor by dividing the weighted market cap by the sensex value.