Financial product recommendation engine for African SMEs — collaborative filtering, matrix factorization, neural CF, hybrid model with cold-start support, MLflow model registry, and FastAPI web interface.
# MicroLend Recommender
> Financial product recommendation engine for African SMEs — collaborative filtering, matrix factorization, neural CF, and hybrid approaches with cold-start support and MLflow model registry.
---
## Table of Contents
- Business Problem
- Architecture
- Dataset
- Models
- Results
- Quick Start
- CLI Reference
- MLflow Tracking & Model Registry
- REST API
- Tech Stack
---
## Business Problem
Over **50 million SMEs** across Sub-Saharan and North Africa lack access to tailored financial products. Microfinance institutions (MFIs) typically offer the same 2–3 products to all clients — personalization is near zero and adoption rates stay chronically low.
**This project applies recommendation system techniques to microfinance**, matching each SME to the financial products most likely to fit their profile and needs:
| Without Recommender | With Recommender |
|---|---|
| Same products pushed to everyone | Personalized ranking per SME |
| Loan officers rely on intuition | Data-driven similarity matching |
| Cold-start = no offer | Cold-start bootstrapped from profile |
| High default risk from product mismatch | Risk-adjusted scoring |
**Expected impact:** 25–40% improvement in product adoption rates, 15–20% reduction in defaults through better product-client matching.
---
## Architecture
```
Raw Data (CRM log + SME profiles)
│
▼
┌─────────────────────────────┐
│ Data Layer │
│ sme_profiles.csv │
│ sme_financial_profile.csv │ ──► DataLoader ──► Merged SME features
│ product_interactions.csv │ ──► build_ratings_long() ──► User-item matrix
│ product_catalog.csv │
└─────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ Model Layer │
│ │
│ ┌─────────────┐ ┌──────────────┐ ┌───────────┐ │
│ │ User-based │ │ Item-based │ │ Matrix │ │
│ │ CF │ …