The opposition Congress retained the two Assembly seats - Kolaras (Shivpuri district) and Mungaoli (Ashoknagar district) where bypolls were held on February 24, but with a reduced margin.
"We fought to win but a bit was left in our effort," he told reporters at his residence here when asked to comment on the bypolls' outcome.
"We are pained we could not win the by-elections," said Mr Chouhan, who along with some senior members of his Cabinet took part in the campaigning.
"All had thought winning the two seats was tough for the BJP. The Congress had won Kolaras by a margin of around 25,000 votes in 2013. We narrowed this gap to around 8,000 votes in the bypolls," the chief minister said.
The chief minister expressed confidence that his party would win the Assembly polls, slated for later this year, with a comfortable majority.
The BJP is ruling Madhya Pradesh since 2003.
Get the latest election news, live updates and election schedule for Lok Sabha Elections 2019 on ndtv.com/elections. Like us on Facebook or follow us on Twitter and Instagram for updates from each of the 543 parliamentary seats for the 2019 Indian general elections.