We're not particularly formal about activity, as we feel that inactivity is only a problem if it's standing in the way of progressing role-playing stories. So our approach to whether inactivity constitutes a problem depends entirely upon what they are holding up by not being active, and whether the character was created by a player or was staff created for the roster.
We may GM extremely inactive characters if a significant number of people are waiting on the character to make a decision and it would reasonable to expect the character to take action in some form. We may return extremely inactive staff-generated characters to the roster if the player has not been on for 4+ weeks, OR if they have logged on but are not ICly active. We track poses, emits, say, tabletalk, and messengers and use those to gauge acitivty. We'll never roster a player-generated character unless we have their express consent or the character is the rank 1 in any @org and leaves/idles out without passing off leadership, instead placing them inactive with the assumption the character has taken a leave of absence from the city. We'd much rather not take anyone's characters away or make decisions for them, and really only would if a story is at a stand still because of an inactive player, or a roster generated character is not ICly active, and we'll always try to give a reasonable amount of time for a player to respond. Ultimately it's just about giving the best compromise to player autonomy and the understanding that real life rears its head while balancing the need for stories to not halt entirely, and characters made for the game to be available for RP.