This forum has been archived. All content is frozen. Please use KDE Discuss instead.

"Discountable" ratings - older items les important

10

Votes
10
0
Tags: None
(comma "," separated)
Lukas
Registered Member
Posts
427
Karma
0
Many of us have things that are very important today but useless tomorrow :)

My idea is to create a system that could count how important one thing (contact, program, bookmark etc) or another is.

Today in most cases item has one filed for rating (e.g. stars).

New solution could be to have 3 fields* (sounds difficult, bu it isn't ;)):
points - where the rating is stored
rate - how important with perspective item is
time_stamp - time stamp, when last time item was discounted.
*

Example:
Each time I receive email from "Tom" Akonadi adds 100 to points, each time i send email to "Tom" Akonadi ads 200, each time reopen email + 50, delete without opening -200
As time passes by the item gets more and more points

And there Discounting algorithm comes into action
Once a day/week Akonadi corn job runs though items and discounts them:
Item.points = Item.points * Item.rate * 1/Item.Time_Since_Last_Discount

In human language:
The higher rate, the slower item looses pints, the lower rate - loose pints fast :)


Why TimeStamp?

Time stamp is necessary for
1) Performance - discounting all items at once could hang PC, but having timestamp filed allows Akonadi to only discount oldest discounted items and then system is idle

2) All items are not discounted at once, so to avoid more frequently discounted items to have lower rating, rate is multiplied by the time since last discount.

What is rate

Rate is a number between 0 and 1 and defines how fast item should loose points. default rate -0.8

E.g. I receive email from someone I don't know, it is reasonable that I would be interested into it for a few days but no longer. Points - 10000 (max number of points in my contact list), rate - 0.01 - this item will be on top for a few days and then goes to bottom of the list.

e.g.2. I add that user to my address book set points to 600 (average number in my contact list) and rate to 0.8

e.g.3. I add a star to item - set rate to 0.95 so it would go down slowly.

p.s. numbers are randomly chosen and will wary ;)


p.p.s. the same algorithm could be used in kickoff to sort items "by popularity", even settings or last used documents

Last edited by Lukas on Wed May 20, 2009 9:30 am, edited 1 time in total.
Lukas
Registered Member
Posts
427
Karma
0
The roots of the idea came from Discounted cash flow method, used for counting the future value of property today.

In my idea it is reversed :D


Bookmarks



Who is online

Registered users: bartoloni, Bing [Bot], Google [Bot], Sogou [Bot]