Cost effective drivetrain maintanance
Make the small investment in a chain checker ( I like park tools CC-3.2). I would generally recommend one of them that measures the chain based on length rather than lateral deflection. Each manufacturer will probably have it's own recommendation, but a safe bet is to always replace your chain before '.75' (75% wear). This will maximize the life of your cassette and chainrings as they will not be ridden on a stretched chain. It also eliminates individual variation, as some people will stretch a chain more or less over a given distance ridden ( some people like to mash and others like to spin).

It is also a good idea to keep your chain clean, as a dirty chain acts like sandpaper as it is cranked over the teeth of the chainring and cassette.

By simply replacing the chain at the proper intervals I have made cassettes and chainrings last years of frequent use. I don't know exact numbers but they would be pretty meaningless as they vary with rider and conditions. Certainly more than 2 chains per cassette.