Right after Air Canada sold off the Aeroplan frequent flyer program a new mileage expiration policy was put into place. In 2006 they started to expire miles after 12 months of inactivity - and then after 7 years no matter what.
They eliminated the 7 year rule in 2013. I wrote last year after Air Canada reacquired Aerooplan that I hoped they'd improve mileage expiration further. And even though they haven't announced full new program details yet, they've introduced two improvements to expiring miles.
I've kept my Aeroplan miles alive in the past moving just a single Starwood point over to the program, a great feature of that old program. I've also just moved American Express Membership Rewards points over to keep my account active though a single purchase through their shopping portal will do the trick as well. I just like not having to do this as often - and Award Wallet still warns me of course when I need to do it (aside from any messaging Aeroplan may send).
These are user-friendly changes and also makes it easier for Americans (and others outside of Canada) to participate in the program on an irregular basis. I especially like the fee-waived mileage reinstatement options.
It's costly to acquire a customer. Many programs move liability off their books by expiring miles, but if a member engages with the program it can be profitable to keep them. Why impose a cost on the member, a tax on future engagement and profitability? Instead just have them take an action that shows they're valuable to the program. A flight or co-brand credit card does that.