File size: 3,137 Bytes
c4eb6cb
 
 
 
 
 
 
 
 
 
 
39b132c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a2a8980
39b132c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
---
title: Email Performance Predictor
emoji: πŸ“§
colorFrom: indigo
colorTo: green
sdk: gradio
sdk_version: "4.25.0"
app_file: app.py
pinned: false
---

# πŸš€ Email Performance Predictor - Forks Over Knives

An AI-powered email marketing tool that predicts email performance and provides actionable recommendations based on historical campaign data.

## 🎯 Features

- **Performance Prediction**: Predict open rates, click rates, and unsubscribe rates
- **Sentiment Analysis**: Analyze email sentiment using DistilBERT
- **Content Classification**: Categorize emails as engaging, promotional, informative, etc.
- **Smart Recommendations**: Get actionable tips to improve email performance
- **Real-time Analysis**: Instant feedback on your email content

## πŸ“Š Model Performance

The app uses machine learning models trained on 311 email campaigns:

- **Click Rate Model**: Ridge Regression (RΒ² = 0.28)
- **Open Rate Model**: Random Forest (RΒ² = -0.06)
- **Unsubscribe Rate Model**: Random Forest (RΒ² = -0.02)

*Note: Models show varying performance. Click rate predictions are most reliable.*

## πŸ› οΈ How to Use

1. **Subject Line**: Enter your email subject line
2. **Preview Text**: Add preview text (optional)
3. **Campaign Name**: Enter your campaign name
4. **Day of Week**: Select when you plan to send
5. **Email List**: Choose your target audience
6. **Send Time**: Specify send time (e.g., "9:00 AM")
7. **Recipients**: Enter total recipient count
8. **Target Metric**: Choose what you want to optimize for

## πŸ“ˆ What You Get

- **Performance Score**: 0-100 score based on predicted metrics
- **Sentiment Analysis**: Positive/negative sentiment with confidence
- **Content Classification**: How your email is categorized
- **Recommendations**: Specific tips to improve performance
- **Email Details**: Summary of key metrics

## πŸ”§ Technical Details

### Models Used
- **Sentiment**: DistilBERT (Hugging Face)
- **Classification**: BART-large-MNLI (Zero-shot)
- **Performance**: Custom trained models on campaign data

### Features Extracted
- Text length and word count
- Punctuation usage (!, ?)
- Emoji and number counts
- Capitalization ratio
- Send timing
- Audience segmentation

## πŸ“ Example Predictions

**High-performing email:**
- Subject: "Wrap Up Your Monday with Flavor 🌯πŸ₯‘"
- Predicted Click Rate: ~1.24%
- Score: 85/100

**Low-performing email:**
- Subject: "Newsletter Update"
- Predicted Click Rate: ~0.3%
- Score: 45/100

## ⚠️ Limitations

- Models trained on limited dataset (311 campaigns)
- Performance varies by metric type
- Predictions are estimates based on historical patterns
- Best used as guidance alongside marketing expertise

## πŸš€ Deployment

This app is designed for Hugging Face Spaces. Upload all files and it will automatically deploy.

### Required Files
- `app.py` - Main application
- `requirements.txt` - Dependencies
- `*.pkl` files - Trained models and preprocessors

## πŸ“ž Support

For questions about the model or improvements, refer to your campaign data analysis and model training logs.

---
*Built with Gradio, Transformers, and Scikit-learn*