I think a latest transform could perhaps be a good solution.
I Did this for host not users But same concept. We wanted to see what hosts had not sent logs lately.
Basically if you do a latest transform using a user ID as the unique identifier and the timestamp as the latest time then you will see the user that has not logged in in the last day or two days or a week etc.
Most your users will have logged in recently, but you'll see the tail of the users that have not.
It's actually could be pretty awesome solution.
It does depend on that they log in at least once. We did hosts over the last 90 days