Service due: mileage or months, whichever comes first
A service schedule has two limits, not one: a distance and a time. Miss that and you get the classic mistake — a car with plenty of miles still to run before its next service that is already past its date.
Why both intervals exist
The mileage interval covers the wear that depends on distance. The time interval covers everything that ages whether or not the car moves. A car doing very few miles a year can go well past its schedule without the odometer suggesting that anything is wrong at all. Whichever limit you reach first is the one that governs — that is what "whichever comes first" on the service page means, and it is the half most people skip.
Where the numbers come from
Both intervals are yours, out of your own owner's manual or service book. Nobody else can supply them and no calculator should try: they differ by make, model, engine, oil specification and how the car is used, and a figure asserted here would be wrong for somebody and then relied on. Long-life and fixed schedules differ from one another, and severe use — short trips, towing, heavy loads, extreme temperatures — shortens both. Read the book, not an average.
The arithmetic
- Miles since the last service = current odometer − odometer at the last service.
- Miles remaining = your mileage interval − miles since.
- Estimated months elapsed = miles since ÷ miles you drive per year × 12.
- Months your mileage interval represents = mileage interval ÷ miles per year × 12. Compare that against your time interval: the smaller of the two triggers first.
A worked example
Example inputs, every one of them supplied by the driver: odometer 42,500 miles; odometer at the last service 34,000 miles; mileage interval 10,000 miles; annual mileage 8,000 miles; time interval 12 months; last serviced on 2025-03-14.
- Miles since:
42,500 − 34,000 = 8,500miles. - Miles remaining:
10,000 − 8,500 = 1,500miles. - Estimated months elapsed:
8,500 ÷ 8,000 × 12 = 12.75months. - Months the mileage interval represents:
10,000 ÷ 8,000 × 12 = 15months.
Now read it off. There are still 1,500 miles to run, so the odometer says nothing is due. But 12.75 elapsed months is already past the 12-month interval, so the service is due now — on time, not on distance. And because 15 months is longer than 12, time was always going to be the limit that arrived first for this driver.
The dates fall out of the same figures. From a last service on 2025-03-14, the time interval lands 12 months later on 2026-03-14, and the mileage interval is projected 15 months later, at about 2026-06-14. Three months apart, from one service date and one honest annual-mileage estimate.
Change the driver and the answer flips
Keep exactly the same car, the same 10,000-mile interval and the same 12-month interval, and hand it to somebody who covers 15,000 miles a year:
- Months the mileage interval represents:
10,000 ÷ 15,000 × 12 = 8months. - 8 is less than 12, so mileage triggers first, and the 12-month date never becomes relevant.
Same car, same schedule, different driver, different governing limit. That comparison — not the odometer on its own — is what tells you which number to watch, and it is worth doing once when you buy the car rather than every time you glance at the dashboard.
What the estimate assumes
The elapsed-months figure is derived from your stated annual mileage, so it is only as good as that number. If your driving is uneven — a long summer trip, a winter where the car barely moved — the estimate drifts, and the honest fix is to update the annual figure rather than trust an old one. The one date here that is not an estimate is the time-interval date, which comes straight from the last service date you entered.
None of this is a safety check. A service schedule is a maintenance reminder; it is separate from any legal roadworthiness test, and anything that feels wrong to drive should be looked at now rather than at the next service.
Run your own
The free Car Service Due check does this arithmetic from your own intervals and says which limit triggers first. It runs in your browser, and it will never invent an interval for you.