Focus topped the weekend box-office despite falling a little short of expectations. The Will Smith action-comedy flick took $19.1 million to snatch the No.1 spot away from Fifty Shades of Grey though analysts had predicted the move would earn between $21 million to $23 million.

FocusWill Smith [L] and Margot Robbie [R] in Focus

It led to some debate that Smith's star power was beginning to wane, though Focus received mainly positive reviews and represents a far greater success story than After Earth - the actor's last movie considered one of the worst movie of all time. Focus cost just $50.1 million to produce and should recoup that figure once it expands abroad.

"He's [Smith] terrific in this film," said Jeff Goldstein, distribution executive vice president at Warner Bros. "But to compare a film like this to one of [Smith's] tentpole films is unfair. He picked a project that was always slated to be a mid-range to low-range budget and the results are consistent with that."

"It's all about the snow and the freezing cold," said Goldstein. "If we had not been beat up by inclement weather, we would have hit $20 million-plus."

More: Will Smith returns to form with energetic Focus

In second place, Kingsman: The Secret Service took $11.7 million to take its overall total to $85.7 million while Fifty Shades had to settle for fourth place with $10.9 million for an overall $147.8 million haul. Third place went to The SpongeBob Movie: Sponge Out of Water which earned $11.2m million.

Further down the list, Oscar-winner Birdman took $1.9 million while Julianne Moore's Oscar win for Best Actress helped Still Alice take $2.7 million after doubling its screen count to 1,318.

"This is the calm before the storm," said Phil Contrino, vice president and chief analyst at "People were worried about the first quarter, but for it to shatter expectations like it has means we're in for good numbers this year."

More: read our full review of Focus