Domanda

Trying to work out an algorithm for grouping my users into distinct profiles based on their activity - e.g. "regular users", "occasional users", "regular poster", "lurker" for someone who doesn't post but does stuff.

For regular user, I was thinking that the algorithm would have to include the total users, how much an average user visits a site, completing actions such as "like" or "favorite" or "view" or "clicking link".

I'm not very good with algorithms so looking for some help.

È stato utile?

Soluzione

Depends on the applications traffic you can try to count every action performed by your users and divide by the users count making it average. And then based on that information apply the ranks e.g.:
    1. Regular user with 15% more or less than the average.
    2. Active user with >= 16% than the average.
    and so on..

The important thing is to do it with the percentage as you want it to become based on YOUR traffic. You can also set some static requirements like 3 clicks per day.

Altri suggerimenti

Your best bet is to first really consider how you would define the terminology. Once you've defined the termininology, you should then be able to rank people based on those terms. For example, a user might be "someone who accesses the site", thus a regular user is "someone who accesses the site regularly". The same idea applies to a poster. A lurker doesn't really fit as it seems pretty much like "a user, who does not post".

Thus it might be a good idea to define what actions are related to what terminology. A lurker might then be "someone who accesses the site but rarely does much in terms of actions" while a user is "someone who accesses the site and uses some of it's features, but has does not posted anything".

You then need to determine a metric for defining what regular, occasional, active and other such terms mean. ailvenge gives two good ways this can be done.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top