This project analyzes a declining Know Your Customer (KYC) onboarding pass rate to identify the main causes of verification failure and recommend actionable improvements. The analysis was performed using Python and Pandas on more than 52,000 KYC attempts across document verification, image quality, liveness, facial similarity, data checks, and watchlist screening.
The goal of this project was to answer the following questions:
- How did the KYC pass rate change over time?
- Which country contributed most to the decline?
- Which verification stages generated the most rejections?
- Were upstream failures preventing downstream checks from running?
- What changes could improve completion rates without weakening risk controls?
-
The KYC pass rate decreased from 88.3% in July to 83.3% in September.

-
The decline accelerated significantly in September, suggesting that a specific operational, vendor, or user-experience issue may have affected the process.
Mexico represented approximately 57% of total KYC volume and experienced the largest decline.
- Mexico: 85.1% to 77.1%
- Argentina: 94.9% to 91.4%
Because Mexico accounted for the majority of attempts, its lower pass rate had the greatest effect on overall performance.

The largest rejection categories were:
- Similarity: 1,103 rejections
- Liveness: 1,032 rejections
- Image checks: 945 rejections
- Usability: 933 rejections
Most similarity failures were classified as NO_MATCH.
Approximately 93.5% of liveness failures were classified as UNDETERMINED, meaning the verification provider could not make a confident decision.

-
NOT_EXECUTED outcomes increased across several verification stages.
-
This indicates that when an early document-usability or image check failed, later verification checks were not performed.
-
Improving early-stage image capture could therefore reduce failures throughout the complete KYC funnel.
Common document-usability issues included:
- Missing mandatory data
- Blurred images
- Missing document pages
- Glare and reflections
- Digital copies or screenshots
These issues suggest that improved user guidance and pre-submission validation could increase successful completion rates.
-
Pass rates remained relatively consistent across age groups.
-
The decline appeared to be driven primarily by country, document quality, and verification-stage performance rather than demographic differences.
Improve document-capture guidance
- Proper lighting
- Glare avoidance
- Correct camera positioning
- Image sharpness
- Complete document-page capture
- Avoidance of screenshots and digital copies
Automatically identify the following issues before sending images to the KYC provider:
- Blur
- Glare
- Missing pages
- Poor framing
- Incomplete documents
This would allow users to correct problems before submitting the verification request.
Work with the external verification provider to analyze UNDETERMINED outcomes by:
- Device type
- Operating system
- Camera quality
- Browser or application version
- Network conditions
- Country
Allow users to retry only the failed verification stage instead of restarting the entire KYC process.
Further investigation should examine:
- Document types
- Device and operating-system patterns
- Camera quality
- Spanish-language instructions
- Network conditions
- Provider-processing behavior
Implement alerts for significant increases in:
- Country-level failure rates
- NOT_EXECUTED outcomes
- Liveness UNDETERMINED
- Similarity NO_MATCH
- Document-usability failures
- Python
- Pandas
- NumPy
- Matplotlib
- Jupyter Notebook
- Microsoft PowerPoint
- Exploratory data analysis
- Funnel analysis
- Root-cause analysis
- Data-quality validation
- KYC and risk analytics
- Data visualization
- Business storytelling
- Executive recommendations
kyc-funnel-analysis/
│
├── Data/
│ └── README.md
│
├── Notebooks/
│ └── kyc_funnel_analysis.ipynb
│
├── Presentation/
│ └── kyc_analysis_presentation.pdf
│
├── images/
│ ├── pass_rate_trend.png
│ ├── country_comparison.png
│ └── rejection_drivers.png
│
├── README.md
├── requirements.txt
└── .gitignore
-
The original datasets are not included in this public repository.
-
The analysis was performed using anonymized KYC verification data provided for a case-study assessment. The data is excluded to avoid redistributing source files.
Sandeep Ponugoti