{% extends "study/base.html" %} {% block title %}Statistics{% endblock %} {% block content %}

Statistics{% if deck %}: {{ deck.full_name }}{% endif %}

{{ s.today_reviews }}reviews today
{{ s.total_reviews }}reviews total
{% if s.true_retention is not None %}{% widthratio s.true_retention 1 100 %}%{% else %}–{% endif %}true retention
{{ s.streak }}day streak
{% if s.avg_seconds %}{{ s.avg_seconds|floatformat:1 }}s{% else %}–{% endif %}per answer

Activity

{{ s.heatmap_svg|safe }}

Forecast (next 30 days)

{{ s.forecast_svg|safe }}

Day 0 includes overdue cards.

Retention by interval

{{ s.retention_svg|safe }}

Pass rate of review cards grouped by days since the previous review.

Card maturity

{% for k, v in s.maturity.items %}{% endfor %}
{{ k|capfirst }}{{ v }}

Mature = interval ≥ 21 days.

Answer buttons

Again{{ s.ratings.1 }}
Hard{{ s.ratings.2 }}
Good{{ s.ratings.3 }}
Easy{{ s.ratings.4 }}

Success rate by hour

{{ s.hourly_svg|safe }}

Reviews by hour

{{ s.hourly_count_svg|safe }}

Leeches (≥ 8 lapses)

{% csrf_token %}
{% for st in s.leeches %} {% empty %}{% endfor %}
NoteDeckLapsesTagged
{% if st.card.deck.owner_id == user.id %}{{ st.card.note|truncatechars:60 }}{% else %}{{ st.card.note|truncatechars:60 }}{% endif %}{{ st.card.deck.full_name }}{{ st.lapses }}{% if 'leech' in st.card.note.tag_list %}yes{% else %}no{% endif %}
No leeches. Nice.
{% endblock %}