Skip to content

wearnur/customer-reactivation-analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

🔄 Customer Reactivation Analyzer

Find which past customers to contact first. Drop in a CSV from your CRM and get a prioritized list of reactivation targets scored by recency, revenue, and loyalty.

Built for service businesses (HVAC, plumbing, landscaping, cleaning, etc.) but works with any customer list.

Quick Start

# Download
git clone https://github.com/wearnur/customer-reactivation-analyzer.git
cd customer-reactivation-analyzer

# Run on your customer export
python3 reactivate.py your_customers.csv

# Get a markdown report
python3 reactivate.py your_customers.csv --format markdown --output report.md

# Get JSON for automation
python3 reactivate.py your_customers.csv --format json --output report.json

No dependencies. Pure Python 3.6+. No pip install needed.

What It Does

  1. Auto-detects your CSV columns — Customer name, email, phone, last service date, revenue, service count
  2. Scores each customer 0-100 based on three factors:
    • Recency (0-40 pts): Sweet spot is 3-18 months since last service
    • Value (0-35 pts): Higher lifetime revenue = higher priority
    • Frequency (0-25 pts): Repeat customers are more likely to return
  3. Categorizes into tiers:
    • 🔥 Hot (70+) — Contact within 48 hours
    • 🟡 Warm (45-69) — Contact within 1 week
    • 🔵 Cool (25-44) — Include in next campaign
    • Cold (<25) — Low priority

Example Output

🔍 Analyzing customers.csv...
✅ Analyzed 847 customers
   🔥 142 hot leads  |  🟡 289 warm leads
   💰 $1,247,300 potential revenue at risk

Rank  Customer                Score  Tier     Last       Revenue      Top Reason
─────────────────────────────────────────────────────────────────────────────────
1     Brown Residence         95     🔥 Hot    10.2mo     $5,600       Lapsed 10 months — good candidate
2     Clark Estate            95     🔥 Hot    9.4mo      $6,700       Lapsed 9 months — good candidate
3     Garcia Property         88     🔥 Hot    5.0mo      $3,200       Prime reactivation window (5 months)
...

CSV Format

The tool auto-detects columns. Your CSV just needs headers that roughly match these:

What Accepted Headers
Customer name Customer, Name, Client, Contact
Email Email
Phone Phone, Mobile, Cell
Last service Last Service Date, Date, Last Visit, Completed
Revenue Revenue, Total, Amount, Spent, Value
Service count Count, Visits, Jobs, Orders, Services

Works with exports from Jobber, ServiceTitan, Markate, HouseCall Pro, and most CRMs.

Output Formats

Table (default)

python3 reactivate.py customers.csv

Markdown Report

python3 reactivate.py customers.csv -f markdown -o report.md

Generates a professional report with summary stats, prioritized table, and recommended actions.

JSON

python3 reactivate.py customers.csv -f json -o report.json

Machine-readable output for integration with other tools.

Options

python3 reactivate.py customers.csv [OPTIONS]

Arguments:
  file              CSV file with customer data

Options:
  --top N           Show top N customers (default: 50)
  --format FORMAT   Output format: table, markdown, json
  --output FILE     Save report to file
  --version         Show version

The Science Behind the Scoring

The scoring model is based on RFM analysis (Recency, Frequency, Monetary value), the gold standard in customer reactivation:

  • 3-6 months lapsed is the prime window — customers still remember you but might be shopping around
  • High-value repeat customers are 5-7x more likely to return than one-time buyers
  • After 24 months, reactivation probability drops below 5% for most service businesses

Want the Full Automated Solution?

This tool tells you who to contact. ReachBack does the rest:

  • 🤖 AI-generated personalized messages for each customer
  • 📱 Automated text & email campaigns
  • 📊 Response tracking with hot/warm/cold lead scoring
  • 📅 Smart scheduling that spaces out contacts
  • 💰 ROI calculator: See how much your past customers are worth →

License

MIT — use it however you want.

About

Analyze your CRM export and find which past customers to reactivate first. Scores by recency, value, and loyalty. No dependencies — pure Python.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages