Open app/templates/dashboard.html and replace its entire contents with: {% extends "base.html" %} {% block title %}Dealer Pulse – Loyalty Manager{% endblock %} {% block content %}

Retention Overview

{% if latest %}

Contact Rate

{{ "%.1f" | format(latest.contact_rate or 0) }}%

From {{ latest.total_contacts }} contacts

Reply Rate

{{ "%.1f" | format(latest.reply_rate or 0) }}%

Replies: {{ latest.total_replies }}

Retention Pen

{{ "%.1f" | format(latest.retention_pen_pct or 0) }}%

Drop-off total: {{ latest.drop_off_total }}

Latest month: {{ latest.month_key }}

{% else %}

No data yet – upload your first VWFS snapshot to vwfs_snapshot.

{% endif %}

Campaign Loader

Live and upcoming campaigns driven from the database.

Live Campaigns

  • Loading…

Upcoming / Planned

  • Loading…

Data Upload

Upload the latest finance book CSV. The file will be sent to secure storage and queued for processing.

{% endblock %}