1. Ben Stokes' absence
Pune clearly missed the services of their most important player of the season. The England all-rounder was key to Pune's turnaround in the tournament after poor show in the early stages as they ended up second in the points table.
Final was a crucial game and they badly missed the services of the all-rounder. Had Stokes been part of Pune's Playing XI, things could have been different for them.
He would have contributed with the ball in the first innings -- as Pune felt a bowler short when Krunal was batting -- and his explosive batting in the middle overs would have reduced the asking rate for his team.
Pune lost the match due to their slow batting in the middle overs as none of their batsmen managed to hit big shots in between 10-16 overs and that proved fatal.
Pune missed the services of another seasoned campaigner in Imran Tahir who was very crucial for the team's success in the league stage.
2. Krunal Pandya's all-round show
The young Mumbai Indians batsman scored 47 off 38 deliveries to take his team to at least a fighting total.
At one stage Mumbai were struggling at 79/7, but Pandya's aggressive batting mixed with caution helped Mumbai put up a target of 130 for Pune to chase on a wicket that was getting slow.
Pandya's batting exploits in the final overs took the momentum in Mumbai's favour.
The left-arm spinner then opened the bowling for Mumbai, when Pune came out to chase. Pandya finished his quota of 4 overs by conceding just 31 runs.
Disciplined bowling by Pandya in the powerplay overs helped his team keep things tight for Pune and other bowlers capitalised upon it.
3. Poor start from Pune
Pune didn't get to off a good start in the powerplay overs. Chasing a low total has always been tricky and a good start could have laid the foundation of an easy run chase.
But openers Rahul Tripathi and Ajinkya Rahane couldn't provide the best of starts to their team.
Tripathi's dismissal in the 3rd over by Bumrah gave Mumbai the advantage.
Rahane is known for building his innings with singles and twos and he did just that, but there wasn't a person on the other end to take a few calculated risks.
4. Promoting MS Dhoni over Manoj Tiwary
Pune's decision of promoting MS Dhoni over Manoj Tiwary backfired. Everyone knows Dhoni takes few deliveries to get into his grooves but by the time he walked in to bat, the asking rate was already high.
Team should have sent someone like Manoj Tiwary at number 4 after Rahane's dismissal in the 13th over. Tiwary, who had a decent strike rate this season, could have played aggressively and brought the asking rate down. Even if he was dismissed early, Pune wouldn't have been affected much because MS Dhoni was the next man in.
Dhoni and Smith batted very slowly in between 13th and 17th over and the required run rate kept mounting.
Finally, Dhoni's (10) wicket in the 18th over by Bumrah proved fatal for Pune.
5. Manoj Tiwary and Steve Smith's dismissal in the final over
Pune's hopes of winning the game were dashed when they lost the wickets of Manoj Tiwary and skipper Steve Smith in the final over bowled by former Australia seamer Mitchell Johnson.
Pune required 11 off the last six deliveries and the boundary from Tiwary made the contest exciting. But Tiwary was removed by a brilliant catch by Pollard in the deep on the very next ball.
Smith too was dismissed by a brilliant catch by Ambati Rayudu on the very next delivery to make the matters worse for his team.
Finally, both the batsmen Dan Christian and Washington Sundar couldn't outclass the experience of Johnson who kept his nerves intact and ensured Mumbai won the game by a margin of just 1 run.