views:

66

answers:

1

Hi all,

I'm working on an information system (in C#) that (while my users use it) gathers statistical data on what pieces of information (tables & records) each user is requesting the most, and what parts of the interface he/she uses most. I'm using this statistical data to make the application adaptive to the user's needs, both in the way the interface presents itself (eg: tab/pane-ordering) as in the way of using the frequently viewed information to (eg:) show higher in search results/suggestion-lists.

What i'm looking for is an algorithm/formula to determine the current 'hotness'/relevance of these objects for a specific user. A simple 'hitcounter' for each object won't be sufficient because the user might view some information quite frequently for a period of time, and then moving on to the next, making the old information less relevant. So i think my algorithm also needs some sort of sliding/historical principle to account for the changing popularity of the objects in the application over time.

So, the question is: Does anybody have some sort of algorithm that accounts for that 'popularity over time' ?

Preferably with some explanation on the parameters :)

Thanks!

PS I've looked at other posts like http://stackoverflow.com/questions/32397/popularity-algorithm but i could't quite port it to my specific case. Any help is appreciated.

+1  A: 

Rather than try and guess what the user wants, why not ask the user to design the layout of the information.

My Yahoo, as an example, allows the user to specify what types of information he or she wants to see, and where on the screen the information is placed.

Your statistical information could be used to make suggestions to the user of where to place the information on the screen. Basically, the system could suggest that the most accessed information over the last month be placed on the upper left. But ideally, each user should decide which layout of the information makes the most sense for him or her.

Gilbert Le Blanc