BT are offering double data and £150 gift card for a limited time. Iphone 7 with 6gb data is currently £50 upfront + £42 per month for BT customers (£47 per month for non-customers). BT currently offers £150 gift card on the deal and Quidco is offering £100. So 24 months works out at £1058, but taking off the gift card equates to £35.75pm - or £31.58 if Quidco pays up.
Not making any judgements on the handset but I can't see any better deals for people wanting the latest iphone and a decent amount of data.