{% extends "base.html" %} {% block title %}Analytics · outreach-desk{% endblock %} {% macro pct(x) %}{% if x is none %}-{% else %}{{ "%.0f" | format(x * 100) }}%{% endif %}{% endmacro %} {% block content %}

Analytics

Reply rate = contacted people who replied (auto-replies and bounces excluded). Positive = interested, meeting or referral.

{% for r in rows %}
{{ r.campaign.name }} {{ r.campaign.mode }}
Contacted
{{ r.contacted }}
Emails sent
{{ r.sent }}
Reply rate
{{ pct(r.reply_rate) }}
Positive rate
{{ pct(r.positive_rate) }}
{% if r.steps %} {% for s in r.steps %} {% endfor %}
StepSentReplies after this step
{{ "First email" if s.step == 0 else "Follow-up " ~ s.step }}{{ s.sent }}{{ s.replies }}
{% endif %}
{% else %}
No campaigns yet.
{% endfor %}

Reply labels

{% for label, n in labels.most_common() %}{{ label | replace("_", " ") }} · {{ n }}{% else %}No replies yet.{% endfor %}

Decisions

Every typed decision (guardrail, lead fit, reply triage) is logged with the backend that answered and how long it took.

{% for d in decisions %} {% else %} {% endfor %}
BackendDecisionCountAvg latencySlowest
{{ d.backend }}{{ d.kind }}{{ d.count }} {{ "%.0f" | format(d.avg_ms) }} ms{{ "%.0f" | format(d.max_ms) }} ms
No decisions yet.
{% endblock %}