Roughly 6% of recurring charges were being written off
Every failure went to a single acquirer, retried on a fixed schedule, and dropped after three attempts. Nobody could see which issuers were declining or why, because reporting stopped at the word "failed". The finance team had accepted the loss as a fixed cost of the business model.
Built a routing layer across three acquirers scoring each attempt on issuer, card type, amount and time of day, then retrying on a different rail with a schedule tuned per decline code. Added a decline dashboard the revenue team reads weekly, and moved card storage to network tokens to cut PCI-DSS scope.