In my opinion if a factory reset helps then some user adjustments maybe the reason for bootloop. I had a Mi5 also. Update was possible from Android 7 to 8 without any factory reset. So my question, what the different between instalation with or without factory reset.