The popular explanation for why the BJP got more seats is that its votes were consolidated in regions while the Congress votes were spread thinly.

The best way to understand the Karnataka vote is by breaking the state into 6 prominent regions: (Disclaimer: While most analyses use this break-up of regions, the grouping of districts somewhat tends to differ. More so with Central Karnataka)

This is largely Lingayat country and traditionally a BJP stronghold. The contests also were largely BJP versus Congress. The BJP won 30 out of the 50 seats, Congress 17 and JD(S) 2.

Compared to 2013, the BJP gained 14 seats and the Congress lost 14. But here's the catch: in 2013, the BJP had split into three different parties which helped the Congress. So, what did it look like in 2008 when BJP was in full force? Then, the BJP won 36, Congress 11 and JD(S) remained at 2.

Did the Lingayat minority status issue backfire? The general opinion is Yes. Still, the Congress' tally in Bombay Karnataka is higher than it was in 2008 when the BJP was at its peak here.

This north-eastern region has a mix of Lingayat and SC/ST population. It's one of the most backward regions in Karnataka and has been given special status through a Constitutional amendment by the UPA government.

Of the 40 seats, Congress won 21, BJP 15 and the JD(S) 4. Compared to 2013, the Congress slipped by 2, BJP gained 5 and JD(S) one.

Again, let's look at the 2008 results for a clearer picture. Ten years ago, the Congress had 15, BJP 19 and JD(S) 5.

Overall, the dynamics appear to have changed. The Congress barely held on (it did well in Bellary despite the Reddy brothers making a political re-entry after a gap) but the BJP has made some new inroads.

Largely a Vokkaliga heartland, most experts say the consolidation of the community's votes benefitted the JD(S) and cost the Congress dear. The JD(S) won 28 seats, that's 3 more than the previous election. The BJP won 15 seats, a higher tally compared to both 2013 and 2008. The Congress slumped to 18 seats, down from 26 in 2013.

Bangalore 32 seats (Bangalore and Bangalore Rural districts)

The Congress held on to its seat tally here while the BJP didn't.

Congress won 15 seats, the same as in 2013 while the BJP won 11, one less than the previous election. Even compared to the 2008 election, the Congress has fared better than BJP.