{% if analytics %}

Search Analytics

Range:
← Back to Search
{% set summary = analytics.summary or {} %}
Total Searches
{{ summary.total_searches or 0 }}
Unique Queries
{{ summary.unique_queries or 0 }}
Avg Results
{{ summary.avg_results or 0 }}
Avg Time (ms)
{{ summary.avg_time_ms or 0 }}
{% set mode_dist = summary.mode_distribution or {} %} {% if mode_dist %} {% set mode_total = mode_dist.values() | sum %}
Search Mode Distribution
{% for mode_name, count in mode_dist.items() %}
{{ mode_name }}
{{ count }}
{{ '%.1f' % (count / mode_total * 100) if mode_total else 0 }}% of searches
{% endfor %}
{% endif %}
Top Searches (Last {{ days }} Days)
{% set queries = (analytics.top_queries or {}).get('queries', analytics.top_queries or []) %} {% if queries is mapping %}{% set queries = queries.get('queries', []) %}{% endif %} {% if queries %}
{% for q in queries %}
#{{ loop.index }}
{{ q.query }}
{{ q.search_count }} searches · {{ q.avg_results }} avg results · {{ q.avg_time_ms }}ms avg time
{% endfor %}
{% else %}
No data available yet.
{% endif %}
Dead End Searches

Queries that returned 3 or fewer results

{% set dead_ends = (analytics.dead_ends or {}).get('queries', analytics.dead_ends or []) %} {% if dead_ends is mapping %}{% set dead_ends = dead_ends.get('queries', []) %}{% endif %} {% if dead_ends %}
{% for q in dead_ends %}
#{{ loop.index }}
{{ q.query }}
{{ q.search_count }} searches · {{ q.avg_results }} avg results
Low Results
{% endfor %}
{% else %}
No dead ends found.
{% endif %}
Trends (Last {{ days }} Days)

Daily searches and average latency

{% set points = (analytics.trends or {}).get('points', []) %} {% if points %} {% set max_searches = points | map(attribute='searches') | max or 1 %}
{% for p in points %} {% set h = ((p.searches or 0) / max_searches * 100) | int %} {% set bar_w = ((880 / points|length) | int) or 2 %} {% set x = 10 + loop.index0 * bar_w %} {{ p.day }}: {{ p.searches }} searches {% endfor %}
{% else %}
No data available yet.
{% endif %}
Heatmap

Search activity by day-of-week and hour-of-day (UTC)

{% set cells = (analytics.heatmap or {}).get('cells', []) %} {% if cells %} {% set max_cell = cells | map(attribute='searches') | max or 1 %}
{% set days_labels = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] %} {% for day_label in days_labels %} {{ day_label }} {% endfor %} {% for cell in cells %} {% set opacity = (cell.searches / max_cell * 0.9 + 0.1) if cell.searches else 0.05 %} {{ days_labels[cell.dow] }} {{ cell.hour }}:00 — {{ cell.searches }} searches {% endfor %}
{% else %}
No data available yet.
{% endif %}
Tool Filter Comparison

How often you search within a specific tool filter

{% set tools = (analytics.tools or {}).get('tools', []) %} {% if tools %}
{% for t in tools %}
{{ t.tool_filter or 'All' }}
{{ t.searches }} searches · {{ t.avg_time_ms }}ms avg · {{ t.avg_results }} avg results
{% endfor %}
{% else %}
No data available yet.
{% endif %}
Topics

Clusters of repeated query themes

{% set clusters = (analytics.topics or {}).get('clusters', []) %} {% if clusters %}
{% for c in clusters %}
{{ c.representative_query }} {{ c.searches }} searches
{% for term in (c.top_terms or [])[:5] %} {{ term }} {% endfor %}
{% endfor %}
{% else %}
No topic data available yet.
{% endif %}
{% else %}

Analytics data unavailable. Ensure analytics tracking is enabled in settings.

← Back to Search
{% endif %}