One of the few cases when adding friction is a good thing is when users are about to cancel their subscription.
Instead of letting them cancel with one click, use this opportunity to make them stay.
Adding an offboarding flow to your cancellation process will help you save some of the churning users and collect qualitative feedback from the rest.
Users signed up for your product for a reason - remind them of the value they’ll lose (data, history, etc.) if they cancel their account (loss aversion).
Then, if they still want to cancel, ask what's the reason they're leaving.
Based on their answer, you can offer them a salvage offer and try to retain them.
Some example offers you can use to make them stay:
Even if you fail to retain them, such offboarding flow will let you collect some valuable feedback that will help you make the experience better for other users.
Are you using an offboarding flow? What worked best for you?