BMW service indicators used to work to a complicated algorithm that took into account factors such as engine temperature, rev range and so on but then they found that just looking at the fuel consumed gave them the same answers so now that's all they use. You can get a cheap interface for your PC that can read the computer control unit under your seat and reset the indicators if necessary.