BMI has a couple of critical flaws. The obvious one being that it doesn't take into account muscle mass (as others have mentioned) and levels of physical activity. Now, it's true that not everyone who's 260lbs looks like The Rock...I get it, however, it's also true that people who are in the "overweight category", but who exercise regularly are less likely to get heart disease than a skinny person who lives sedentary lifestyle.
However, the 2nd flaw, and the one I feel to be more troublesome, is how BMI categories are used to assess health risks among people who fall in the various BMI bucket classifications set up by the CDC. The classifications are far too broad and need to be waaaayyyy more granular in order to have any sort of applicable meaning.
I'll explain what I mean, here are the classifications:
- A BMI below 18.5 (shown in white) is considered underweight.
- A BMI of 18.5 to 24.9 (green) is considered healthy.
- A BMI of 25 to 29.9 (yellow) is considered overweight.
- A BMI of 30 or higher (red) is considered obese.
And these are used to attempt to determine likelihoods of particular ailments based on your weight. For example, they report that people in the "Obese category" are 3 times more likely to suffer from heart disease than a person in the "healthy category"
Here's the issue with that, if we're talking about a person who's 6 foot tall, the obese category spans from 220lbs...to infinity lol.
So according to how these are reported, they're saying that a guy who's 220lbs is 3 times more likely to have heart disease than a guy who weighs 185lbs. Which is definitely not the case.
Now the guy who weighs 350lbs?...yes, that's a very real possibility, however, it's a fundamental flaw to operate on the premise that 220lbs and 350lbs are presenting the same risk levels. However, the CDC operates on that flawed premise.
In order to give BMI any meaning or statistical value, it needs to be split out into about 15 buckets (instead of 5) ranging from BMI (<= 18) through (>=50)