Apparently more related than you think. My mpg jumped 15% immediately upon replacing thermostat. With the defective t-stat, my fake gauge stood at perfect noon any time the ambient temp was over about 40-50°. When it was zero outside the coolant temp never made it to 140 and that was the only time the "gauge" gave me any useful information.
The cabin temp of 10° was more direct feedback
A working "gauge" works exactly as I described: see the thread here:
temp gauge observations - Bimmerfest - BMW Forums
This is for the e46, I'm not sure exactly the buffer values for x5 but it's similar.
The coolant temperature "indicator" (most definitely not a gauge) snaps to noon at 75°C and stays stuck at noon until the temp hits 115°C.
167F is not remotely "normal operating temp" and I was told the engine won't kick into closed loop at that temp, the immediate jump of 15% in mpg seems to follow that logic though it could be some other factor of course.
I just know that I drove my e53 many 1000s of miles with coolant temps below 80°C and got terrible mileage. My wife's clone x5 got 23 highway and I got 20-21. Until I replaced the tstat and instantly mine nearly matched hers and I would get 22-23 avg at 75mph.
Not arguing exactly what cause and effect make my mpg horrible but it was 100% the fault of the idiotic temp "indicator" that stays the same for 40°C. (72°F).
It cost me $100s in wasted gas ⛽️ and frozen body during 5-6 trips to/from Chicago when ambient was zero F and I could not warm the cabin above freezing. I had to stop every 20 miles to let the engine warm up enough to get any heat in the cabin and keep the engine running. (At one point the needle pegged high and the elec. fan kicked on: opened the hood and hand on the radiator hose confirmed engine was cool).
Anyhow done with my rant: as soon as possible I will reprogram my temp indicator to have non moronic buffer values like 90-100C.
Cheers.