i installed the new version and there haven't been any question about the formula and it got overwritten. Fortunately i made a backup some time ago.
thanks, for the new option, that the values aren't stored in the field anymore!!
I played with the formula a little bit, and thought about what the formula shoud look like:
My first idea was, that the difference between 1 or 2 plays shoud be greater, than a difference between 30 and 31 plays.
In the original formula plays go with the power of 3 (or 5?), so it behaves inverse.
A good function for a (mathematically) more accurate forumula is the logarithmus.
In consequence i had to adapt the other values aswell.
The sum of all this is this forumula:
10000000000 * (10*log(Played+1)-Skip^2)/( DaysSinceAdded)^(0.125) / 1.001^((1/log(Played+1))*DaysSinceLastPlayed^1.1)
advantages:
- the formula has little problems with overflow.
- new songs with few plays have a chance to get "high stared".
drawbacks:
- the forumula isn't very stable, that means that ~1% of all ratings are changed from one day to another.
maybe someone has ideas to stabilise the formula much more.
edit:
i included some new behaviour: the dayssincelastplayed get divided by log(Played+1). that means that the dayssincelastplayed have more influence on lessplayed tracks, than on other
edit2:
i discovered a bug in my formula and tested a second time the changes from one day to another. without any play in this period only 5 songratings from 3133 were changed.
i think that that is very good, and the disadvantage "unstable" isn't right anymore.
Anyway i would be very happy for some proposals