FSRS Helper - Recommended Steps

Now the Steps Stats could provide recommended (re)learning steps based on your desired retention and your historical performance:

Call for testers! Feedback is welcome.

8 Likes

Are you looking for us to check anything particular?

1 Like

Check whether the Steps Stats works in your collection.

2 Likes

Thoughts on moving this to the deck options page? The table can stay here but it will be better to show the reccomendations where you change the options.

I don’t know how to move this to the deck options page because the page is implemented in svelte instead of pyqt on which the old stats page is based.

1 Like

Just out of curiosity, and forgive my ignorance, would these recommended steps be the same as those aplied by FSRS5 when empty learning steps in deck settings?

Why or why not?

1 Like

They are totally different. It’s hard to explain without code.

This confuses me, then what would be the recommended thing to do? Let FSRS handle it or to use the recommended steps?

I initially thought they would be the same thing as well, otherwise it makes no sense to me (why wouldn’t FSRS handle the steps the most optimal way?), but I’m sure I’m misunderstanding something.

1 Like

At a ground-level user experience level, what would one expect to experience? Ie, would the empty learning steps FSRS 5 be, on average, more aggressive or less well-fit than the recommended learning steps from Steps Stats?

Or is there is first-order simplified characterization of either, or each, that is possible? (thinking of trying to explain to a typical, roughly layman, user)

I also feel confused when I do research in short-term memory. And the learning steps framework is limited, so I cannot give a perfect recommendation based on that.

1 Like

FSRS-5 is not designed to schedule short-term reviews.

1 Like

Can confirm it works well on my end. Thanks for this. :slight_smile:

In short, FSRS still doesn’t know what the most optimal steps would be.

This is what a FSRS dev said a few months back on GitHub:

For the long term intervals, FSRS is better at determining the optimal interval length than the user. But, for short-term intervals, this is NOT true.

FSRS was originally designed for long-term scheduling. Though L-M-Sherlock has added a short-term component in FSRS 5, it is mostly aimed at calculating the effect of the short-term reviews on DSR and not for scheduling short-term intervals.

He has also stated that modeling short-term memory requires more data and that such data is limited.

Besides, most of the researchers have focused on long-term memory rather than short-term memory. So, there is a very sparse knowledge base to build upon.

So, it can be said that FSRS may not be better at calculating short-term intervals than the user. It may even be worse.

All of this implies that it won’t be prudent for Anki to remove the (re)learning steps setting, at least not in the near future.

However, if the user decides to clear the (re)learning steps field, then we can allow FSRS to control the short-term scheduling. In that case, it will be more like an experimental version of short-term FSRS scheduler.

3 Likes

In this patch version, the Browse window “Update memory state and reschedule” command fails. I verified that it works fine in the currently published version.

Debug Info
Anki 24.06.2 (33a92379)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: Windows-10-10.0.22631

Traceback (most recent call last):
  File "aqt.taskman", line 142, in _on_closures_pending
  File "aqt.taskman", line 86, in <lambda>
  File "C:\Users\---\AppData\Roaming\Anki2\addons21\759844606\schedule\reschedule.py", line 243, in on_done
    finish_text = future.result()
  File "concurrent.futures._base", line 439, in result
  File "concurrent.futures._base", line 391, in __get_result
  File "concurrent.futures.thread", line 58, in run
  File "C:\Users\---\AppData\Roaming\Anki2\addons21\759844606\schedule\reschedule.py", line 249, in <lambda>
    lambda: reschedule_background(
  File "C:\Users\---\AppData\Roaming\Anki2\addons21\759844606\schedule\reschedule.py", line 281, in reschedule_background
    fsrs.set_load_balance(did_query=did_query)
  File "C:\Users\---\AppData\Roaming\Anki2\addons21\759844606\schedule\reschedule.py", line 71, in set_load_balance
    self.DM.config_dict_for_deck_id(did)["easyDaysPercentages"]
KeyError: 'easyDaysPercentages'

===Add-ons (active)===
(add-on provided name [Add-on folder, installed at, version, is config changed])
AnkiWebView Inspector ['31746032', 2023-06-27T12:26, 'None', '']
Card Info During Review ['2179254157', 2024-09-27T02:51, 'None', '']
FSRS Helper ['759844606', 2024-12-01T07:29, 'None', mod]
HyperTTS - Add speech to your flashcards ['111623432', 2024-10-03T19:54, 'None', mod]
Image Occlusion Enhanced ['1374772155', 2022-04-09T00:15, 'None', '']
Inline media ['683715045', 2022-07-24T16:24, 'None', mod]
Remove card history ['2089200096', 2023-10-18T20:15, 'None', '']
Review Heatmap ['1771074083', 2022-06-29T18:43, 'None', '']

===IDs of active AnkiWeb add-ons===
111623432 1374772155 1771074083 2089200096 2179254157 31746032 683715045 759844606

===Add-ons (inactive)===
...

Jarrett has stopped supporting the add-on in Anki versions before 24.11. This version is based on a newer codebase of the add-on, which works only in 24.11+.

1 Like

Is that so? I haven’t seen that announced anywhere. The add-on page doesn’t reflect it, and neither does this call for testers. I’ve been testing versions of the add-on for Jarrett to get the step stats working as recently as last week, so I’m surprised to hear it.

I see, thank you for this information. I may have to reconsider if it’s worth it to let FSRS handle the (re)learning steps on its own after all.

I make a separate branch for 24.11+

2 Likes

So does that mean I shouldn’t expect this patched version to work? And you’re only looking for testers using 24.11?

Yeah. It only works on 24.11+ because the add-on is based on the built-in easy days now.

1 Like