But then it doesn't make sense to have the yearly subscription (and 12 months of contract duration at a time). Then you can just have the monthly subscription.
I think you are approaching it from a different place than I am. If I get into an annual contract I have the expectation that I would be paying the full amount up front to secure the discount and that I would be utilizing the full amount of the term. If after six months I stop then that's for some new reason that was not there in the start. At that time I would expect a rebate for the services that would not be rendered. I could be a six month customer or a ten year and six month customer and have the same expectation. Things change.
Charging someone’s credit card 12 times a year has a definite cost. Having the funds ahead of time is also worth more than earning the funds one month at a time.