I'm keen to hear other people's thoughts but i think that people that are inactive for over a month should be removed from the realm and ally list dead players often end up sitting in the middle of the hives and filling the ally list leaving no benefit from buying them.
Removing allies from the ally market when someone "quits" is silly/ will not happen. There are already not enough allies in the market to go around, inflation is rampant and deleting thousands of allies simply because they quit is certianly not going to help with that. With how fast the ally market is inflating it does not matter if the ally you hire is inactive because what might be a good priced ally last week is not probably under priced. They remove accounts from the map based on a number of factors, at one point it looked like this and I assume they have modified it since, Account Hibernation: players will be removed from the realm (until they log back in) if they are, inactive for 2 consecutive days and their TH is less then 6 inactive for 3 consecutive days and their TH is less then 11 inactive for 10 consecutive days and their TH is less then 16 inactive for 20 consecutive days and their TH is less then 21 inactive for 25 consecutive days and their TH is less then 25 The reason for this is to make more space in the realm. Players with NEVER BE REMOVED if they are above 100mil might, if there town hall is greater then 25, or if they spend real life money on the game (over an undisclosed amount).
I’ve been told ya they “remove” accounts off the realm but have yet to see it. There’s been empty untouched players for a couple months now still sitting in my realm since Christmas.
As tiashue said, it is most likely because they spent some cash on the game. I had a th12 which i spent no cash on. I logged into it maybe once a week and every time i logged in, my acc had a new 7d shield. That means some time during that one week i'd be offline, my account was removed from the realm. So the system works, you just don't see it cause players will usually spend at least $5 on the game.