{% assign invalid_analytics_dates = false %}{% for row in site.data.dashboards.analytics %}{% assign calendar_date = row.date | date: '%Y-%m-%d' %}{% assign calendar_epoch = row.date | date: '%s' %}{% if calendar_date != row.date or calendar_epoch == row.date %}{% assign invalid_analytics_dates = true %}{% endif %}{% endfor %} {% if site.data.dashboards.analytics == empty %}
No analytics data is available in this snapshot.
{% elsif invalid_analytics_dates %}Analytics data unavailable: observation dates must be valid calendar dates.
{% else %} {% assign initial = site.data.dashboards.analytics | where_exp: 'item', 'item.date >= "2026-10-22" and item.date <= "2026-10-28"' %} {% assign categories = site.data.dashboards.categories | uniq %} {% assign expected_dates = '2026-10-22,2026-10-23,2026-10-24,2026-10-25,2026-10-26,2026-10-27,2026-10-28' | split: ',' %} {% assign missing_initial = 0 %} {% for date in expected_dates %}{% assign daily_observations = initial | where: 'date', date %}{% for category in categories %}{% assign matching_observations = daily_observations | where: 'category', category %}{% if matching_observations == empty %}{% assign missing_initial = missing_initial | plus: 1 %}{% endif %}{% endfor %}{% endfor %} {% assign previous = site.data.dashboards.analytics | where_exp: 'item', 'item.date >= "2026-10-15" and item.date <= "2026-10-21"' %} {% assign previous_dates = '2026-10-15,2026-10-16,2026-10-17,2026-10-18,2026-10-19,2026-10-20,2026-10-21' | split: ',' %} {% assign missing_previous = 0 %} {% for date in previous_dates %}{% assign daily_previous = previous | where: 'date', date %}{% for category in categories %}{% assign matching_previous = daily_previous | where: 'category', category %}{% if matching_previous == empty %}{% assign missing_previous = missing_previous | plus: 1 %}{% endif %}{% endfor %}{% endfor %} {% assign numeric_fields = 'sessions,downloads,completions,duration_seconds' | split: ',' %} {% assign precision_error = false %}{% assign invalid_numeric = false %}{% assign precision_limit = 9007199254740991 %} {% for field in numeric_fields %} {% assign field_total = 0 %} {% for row in initial %}{% assign value = row[field] %}{% assign whole = value | floor %}{% if value == nil or value < 0 or value != whole %}{% assign invalid_numeric = true %}{% elsif value > precision_limit %}{% assign precision_error = true %}{% else %}{% assign field_total = field_total | plus: value %}{% if field_total > precision_limit %}{% assign precision_error = true %}{% endif %}{% endif %}{% endfor %} {% if missing_initial == 0 and missing_previous == 0 %} {% assign field_total = 0 %} {% for row in previous %}{% assign value = row[field] %}{% assign whole = value | floor %}{% if value == nil or value < 0 or value != whole %}{% assign invalid_numeric = true %}{% elsif value > precision_limit %}{% assign precision_error = true %}{% else %}{% assign field_total = field_total | plus: value %}{% if field_total > precision_limit %}{% assign precision_error = true %}{% endif %}{% endif %}{% endfor %} {% endif %} {% endfor %} {% assign data_error_message = '' %} {% assign metrics_unavailable = false %}{% if invalid_numeric or precision_error %}{% assign metrics_unavailable = true %}{% endif %} {% if invalid_numeric %}{% assign data_error_message = 'Analytics observations must be nonnegative whole numbers.' %}{% elsif precision_error %}{% assign data_error_message = 'Analytics totals exceed supported safe integer precision.' %}{% endif %}Interactive dashboard controls are unavailable. Reload to try again.
{% if data_error_message != empty %}{{ data_error_message }}{% elsif initial == empty %}No observations are available for the selected range and category.{% elsif missing_initial > 0 %}Partial data: {{ missing_initial }} expected observation{% if missing_initial == 1 %} is{% else %}s are{% endif %} missing. Totals use available observations.{% else %}Published source data is shown below.{% endif %}
Counts are synthetic. Completion rate = completed tasks ÷ sessions; mean duration is weighted by session count.
| Date | Category | Sessions | Downloads | Completed tasks |
|---|---|---|---|---|
| {{ row.date | escape }} | {{ row.category | escape }} | {{ row.sessions }} | {{ row.downloads }} | {{ row.completions }} |
| {{ row.date | escape }} | {{ row.category | escape }} | {{ row.sessions }} | {{ row.downloads }} | {{ row.completions }} |