If you're changing filters proactively, change the prefilters every 6 months, the membrane every 2 - 3 years, and the DI resin when your TDS reads above zero. That's pretty wasteful though. With basic testing you can tell exactly when specific filters in your system need to be replaced. I've been on my current prefilters for 2+ years and used my last RO membrane for 10+ years.
The sediment filter needs to be replaced when pressure drops over the prefilters. To measure this, put a pressure gauge before the prefilters and another after the prefilters. When the pressure drops significantly*, the prefilter is clogged and needs to be replaced. If replacing the prefilter doesn't raise the pressure, your prefilter may have been too big and your carbon blocks may be clogged. They might need to be replaced too.
The carbon blocks need to be replaced when they can no longer process chlorine/chloramines. To test this, measure chlorine using test strips in the brine (waste water). If the reading is anything above zero, your carbon blocks need to be replaced.
The membrane needs to be replaced when the rejection rate drops too low. To measure the rejection rate, test the TDS before the membrane and after. Divide the "after" number by the "before" number. The membrane should remove 95%** or more of the solids from the water. If the number you calculated is higher than 0.05**, the membrane needs to be replaced.
DI resin should be replaced when TDS is above zero. This is pretty important since weakly-charged ions will begin to detach from DI resin as the resin exhausts. As a result, your DI resin can actually release compounds like ammonia in bulk as it gets close to the end of its useful life.
* What significantly means will vary to you, but I try not to let mine go for more than 5 - 10 PSI. It all depends what your source PSI is.
** this number depends on your preferences and setup. You may not have 98%+ rejection if you have low pressure. Also, you might not want to replace the membrane the second the rejection rate drops a single percent. So, I chose 95% as the threshold. Choose whatever number works best for you.