Where can I see my accuracy?

153 views
Skip to first unread message

axel.m...@gmail.com

unread,
Aug 24, 2018, 7:37:46 AM8/24/18
to AnkiDroid
In the statistics I can see my accuracy for the current day (total number of reviewed cards and the percentage of cards answered with good or easy).

But how can I see my total accuracy over the lifespan of the deck? I just need two numbers:
1) total cards reviewed (all time total)
2) number of cards answered with 'again'

Then I can calculate my accuracy by myself. But how to get these numbers?

Mike Hardy

unread,
Aug 24, 2018, 9:51:48 AM8/24/18
to anki-a...@googlegroups.com

Hmm - I see what you mean, on the statistics page you get lots of stats
for month / year / deck life, but the accuracy counts aren't included in
that.

There is some work to add a StatsProvider to AnkiDroid which would allow
3rd party apps to pull the data and generate whatever stats they want,
but it hasn't been merged yet, so far only features counts of card
types, and there are no apps built to consume the data and generate
information

If the other platforms (AnkiWeb / AnkiDesktop) don't allow it then the
best way I can think of is either to code up a pull request that adds
accuracy statistics to the other reporting periods in the statistics
areas, or to install a database browser like
https://play.google.com/store/apps/details?id=com.gevge.g8.sqlite_editor
(or use https://sqlitebrowser.org/ on a desktop) and run the query you
want directly (based on database structure from here
https://github.com/ankidroid/Anki-Android/wiki/Database-Structure)

Don't be too afraid of the database thing, if you're looking to do stats
on all notes, you'll just work with the review counts vs the lapse
counts and you're done

-Mike

axel.m...@gmail.com

unread,
Aug 25, 2018, 1:13:07 AM8/25/18
to AnkiDroid
Thanks a lot for that hint with the sql app!! I installed this app
https://play.google.com/store/apps/details?id=com.lastempirestudio.sqliteprime

Which is fast and without ads. When I open the "collection.anki2" file and search for

SELECT *
FROM revlog
WHERE ease <= 1

I get 1892 entries. This are the cards marked with "again", right?

So when I didvide it with the total number in "revlog" (28717) I have a total accuracy of 93.41%

Seems matching with what I normally see in my daily stats (92% - 96%)

Can I somehow include the calculation into the sql query so that I just need to click in the query to see my accuracy?

axel.m...@gmail.com

unread,
Aug 25, 2018, 4:01:38 AM8/25/18
to AnkiDroid
Ok, here the sql query:

SELECT ease, ((SELECT count (*) FROM revlog WHERE ease > 1 ) * 100.00) / count (*) as Accuracy
FROM revlog

That will show the total accuracy for all reviews in the review log.

Thank again @Mike for the tip with sql

Mike Hardy

unread,
Aug 25, 2018, 8:57:38 AM8/25/18
to anki-a...@googlegroups.com

That's great, I'm glad that worked out! Maybe we can add this to the new stats provider or to the main stats area if someone wanted to try  pull request for it

-Mike
--
+14157209408 (WhatsApp and US phone)
--
You received this message because you are subscribed to the Google Groups "AnkiDroid" group.
To unsubscribe from this group and stop receiving emails from it, send an email to anki-android...@googlegroups.com.
To post to this group, send email to anki-a...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/anki-android/0fc9b71f-7b17-4f86-be40-905052ea69dc%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

axel.m...@gmail.com

unread,
Aug 25, 2018, 10:53:46 AM8/25/18
to AnkiDroid
Yes, hopefully that will be included.

For now this sql query is quite useful:

SELECT count(*) as TotalReviews,
( SELECT count (*)
FROM revlog
WHERE ease > 1
) as CorrectAnswered,
( SELECT count (*)
FROM revlog
WHERE ease <= 1
) as WrongAnswered,
(
( SELECT count (*)
FROM revlog
WHERE ease > 1 ) * 100.00
) / count (*) as Accuracy
FROM revlog

It shows the number of total, correct and false reviews and the total accuracy.

Do you know how to get the deck number? I would like to group the output by deck number so that I can see the accuracy for every single deck.

Mike Hardy

unread,
Aug 25, 2018, 11:47:39 AM8/25/18
to anki-a...@googlegroups.com

I think you join cards to notes to decks

-Mike
--
+14157209408 (WhatsApp and US phone)

-----Original Message-----
From: axel.m...@gmail.com
To: AnkiDroid <anki-a...@googlegroups.com>
Sent: Sat, 25 Aug 2018 9:53
Subject: Re: [Ankidroid] Where can I see my accuracy?

--
You received this message because you are subscribed to the Google Groups "AnkiDroid" group.
To unsubscribe from this group and stop receiving emails from it, send an email to anki-android...@googlegroups.com.
To post to this group, send email to anki-a...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/anki-android/e4d6b2d7-f2c7-4e73-a2f7-3b1b321da0a8%40googlegroups.com.

axel.m...@gmail.com

unread,
Sep 5, 2018, 3:16:41 AM9/5/18
to AnkiDroid
Interesting. Using this query:
___
SELECT count(*) as TotalReviews,

( ( SELECT count (*)
FROM revlog
WHERE ease > 1 ) * 100.00
) / count (*) as OverallAcc,

(( SELECT count (*)
FROM revlog
WHERE ease > 1 AND lastIvl > 60 ) * 100.00
) / ( SELECT count (*)
FROM revlog
WHERE lastIvl > 60 ) as Older60Acc,

( select ( 100.00 - ( sum(lapses) * 100.00 ) / sum(reps) ) from cards ) as LapsesAcc,

( SELECT count (*)
FROM revlog
WHERE ease > 1
) as TotalCorrect,

( SELECT count (*)
FROM revlog
WHERE ease <= 1
) as TotalWrong,

( select count(*) from cards ) as TotalCards,

( select sum(reps) from cards ) as TotalReps,

( select sum(lapses) from cards ) as TotalLapses

FROM revlog
___

Gives me:
Total accuracy for all reviews: 93.8%
Accuracy for cards older 60 days: 93.2%
Accuracy based on lapses vs. reviews: 97.5%

So the lapses don't seem to be a very valuable information since they ignore wrong answers for new learned cards and multiple wrong answers in a row.

The "old cards" accuracy (I've chosen 60 days) is maybe the most important number since I want to know how many cards I "really" memorized.

Do you know what is supposed to be a good rating for old cards? What accuracy do you have there?

Mike Hardy

unread,
Sep 5, 2018, 8:38:39 AM9/5/18
to anki-a...@googlegroups.com

No idea what's good but I'm just about 95.8% older than 60 on 127,000 or so reviews. Objectively, if SRS doesn't ever waste my time and it does not seem to, to me but I still retain almost 96% of my subject, I'm pleased

Would you like to see something like this in the stats provider and have it programmatically available or is sql completely handling your use case?

-Mike
--
+14157209408 (WhatsApp and US phone)

-----Original Message-----
From: axel.m...@gmail.com
To: AnkiDroid <anki-a...@googlegroups.com>
Sent: Wed, 05 Sep 2018 2:16
Subject: Re: [Ankidroid] Where can I see my accuracy?

--
You received this message because you are subscribed to the Google Groups "AnkiDroid" group.
To unsubscribe from this group and stop receiving emails from it, send an email to anki-android...@googlegroups.com.
To post to this group, send email to anki-a...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/anki-android/895c110c-4d82-4b34-95bd-95906721fb7a%40googlegroups.com.

axel.m...@gmail.com

unread,
Sep 6, 2018, 8:05:28 AM9/6/18
to AnkiDroid
Yes, of course it would be great to have these stats available directly in the app or via stats provider.

I think the following stats are important:

Stats for all decks:
1) number of total reviews
2) number of correct reviews (ease > 1)
3) number of wrong reviews (ease = 1)
4) number of lapses (ease = 1 for cards with ease > 1 in the last review)
5) Total accuracy

The same for EACH deck as well (for the whole lifetime of the deck). I couldn't manage to get this specific data from the database. So would be nice to have that information via stats provider.

BTW: Is the stats provider online already?

Mike Hardy

unread,
Sep 6, 2018, 8:36:08 AM9/6/18
to anki-a...@googlegroups.com

Stats provider isn't merged yet but it's good to hear what is needed so it's on target. I personally want detailed stats per study session that show me time, reviews and accuracy as I reward my kid with screen time for studying but only if he puts real effort in, and scaled with duration 😁. Very different case

Your points on forecast accuracy are interesting, is that with advanced stats on or not?

-Mike
--
+14157209408 (WhatsApp and US phone)

-----Original Message-----
From: axel.m...@gmail.com
To: AnkiDroid <anki-a...@googlegroups.com>
Sent: Thu, 06 Sep 2018 7:05
Subject: Re: [Ankidroid] Where can I see my accuracy?

--
You received this message because you are subscribed to the Google Groups "AnkiDroid" group.
To unsubscribe from this group and stop receiving emails from it, send an email to anki-android...@googlegroups.com.
To post to this group, send email to anki-a...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/anki-android/1c6380c6-d3a1-44b8-ae01-22b560ebe770%40googlegroups.com.

axel.m...@gmail.com

unread,
Apr 24, 2019, 9:30:45 AM4/24/19
to AnkiDroid
Hey, just wanted to ask if there are any news regarding the stats provider. Can I test it already?

Mike Hardy

unread,
Apr 24, 2019, 11:09:42 PM4/24/19
to anki-a...@googlegroups.com

Ah - unfortunately no:


https://github.com/ankidroid/Anki-Android/pull/5057


I got the API working really well but I went for gold by also
demonstrating usage in the APISample project, and my UI/UX there sucked
so it got held up, then I got sucked into non-AnkiDroid work.


I should tease apart that PR into just the API and the APIsample as a
separate thing, because I think the API work is nearly done


-Mike
Reply all
Reply to author
Forward
0 new messages