This project was completed for Future Interns Data Science & Analytics – Task 3: Marketing Funnel & Conversion Performance Analysis.
The objective was to analyze campaign and customer response data, identify conversion drop-offs, compare channel performance, and recommend practical ways to improve lead-to-customer conversion.
This submission uses the Bank Marketing Campaign Dataset from the UCI Machine Learning Repository, a real-world dataset based on direct marketing campaigns conducted by a Portuguese banking institution.
- Dataset: Bank Marketing Campaign Dataset
- Source: UCI Machine Learning Repository
- Citation: Moro, S., Rita, P., & Cortez, P. (2014). Bank Marketing [Dataset]. UCI Machine Learning Repository. https://doi.org/10.24432/C5K306
- File used in this analysis:
bank-full.csvfrombank+marketing.zip - Records analyzed: 45,211
The business wants to understand:
- Where prospects drop off during the campaign funnel
- Which contact channels bring the best conversion efficiency
- Which customer segments convert best
- Which stages need optimization to improve conversion performance
Because the source dataset starts at the outbound contact stage rather than website traffic stage, the funnel in this project is defined as:
Campaign contacts → Engaged calls (≥120 sec) → High-intent calls (≥300 sec) → Conversions
- Python
- Pandas
- NumPy
- Matplotlib
- ReportLab
- Microsoft Word-compatible report generation
- Business KPI and conversion analysis
| KPI | Result |
|---|---|
| Total contacts | 45,211 |
| Conversions | 5,289 |
| Overall conversion rate | 11.7% |
| Engaged leads (≥120 sec) | 31,303 |
| Engagement rate | 69.2% |
| High-intent leads (≥300 sec) | 12,329 |
| High-intent share | 27.3% |
| Engaged → High-intent conversion | 39.4% |
| High-intent → Conversion | 42.9% |
| Best scaled channel | Cellular |
| Best scaled channel conversion rate | 14.9% |
Only 11.7% of campaign contacts converted. This indicates that growth will come more from better funnel design and targeting than from simply increasing campaign volume.
The Cellular channel delivered 29,285 contacts, 4,369 conversions, and a 14.9% conversion rate, making it the best channel at scale.
Prospects with a previous campaign outcome of success converted at 64.7%, far above the base rate. This segment should be prioritized.
Prospects reached only once converted at 14.6%, while leads contacted 6+ times converted at only 5.8%.
May produced the highest contact volume (13,766) but only 6.7% conversion. By contrast, Mar delivered the best conversion rate at 52.0%, although at lower volume.
Students converted at 28.7%, retirees at 22.8%, and customers with previous campaign success or stronger balance bands also showed better efficiency.
- Shift more effort toward cellular outreach. It delivers the strongest mix of scale and conversion quality.
- Create dedicated follow-up journeys for previously successful customers. This is the highest-quality segment in the data.
- Reduce over-contacting. If a lead crosses 4 contacts without engagement, change the script, offer, or cadence instead of repeating the same approach.
- Fix high-volume low-efficiency months. Review targeting, messaging, and campaign timing in months such as May and July.
- Prioritize high-converting segments. Tailor campaigns for students, retirees, and higher-balance customers.
- Use engagement as a live signal. Calls that pass 300 seconds show much stronger purchase intent and should move into priority follow-up workflows.
FUTURE_DS_03_marketing_funnel_conversion_analysis/
├── analysis/
│ ├── age_band_performance.csv
│ ├── analysis_summary.json
│ ├── balance_band_performance.csv
│ ├── campaign_performance.csv
│ ├── channel_performance.csv
│ ├── funnel_summary.csv
│ ├── housing_loan_performance.csv
│ ├── job_performance.csv
│ ├── month_performance.csv
│ ├── previous_outcome_performance.csv
│ └── segment_conversion_drivers.csv
├── charts/
│ ├── channel_performance.png
│ ├── funnel_dropoff.png
│ ├── key_drivers.png
│ └── monthly_performance.png
├── dashboard/
│ ├── Marketing_Funnel_Conversion_Dashboard.pdf
│ └── Marketing_Funnel_Conversion_Dashboard.png
├── data/
│ ├── raw/
│ │ ├── bank+marketing.zip
│ │ └── bank-full.csv
│ └── processed/
│ └── bank_marketing_funnel_ready.csv
├── docs/
│ ├── analysis_report.md
│ └── submission_summary.md
├── reports/
│ ├── Marketing_Funnel_Conversion_Analysis_Report.docx
│ └── Marketing_Funnel_Conversion_Analysis_Report.pdf
├── src/
│ └── marketing_funnel_analysis.py
├── .gitignore
├── README.md
├── README_Marketing_Funnel_Conversion_Analysis.md
└── requirements.txt
pip install -r requirements.txt
python src/marketing_funnel_analysis.pyUmuhire Gatesi Lyse
GitHub: Lyse777
