This portfolio project demonstrates how data analytics and quality assurance can be applied to identify data-quality issues, business-rule violations, and potential approval-control vulnerabilities in a fictional Buy Now Pay Later (BNPL) verification process.
The project combines Python data analysis, QA methodologies, and vulnerability testing to showcase skills in data cleaning, risk identification, and stakeholder reporting.
This project aims to:
- Analyze QA review data to identify critical gaps in verification controls
- Detect approval anomalies where applications are approved despite failed verification checks
- Validate business-rule compliance across the approval workflow
- Demonstrate controlled vulnerability testing and risk assessment
- Provide actionable recommendations for operational improvement
In a Buy Now Pay Later (BNPL) environment, approving loan applications without complete identity verification, call authentication, or photo validation introduces significant operational and financial risks:
Key Risks:
- Fraud Exposure: Approving applications with failed identity verification (BVN) increases fraud susceptibility
- Financial Loss: Approving unverified applicants increases default and fraud-related losses
- Compliance Risk: Regulatory violations due to inadequate identity verification procedures
- Operational Errors: SOP violations that bypass required control steps
- Reputational Damage: Undetected fraud or compliance failures can harm business credibility
This analysis identifies and quantifies these vulnerabilities to support stricter approval controls.
Data Type: Fictional/Synthetic QA data for educational and portfolio demonstration purposes. No real customer information is included.
| Field | Description |
|---|---|
Application_ID |
Unique identifier for each loan application (e.g., APP001) |
Agent_ID |
Identifier for the reviewing agent (e.g., AGT001) |
Dealer_ID |
Identifier for the dealer/partner (e.g., DLR001) |
BVN_Status |
Identity verification result (Pass/Fail) |
Call_Verified |
Confirmation of successful applicant phone verification (Yes/No) |
Photo_Match |
Result of photo-identity matching (Matched/Not_Matched) |
SOP_Compliant |
Whether the review followed Standard Operating Procedures (Yes/No) |
Review_Result |
Final approval decision (Approved/Rejected/Returned) |
Risk_Level |
Calculated risk classification (Low/Medium/High) |
Baseline Dataset: 10 fictional applications with complete data
The analysis performed comprehensive data-quality validation:
- Missing Values: Verification that all required fields are populated
- Invalid Categorical Values: Validation of valid categories (Pass/Fail, Yes/No, etc.)
- Duplicate Application_IDs: Detection of duplicate application identifiers
- Complete Duplicate Rows: Identification of identical records
- Field Completeness: Verification of Agent_ID and Dealer_ID population
- Business-Rule Consistency: Detection of logical contradictions (e.g., approved applications with failed verification)
- Risk-Level Accuracy: Validation of risk classification logic
- Baseline applications tested: 10
- Data-quality issues found: 0
- Data quality status: ✅ PASS
The baseline dataset met all data-quality standards, confirming reliable input for vulnerability testing.
To assess approval-control robustness, a controlled vulnerability test was conducted using six fictional test cases. This test simulates edge cases where applications might be inappropriately approved despite failed verification checks.
| Test Case | Application_ID | Vulnerability Simulated |
|---|---|---|
| APPV001 | BVN Failure | BVN_Status = Fail AND Review_Result = Approved |
| APPV002 | Call Verification Bypass | Call_Verified = No AND Review_Result = Approved |
| APPV003 | Photo Mismatch | Photo_Match = Not_Matched AND Review_Result = Approved |
| APPV004 | SOP Violation | SOP_Compliant = No AND Review_Result = Approved |
| APPV005 | High-Risk Multi-Failure | Multiple failures (BVN, Photo, SOP) + Approved |
| APPV006 | Control Case (Clean) | All verifications pass, properly approved |
Test Approach:
- APPV001-APPV005: Intentionally create approval anomalies to test detection capability
- APPV006: Clean control case with proper data integrity (expected to pass all checks)
| Metric | Result |
|---|---|
| Baseline applications tested | 10 |
| Baseline data-quality issues | 0 |
| Vulnerability test cases | 6 |
| Simulated vulnerability cases | 5 |
| Vulnerabilities detected | 5 |
| Detection rate | 100% |
| Vulnerability test pass rate | 100% |
| High-risk cases requiring manual review | 1 |
The following visualizations summarize key patterns identified during the QA data analysis.
The 100% detection rate applies only to the controlled 6-case vulnerability test dataset. This controlled test demonstrates the effectiveness of data-quality checks in identifying approval anomalies. Real-world detection rates depend on data volume, complexity, and analyst expertise. This test validates the analysis methodology, not production-level vulnerability detection.
Application Details:
- Application_ID: APPV005
- BVN_Status: Fail ❌
- Photo_Match: Not_Matched ❌
- SOP_Compliant: No ❌
- Review_Result: Approved
⚠️ - Risk_Level: High 🔴
Vulnerability: APPV005 represents a high-risk approval-control failure where an application with multiple verification failures was marked as approved. This combination represents a high-risk approval-control failure and warrants immediate manual review.
Required Action: This case should immediately escalate to manual review and requires:
- Supervisor authorization before approval
- Investigation into approval logic
- Potential reversal of approval decision
- Agent performance review
Based on this analysis, the following improvements are recommended:
- Implement system-level controls that prevent approval when critical verification checks fail
- Block approval automatically for BVN_Status = Fail
- Require all three primary checks to PASS before approval eligibility:
- BVN verification successful
- Call verification completed
- Photo identity match confirmed
- Flag applications with multiple failed checks for mandatory supervisor review
- Escalate any approved applications with failed verifications to compliance team
- Audit and flag all applications marked as SOP_Compliant = No
- Implement agent training for recurring SOP violations
- Maintain comprehensive timestamps for all review actions
- Record supervisor approvals for exceptions
- Create audit logs for compliance investigations
- Schedule daily data-quality validation runs
- Alert on missing values, invalid categories, or duplicate applications
- Generate weekly quality reports
- Define clear escalation paths for high-risk, multi-failure applications
- Establish SLA timelines for manual review of flagged applications
- Python - Data analysis and scripting
- Pandas - Data manipulation and analysis
- CSV - Data storage format
- GitHub - Version control and project hosting
- GitHub Codespaces - Development environment
- VS Code - Code editor
This project demonstrates:
✅ Data Cleaning & Preparation - Validation and standardization of QA datasets
✅ Data-Quality Analysis - Comprehensive checks for missing values, duplicates, and logical inconsistencies
✅ Business-Rule Validation - Testing approval logic against verification requirements
✅ Vulnerability Testing - Controlled simulation of approval anomalies
✅ Risk Identification & Classification - Systematic risk assessment and prioritization
✅ KPI Reporting - Clear metrics and executive summary presentation
✅ Python/Pandas Proficiency - Practical data analysis skills
✅ QA Thinking - Methodical approach to testing and quality assurance
✅ Stakeholder Communication - Professional documentation of findings and recommendations
github-seyisam27/
├── analysis/
│ ├── qa_data_quality_analysis.py
│ └── qa_vulnerability_test.py
│
├── data/
│ ├── qa_dataset.csv
│ ├── qa_review_data.csv
│ ├── qa_sample_data.csv
│ └── qa_vulnerability_test_data.csv
│
├── visualizations/
│ ├── qa_visualizations.py
│ ├── review_result_distribution.png
│ ├── violation_types.png
│ ├── sop_compliance.png
│ └── review_status.png
│
├── findings.md
└── README.md
Important: All datasets, application records, and results in this project are fictional and synthetic. This project is created for educational and portfolio demonstration purposes only.
- No real customer information is included.
- All application IDs, agent IDs, and dealer IDs are fictional.
- Results are based on controlled test datasets, not production data.
- The 100% vulnerability detection rate applies only to this controlled 6-case test and does not represent real-world performance.
- This project is a portfolio demonstration of QA and data-analysis skills, not production validation of an actual system.
Last Updated: September 2026 Portfolio Project | QA Data Analyst



