Skip to content

[FE-30] Churn risk dashboard: frontend #1214

Description

@yusuftomilola

Overview

Surface the churn risk data in the admin analytics dashboard so admins can identify at-risk members and take action (send campaign, offer discount, personal outreach) before they leave.

Context

  • Admin analytics page: frontend/app/admin/analytics/page.tsx
  • Email campaigns hook: frontend/lib/react-query/hooks/admin/campaigns/ (from FE-29)
  • Depends on BE-33 being implemented first

Tasks

  • Add an At-Risk Members section to the /admin/analytics page
  • Table columns: Name, Email, Last Booking Date, Days Since Last Booking, Risk Score, Quick Actions
  • Risk Score displayed as a progress-bar badge: green (0–33), amber (34–66), red (67–100)
  • Quick action buttons per row: Send Campaign (pre-fills the campaign composer at /admin/campaigns with this member as custom target), Mark Inactive (calls PATCH /users/:id/status)
  • Pagination for the table
  • Create useGetChurnRisk React Query hook

Files to Modify / Create

  • frontend/app/admin/analytics/page.tsx
  • New: frontend/lib/react-query/hooks/admin/analytics/useGetChurnRisk.ts

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions