matthayes / anki_progress_stats

Anki plugin that adds progress stats for learned and matured cards
https://ankiweb.net/shared/info/266436365
Apache License 2.0
27 stars 6 forks source link

tracking long term progress for a collection while using filtered decks #27

Open ankiaddict opened 4 years ago

ankiaddict commented 4 years ago

Hi Matt, Thank you for building this. I dove into Anki a month ago to continue flashcard studying. Getting up to speed on a completely new and far more complex and powerful app has been challenging. I have a question on this extension because I am not sure if I am (1) not using correctly or (2) if what I want to do is not possible.

I am gradually "re-filtering" 14,000 flashcards (250 separate lists ("decks"). I tagged half the decks I previously learned, to start with those. So I used the filtered deck feature to make a deck of 1000 at a time filtered on the tag "learned" I created.

I noticed that after I rebuild the deck, the advancing status of the cards which I understand are supposed to be returned to their original deck do not seem to retain their advancing status. When I look at the statistics window, at the far bottom pie graph, and select "collection" it does not show how cards have advanced to the learning phase. They seem to reset. Is it possible to continue using the filtered deck option to study based on a tag filter and retain the spaced repetition learning data? It seems that should be the case, but I have studied the manual and looked at the menu options and I do not see a setting that could be changed to study a large body of cards and track your progress over time.

Thank you

Best, Matt

matthayes commented 4 years ago

Hi, thanks for reaching out. I don't fully understand your question and whether this is a question about Anki or a question about this plugin. Can you attach some screenshots to help me understand?

I noticed that after I rebuild the deck, the advancing status of the cards which I understand are supposed to be returned to their original deck do not seem to retain their advancing status.

Can you explain what you mean by "advancing status" here?

One thing that will probably be useful for you to know is that my plugin considers a card "learned" once it has passed through all the learning steps for the very first time. If the card returns to the learning phase and you pass through the learning steps again it does not count towards the "learned" graph in the plugin. So if you move a bunch of cards to a filtered deck and relearn them it's not going to impact the "learned" graph.

ankiaddict commented 4 years ago

I appreciate you responding.

I think my question is about how the extension works with Anki. I don't completely understand yet how every aspect of Anki functions, so that bleeds over to my uncertainty with some of the extension processes.

The attachment below shows what I mean with tracking the category of cards in the collection which move from unseen, young, mature, to learned. I can see the statistics track the change while it is in review mode with a filtered deck--which I understand is basically "borrowing" cards from the other decks, based on however you filter with tags, etc. When the filtered deck is complete the cards which were studied get returned to their own decks . As I understand it, the metadata that tracks the learning stage of each card -- unseen, young, mature or learned status -- is not changed or reset. So in theory the pie chart should not change when the filtered deck is completed, but it seems to.

cardtype

When you say that your plug in tracks advancement of the card when it reaches "learned." Does that mean it will not indicate when cards are other and prior levels (young, mature, settled)?

I may not have my data structured to provide the statistics I am hoping Anki can provide, but I can't figure out how else a user would study a batch of data (using a filtered deck) and track overall progress for all the entire collection cards--unless the spaced repetition data is retained in each card. Do my questions make sense?

Thank you.

Best, Matt

ankiaddict commented 4 years ago

Oh, I found something else that helps explain - when I use the extension while "collection" is selected at the bottom, this is the bar graph for learned:

image

But further down at the bottom the pie graph shows a different representation of what should be the same information, correct?

image

Why wouldn't the number of "learned cards" be the same?

Thank you

Best, Matt

matthayes commented 4 years ago

Hey sorry for the late reply. Sharing those graphs helps. The numbers look off to me. It's possible this has something to do your use of filtered decks. Or perhaps the state of cards was reset in a way that screws up calculations. I've noticed that filtered decks can sometimes make the review history somewhat confusing to analyze. If you're interested in sharing your collection I could set up a secure way to send it to me and I can investigate what's going on. I'll explain below my observations and what the expected behavior is.

By the way, reading about Learning in the Anki manual is probably useful background reading.

What I define as a "Learned Card" in the graph above is a card that has passed through all the learning steps at least once. The lifecycle of a card as far as "Learned Card" is concerned is: 1) it is first unseen, then 2) you see it for the first time, after which it remains in the "learn" state until you have completed all the learning steps, 3) you complete all the learning steps for the first time, at which point it is now "learned" and it will increment a bar by 1 in the "Learned Card" graph. My plugin keeps track of the first time you learned a card and represents that moment by incrementing one of the bars by 1 in the graph. Once it is learned that's it; there's no going back. In Anki however, this isn't the end of the story. A card will first be young after you first learned it, but from there it can move into the states of learning, young, and mature depending on your answers. It will return to the learning steps once you forget the card.

I think what you're most interested in is the relationship between the "Learned Cards" and the "Card Types" pie chart. One big difference between these is that the "Learned Cards" shows how many cards you've learned over a time period, where "Card Types" represents the current state of your collection/deck, such as how many cards are currently being learned at this moment. Assuming the time period (i.e. month, year, lifetime) is set such that "Learned Cards" includes all moments when you first learned cards, then the following should roughly hold assuming everything is working correctly:

Total learned cards in "Learned Cards" graph ~= Mature + Young in Card Types pie chart

I say that this should "roughly hold" because it's possible you learned a card but later suspended it, or that you learned a card and then forgot it, returning it to the learning state. The "Learn" count in your pie chart is not distinguishing between cards you are learning for the first time and cards you are relearning.

For example, here are a couple graphs where this holds perfectly for one of my decks:

learned_cards_ex card_types_ex

Here you see that 236 + 4 = 240. So the graph and pie chart are totally consistent.

Looking at your graphs though, I see you learned 2018 cards in the last 30 days for the first time. But, the total number of Mature (70) and Young (814) cards is 884. Around 884 is what I would expect to see in the "Learned Cards" graph as the total. But even if we include Learn + Suspended + Buried we can't reach 2018.

It's hard for me to know why these numbers don't match without looking at the data. It's possible that the use of filtered decks is confusing the calculations somehow. Or it's possible that the card learning history / state was reset in some way and that confuses things.