# Financial Inclusion in Africa — Bank Account Prediction Pipeline
This competition is hosted on Zindi, a machine learning platform for data science challenges.
Here is the link to the competition: Financial Inclusion in Africa 🌾 - Knowledge
Ranked in the TOP 7%
---
Organized classification pipeline · Binary prediction · Multiple ML models with ensemble.
---
## Competition Overview
| Item | Details |
|---|---|
| Task | Predict whether an individual has or uses a **bank account** |
| Target | Binary classification: Yes / No |
| Geography | Multiple African countries (Kenya, Rwanda, Tanzania, Uganda) |
| Features | Demographics, socioeconomic, household, access indicators |
| Evaluation | Likely accuracy or ROC-AUC (standard binary classification) |
| Submission format | One row per `uniqueid` with predicted probabilities |
---
## Dataset
| File | Rows | Columns | Description |
|---|---|---|---|
| `Train_v2.csv` | ~33,000 | 10+ | Training set with target `bank_account` |
| `Test_v2.csv` | ~14,000 | 9+ | Test set — `bank_account` withheld |
**Key Features:**
- **Geography:** `country`, `location_type` (Rural/Urban)
- **Demographics:** `age_of_respondent`, `gender_of_respondent`, `marital_status`, `relationship_with_head`
- **Socioeconomic:** `job_type`, `education_level`, `household_size`
- **Access:** `cellphone_access`
- **Target:** `bank_account` (Yes/No)
---
## Pipeline Structure
```
pipeline/
├── 00_config.r # Libraries, paths, constants, seeds, utilities
├── 01_data_loading.r # Load Train_v2.csv and Test_v2.csv
├── 02_data_cleaning.r # Remove inconsistencies, impute, consolidate
├── 03_feature_engineering.r # Binning, interactions (age, income, geo, demo)
├── 04_feature_selection.r # Boruta, RFE, correlation analysis
├── 05_preprocessing.r # Encoding, scaling, prepare for models
├── 06_models.r # Train RF, Ranger, XGBoost, GLM, SVM, NB, GBM
├── 07_evaluation.r # Model leaderboard …