The short answer
Treat renewal as a pipeline, not a date. Every renewal gets a stage, an owner and a forecast category, opened at least a quarter out for anything material. Attach a small number of named plays to the triggers that repeat (health score drops, champion leaves, usage crosses a threshold, executive goes quiet) so the response does not depend on who noticed. Write the plays down with the assets attached, the way GitLab publishes theirs. Then review the misses monthly. The process is not the document, it is the review that keeps the document honest.