Simulations will have the final word on this.
My idea is to have 3-4 sort orders plus “Custom” that opens a window like this
(I added the pic so that people in this thread can see it)
And what about those who sort by deck?
I assumed that this would be the case, when choosing a deck, a second “Metric” window would appear.
Or not in “Custom” but separately in deck, Relative overdueness_desc. Or any other option that is good for the backlog.
Sorting by deck is convenient when you don’t want to mix decks. In my case, this is because there is different material to study. And because it is very inconvenient to mix ordinary cards with {{type:}} cards
I’m too lazy to edit the image to do that, but yeah, that sounds like a good idea.
I don’t see any benefit in this, but I think many people would like the same for Due date.
Done.
And what is the conclusion? I read all 400+ posts and keep my fingers crossed for best sort for backlog
At this moment, from what I could understand:
1-PSG, Stability Ascending, and PRL sort orders are potential sort candidates.
2-PSG has potential, however, formulae changes mean it would take some time whether it indeed has the potential to be the best out of the bunch or not. More time is needed, I believe.
2-At this current Anki build, Difficulty Ascending (Descending is not far off) is the best sort order. (Though there arises the problem of difficulty not changing with the number of days passed).
3-(Current Classic) Relative Overdueness ist sh*t for backlog
4-The new potential upcoming Reverse Relative Overdueness sort order is the best overall sorting order.
5- @rich70521 believes the (potentially) best sort order is not yet decided. He believes it could be a combination of 2 sorts: first, sorting by Difficulty Ascending, then by Reverse Relative Overdueness.
At this current point in time, Expertium suggests firstly the reduction of the unnecessary “weak” sort orders, or at least the ability to hide and customize them, and the addition of Reverse Relative Overdueness. I don’t know if there has been any progress on this from the GitHub side of things, as Damien has other things to do and is awaiting a final say on this topic.
Conclusion:
- @rich70521 and I believe a combination of 2 sorts is possibly better
- @sorata believes PSG has good potential
- @Expertium wants to reduce sort orders and add Retrievability Descending
- For now, Difficulty Ascending and Descending are the best sort orders (with some important reservations)
- Further simulations are needed to test the combinations and new PSG formulae
I hope this is a fair summary to all.
By the way, this topic now has the most replies a topic in this forum has ever had!
I don’t understand this. Why didn’t you implement it the straightforward way (which you commented out)?
Because it is faster. If you want the straightforward way, you can uncomment the code.
Well, if it’s equivalent, alright
Alright, I will run the simulation for 200 100 different seeds and then compare average time per remembered card for R_desc and PSG_desc. See you in a week, everyone, cause this is going to take mighty long.
Unless @L.M.Sherlock adds multithreading to the sort order simulation? That would be very helpful
It’s also true for Difficulty. D values tend to get pushed up to equaling exactly 10, so I have half my backlog with the same exact D value. I need a second sort for those.
Intervals will have a ton of ties because those are in increments of days.
If they add Stability sort, also in increments of days. it’s apparently not in increments of days, it’s just displayed that way. It’s probably calculated down to machine epsilon like difficulty and retrievability are.
The default 2nd sort would obviously be Random, but I think there’s value in allowing users to change that.
Stability can be <1 day, though idk about the internal precision used in Anki
I just did searches for prop:s=n
for different exact numbers and nothing comes up. Then, I did prop:s>n prop:s<n+1
and cards show up.
I will read everyone’s replies later. But before I go, I want to copy paste a 0 draft I wrote last night. Thoughts appreciated. I’d actually like @Expertium to figure out the correlation coefficient and if they match my ideas.
Relation of S with R
The rate at which R drops can be given by this formula: R3/S
If S is really high, R will drop slower. Therefore, for a random card in your backlog there is a positive relation between S and R values.
Relation of S with D
Assuming a relatively balanced distribution of high and low difficulty cards in an users’ collection, D and S values should have a slightly negative relation.
- As cards accrue difficulty, they will be failed a lot, each time slicing off some of the stability it gained before.
- High D values dampens stability growth whereas low D values fillips it.
Relation of D with R
If high D cards are more likely to have lower S values, in a backlog they’ll be more likely to have low R values. This directly ties with how R value changes. For low S cards, the rate of change in R is always higher compared with high S cards.
The point is we don’t know which variables matter because there is a correlation between them, or at least according to what I think.
I’m currently running a long simulation to determine whether PSG desc. is better than R desc. That will be my last contribution to this, then I’ll just tell Dae which one to implement. Realistically, unless PSG is waaaaaaay better, reverse relative overdueness is simpler to implement and to explain to people, so I’m like 99% sure I will just tell Dae “Implement reverse relative overdueness”
I’ll be up with arms against you if PSG is actually better.
If it’s better by, like, 2-3%, and requires extra effort to implement and is more difficult to understand, is it really worth it?