Raikkonen, who started the race eighth on the grid, was running third when race leader Sebastian Vettel ground to a halt, causing the safety car to be sent out with 10 laps to go.
This meant he was running second when the race restarted, behind Nico Rosberg, who had stopped, with fellow non-stoppers Adrian Sutil and Daniel Ricciardo behind him.
But the pace of fresh rubber allowed Mark Webber, Fernando Alonso and Lewis Hamilton to get ahead of Raikkonen in the closing stages, relegating the Lotus to fifth.
"The strategy worked perfectly until the last safety car," Boullier told AUTOSPORT.
"If you look at the three cars on two pitstops, Sutil, Ricciardo and us, nobody pitted.
"It was a mistake. We should have pitted but we were not expecting such a big gain with fresh tyres.
"We should have done it, but we didn't."
But Boullier was upbeat about the team's progress, particularly with a major aerodynamic upgrade package that worked well.
"If you take away the safety car and pitstop issues, the race was quite good," he said.
"We still have to look at the data, which takes a couple of days, but most of the upgrades are working, which is rewarding."
FORCE INDIA STANDS BY ITS STRATEGY
Force India deputy team principal, Bob Fernley, believes that his team was right to leave Sutil out rather than pitting for a third time.
Sutil was third at the restart and slid to seventh at the finish, but Fernley does not believe this decision cost the German any positions overall.
"You have got to remember that the only reason he got into third place was because he didn't pit," Fernley told AUTOSPORT.
"Had we all pitted, we would have been in the same situation anyway.
"The question was, how long would the safety car stay off and could we hang on to third, fourth or fifth and staying out was the only chance we had to get the higher positions.
"It was a gamble, but had we pitted we would have been in exactly the same position, so we didn't gain or lose anything."