Or simply to get a heads up on the odo - go for a ride with a mate. Synchronise the odos at the off and go and ride 20 or 30 miles then have a look again. For the discrepancy you are noticing, it will be immediately obvious if the Ducati is reading wrongly. My 999 occasionally would get water in the sensor somewhere. This would make the speedo read rubbish until it dried out, but on one notable occasion, the odometer also read complete bollox. It was pretending I had ridden miles I just hadn't ridden. I knew this, because my average speed between fill-ups was approaching warp factor.
What type of riding/ distance are you doing? Out for a good ride i'll get about 100 miles per tank, BUT if i'm just commuting (including minimum of 5 min warm up in the garage) to and from work which is about a 8 mile round trip in constant traffic through town i only get about 55-60 mile per tank. Each fill up is between is about £13.
That's about 10 liters, the capacity of the tank is 15.5 so you've still got about 1/3rd of a tank left. So on a run that's about 10km/Liter which is about right.
I get 100m till light on 1198 and I spank the bitch mercilessly. 20-25m reserve but usually wont push past 20.
If I'm feeling frisky then 75-80 miles is about what I get before the light comes on. When I'm being sensible I have seen 110. No suggestions as to what the problem is but another datapoint for you there.