It may be useful to for example configure an interval of 30 days and any visit older than that will be anonymised. This prevents long term fingerprinting I suppose. Meanwhile most reports would have been aggregated and are still aggregated.
IP might be already anonymised anyway.
A problem be performance here. It would probably need a column whether someone has been anonymised yet or not. This would probably need an index but yes/no column might not be so good for an index. On the other side we can't do a full table scan every time this job runs.