Air leaks and/or bad Maf can upset the fuel trims and cause havoc with running and mpg. After you rule out the plugs and coil packs turn your attention to air leaks. Best way to find them is to smoke test it, smoke will find the smallest of leaks. Pay attention to all the rubber inlet hoses and boots and all vacuum lines across the engine, look under the rear edge of the inlet manifold for missing rubber blanking caps that perish and fall off the unused stub ports located under there. O rings in the dipstick tube should also be looked at for smoke escaping. Those with plastic c am covers should also closely examine that for cracks that let air in and oil out. A good code reader with live data should be used to take a look at what the fuel trims are doing, high readings can be a tell tale that its got air leaks or a bad Maf. Unmetered air or wrongly reported volumes of air passing through the Maf will get picked up by exhaust sensors and the car will see this as a lean mixture. To compensate it will demand more fuel at the injectors to richen the mixture up. It will continue to do this until its adding 20% more fuel before it realises its not fixing it and will set a engine management light to draw attention to the fault. Bad Maf's don't always set codes by the way, they either work or they don't, cleaning them with Maf cleaning spray doesn't always work if the sensor is duff. If you have to replace the Maf only fit oem brands do not fit cheap ones they rarely work or last long always go for Bosch or Siemens brands, expensive but they work out of the box.