I've used a simple approach for years. I ask myself if the on-going cost of repairs is starting to approach the monthly cost of a car payment. It almost never does, so I pay for repairs out of warranty and only buy a new car because I want the latest safety features or the car can no longer pass a safety inspection or it can't be repaired (usually due to rust). I do keep two cars so at least one is available if the other is in the shop. My other tip is for folks like me who live in colder regions--make your older car your "beater". I have a ten year old hybrid sporting top of the line snow tires that we use almost exclusively after the snow starts to fly. Our Model 3 stays in the garage unless the roads are completely clear. In a few more years, the Model 3 will become our new beater when the hybrid finally dies. Sure, repairing an older car can be expensive, but over time it almost always ends up costing less than a monthly car payment.