Opposition parties, including regional satraps, coming together to form a joint front against the BJP ahead of the crucial 2019 Lok Sabha polls isn't the only worry for the ruling party at the Centre.
Prime Minister Modi and his lieutenant Amit Shah's immediate concerns would be BJP's numbers in the current Lok Sabha which have come down significantly since 2014 because of multiple by-poll losses.
A look at the 23 Lok Sabha seats, where by-polls have taken place since 2014, shows that the BJP has won only four.
When the BJP stormed to power in 2014 led by Narendra Modi, the NDA won a massive mandate bagging 336 seats in the 543-member Lok Sabha. The BJP emerged as the single-largest party crossing the halfway mark with a spectacular 282. But since then, the saffron party's numbers have decreased owing to successive defeats in by-polls.
In the last by-polls where elections were held for the Phulpur and Gorakhpur seats in Uttar Pradesh and Araria in Bihar, the saffron party was dealt a heavy blow.
The loss of the Gorakhpur seat came as a personal embarrassment for Uttar Pradesh chief minister Yogi Adityanath who had scored five straight wins from the seat since 1998. He had vacated the seat after being appointed as chief minister. Phulpur had been won by BJP strongman Keshva Prasad Maurya, who had also vacated the seat after being appointed deputy CM.
In neighbouring Bihar, Lalu Prasad's Rashtriya Janata Dal managed to retain Araria despite a strong fight from the BJP.
Earlier in February this year, by-polls in Ajmer and Alwar in Rajashthan and Uluberia in West Bengal had also come as a major boost to the Opposition. The Congress defeated the BJP in Alwar and Ajmer and increased its tally from 46 to 48 in the Lok Sabha. Congress' Raghu Sharma defeated BJP's Ram Swaroop Lamba by 84,414 votes and won the Ajmer Lok Sabha seat. In Alwar, Congress' Karan Singh Yadav won the seat by 1.97 lakh votes.
In Uluberia, Trinamool Congress' Sajda Ahmed defeated the BJP candidate by almost five lakh votes and helped the party retain the seat.
Last year in the by-election held for Gurdaspur seat in Punjab, the Congress party reaffirmed its dominance in the state with its candidate, Sunil Jhakar, defeating BJP's candidate by 1.93 lakh votes. The seat had earlier been held by the BJP but had fallen vacant after the death of actor-turned-politician, Vinod Khanna.
By-polls were held in April last year for the Srinagar, Malappuram and Amritsar Lok Sabha seats. National Conference chief Rafooq Abdullah won the Srinagar seat, defeating PDP's Nazir Khan by a margin of 10,700 votes. The Indian Union Muslim League retained the Malappuram constituency, winning by a margin of over 1.7 lakh votes. In Amritsar, Congress' Gurjit Singh Ahluwalia won the seat by a margin of almost two lakh votes.
By-polls for Coochbehar and Tamluk Lok Sabha seats in West Bengal and Tura in Meghalaya were held in 2016. The TMC managed to win both the seats that were up for grabs in West Bengal and National People's Party candidate Conrad Sangma won the Tura seat that had earlier been held by his father.
The BJP faced a humiliating defeat in the Ratlam by-election which was a high stakes battle. Congress' Kantilal Bhuria defeated the BJP with a margin of 88,000 votes. The saffron party had won the seat for the first time in 2014 but failed to hold on to it. By-poll for the Warangal Lok Sabha seat was won by the Telangana Rashtriya Samiti and for Bangoan was won by the TMC.
Just months after the BJP stormed to power in May 2014 riding on the Modi magic, by-polls took place in Medak in Telangana, Mainpuri in Uttar Pradesh and Kandhamal in Odisha where the BJP was defeated. The TRS bagged the Medak seat, Samajwadi Party's Tej Pratap Singh won the Mainpuri seat and the Biju Janata Dal picked up the Kandhamal seat.
The only by-polls that the BJP has won since 2014 are Shahdol in Madhya Pradesh in 2016, Vadodara in Gujarat in 2014 after Modi vacated the seat, Lakhimpur in Assam in 2016, and Beed in Maharashtra in 2014.
BS Yeddyurappa and Sriramulu's resignation from the Lok Sabha after the Karnataka polls along with multiple by-poll losses have reduced BJP's numbers from 282 to just 272 in the lower house. The May 28 by-poll to four Lok Sabha seats will be extremely crucial for the BJP if it wants to retain its psychological edge in terms of numbers. However, even without these numbers, the NDA continues to enjoy a comfortable majority in the House with its allies.