I have a very similar system.
I use Trello. I have one column called 1M, one called 3M, one called 6M (representing how often I want to reach out to them). Each card is one person and the cards have a field on them that is called: Last Contact.
Every week, or so, I have a look at the Trello board. I look at the top cards in each column and if it’s time to reach out, I do so, update the Last Contact field, and move that card to the bottom of that column.
Sometimes I add notes to the cards.
That’s it!
Edit; The reason I don’t have one big list, is that I’ve gotten a sense of how long each list can be for it to be manageable.