Data Analytics Capstone Project FinTech

UPI Transaction
Analysis

Fraud Risk and Operational Insights from 100,000+ Digital Payment Transactions

A comprehensive end-to-end data analytics project spanning Excel, SQL, Python, statistical testing, and Power BI β€” uncovering actionable fraud signals and platform health insights across the Indian UPI ecosystem.

Excel MySQL SQL Python Pandas SciPy Statistics Power BI

Executive Summary

Understanding the business context, challenges, and purpose of this analysis

πŸ“²

UPI Platform Context

Unified Payments Interface (UPI) is India's real-time payment system enabling instant bank-to-bank transfers. The platform processes hundreds of millions of transactions monthly, making fraud detection and operational reliability critical to financial stability and user trust.

πŸ›‘οΈ

Fraud Risk Challenge

This dataset captured 2,000 fraud transactions (2.00% rate) across 100,000 transactions β€” above industry benchmarks of <0.5%. The critical finding: transactions from rooted devices carry a 20.69% fraud rate, compared to just 1.39% on secure devices.

⚑

Transaction Failures

A 5.87% transaction failure rate was identified, split evenly between customer errors (incorrect PIN, blocked accounts: ~50.5%) and technical failures (network errors, bank downtime: ~49.5%). Both streams require targeted intervention to protect platform reliability.

πŸ‘₯

Customer & Merchant Monitoring

The analysis covers 10,000 customers and 500 merchants across 5 Indian regions. Electronics and apparel merchants show slightly higher fraud rates (2.24% and 2.22% respectively), while the reversal success rate of 0.00% across 1,451 attempts was flagged as a critical operational issue.

🎯

Purpose & Scope

This project delivers a 5-stage analytical pipeline β€” Excel validation β†’ SQL analysis β†’ Python EDA β†’ Statistical testing β†’ Power BI dashboards β€” converting raw transactional data into actionable risk controls and operational recommendations for platform stakeholders.

πŸ“ˆ

Data-Driven Decisions

Statistical hypothesis testing (chi-square, ANOVA, t-tests, correlation) confirmed that rooted device status is the only statistically significant fraud predictor in this dataset (χ² = 5,825.1, p < 0.001), enabling precise, evidence-based policy interventions.

Executive KPI Dashboard

All KPIs calculated directly from the 100,000-transaction dataset. Use filters to explore segments.

Data last updated: August 2025  |  Note: August 2025 may contain partial-month data. All KPIs calculated from the verified cleaned dataset.

Transaction Analysis

Interactive charts showing transaction distribution, volume trends, and regional performance

πŸ“… Monthly Transaction Volume

Transaction volume grew steadily from ~12,000 in January 2025 to ~14,000 by mid-2025. August 2025 shows partial data. Growth reflects increasing platform adoption.

πŸ’° Monthly Transaction Value (β‚Ή)

Total transaction value closely tracks volume, confirming a consistent average transaction amount of β‚Ή42.37 across the analysis period.

πŸ“Š Transaction Status

Success 92.14%, Failed 5.87%, Pending 1.99%

πŸ“± By Channel

App (33,365), Intent (33,356), QR Code (33,279) β€” near-equal distribution

πŸ“² By Device Type

Feature phones lead slightly; Android, iOS, and tablets are nearly equal

πŸ—ΊοΈ Transactions by Region

North leads with 20,787 transactions; Central has the lowest share (19,677). Regional distribution is largely uniform, suggesting consistent nationwide adoption.

πŸͺ Avg Transaction Amount by Region (β‚Ή)

Average amounts are strikingly uniform across all regions (β‚Ή42.21–₹42.53), confirming UPI is used for small, daily micro-transactions regardless of geography.

Fraud Analyst Dashboard

Detailed breakdown of fraud patterns, alert resolution, and high-risk entities

Total Fraud Alerts
2,000
All open & resolved
🚨
Fraud Transactions
2,000
fraud_flag = True
⚠️
Fraud Rate
2.00%
By transaction volume
πŸ“Š
Alert Resolution Rate
87.60%
1,752 of 2,000 resolved
βœ…
Unresolved Alerts
248
12.40% still open
⏳
Avg Resolution Time
~35 hrs
β‰ˆ1.46 days per alert
⏱️
Rooted Device Fraud
20.69%
656 of 3,171 txns
πŸ”“
Non-Rooted Fraud
1.39%
1,344 of 96,829 txns
πŸ”’

πŸ”“ Fraud Rate: Rooted vs Non-Rooted

Headline finding: Rooted devices have a 20.69% fraud rate β€” nearly 15Γ— higher than non-rooted devices (1.39%). This is the single strongest statistically significant fraud signal.

πŸ“‹ Fraud Alerts by Type

Alert types are broadly distributed. Unusual transaction amount and frequent failure patterns are the leading triggers, requiring dynamic fraud rule adjustment.

πŸ—ΊοΈ Fraud Rate by Region (%)

Fraud rates are consistent across all regions (1.94%–2.09%), suggesting fraud actors target users uniformly without strong geographic concentration.

πŸͺ Fraud Rate by Merchant Type (%)

Electronics (2.24%) and Apparel (2.22%) show the highest fraud rates, though differences across merchant types are not statistically significant (ANOVA p=0.628).

βœ… Fraud Alert Resolution Status

87.6% of fraud alerts have been resolved. The 248 unresolved alerts (12.4%) represent an active operational risk requiring urgent attention.

❌ Failed Transactions by Reason

Failures split almost evenly: Customer errors (Incorrect PIN 26.2%, Account Blocked 24.3%) vs. Technical failures (Network Error 25.8%, Bank Down 23.7%).

🏦 Top High-Risk Merchants (Minimum 40 Transactions)

Merchants ranked by fraud rate with a minimum volume filter of 40 transactions applied to avoid misleading rankings from low-volume outliers.

Merchant Category Total Txns Fraud Txns Fraud Rate

Source: Python EDA β€” merchant_fraud_ratio (min 40 txns filter). Platform average fraud rate: 2.00%.

🚨 Rooted Devices Are a Critical Fraud Risk

The single most significant finding: device root status is the strongest statistically confirmed fraud predictor in this dataset

Non-Rooted Devices
1.39%
πŸ”’ Secure

1,344 fraud / 96,829 txns

Rooted Devices
20.69%
πŸ”“ Compromised

656 fraud / 3,171 txns

14.9Γ—

Higher fraud risk on rooted devices

⭐ HIGHLY SIGNIFICANT Chi-Square Test, p < 0.001
Test
Chi-Square
χ² Statistic
5,825.10
p-value
< 0.001
CramΓ©r's V
0.241 (Moderate)

Plain-English Interpretation

Rooted devices allow system-level overrides that bypass standard security controls, making them significantly associated with fraudulent activity. The chi-square test confirms this relationship is not due to chance (p < 0.001) β€” it is a real, stable signal across the 100,000-transaction dataset.

Business impact: Blocking high-risk transaction types on rooted devices could directly address the disproportionate fraud concentration. Of the 2,000 fraud transactions, 32.8% (656) originated from rooted devices β€” which represent only 3.17% of all transaction sources.

Note: This analysis identifies statistical association, not definitive causation. Observational data; controlled experiments are needed to confirm causal effects.

Project Methodology

A five-stage analytical pipeline where each stage validates and extends the previous one

1

Excel

Data validation across 7 source tables. Column profiling, data type checks, blank/null analysis, and date-range verification on the cleaned UPI dataset.

2

SQL

Database design, table creation, constraint definition, multi-table joins, views, CTEs, window functions, and 50+ business intelligence queries in MySQL.

3

Python

Data cleaning, relational merges with Pandas (100K Γ— 27 feature space), feature engineering, and exploratory data analysis with Matplotlib and Seaborn.

4

Statistics

Hypothesis testing with SciPy: Welch's t-test, one-way ANOVA, chi-square tests (with CramΓ©r's V), Pearson and Spearman correlation, and CLT-based inference.

5

Power BI

Executive KPI dashboard, fraud analyst dashboard, and detailed operational dashboard with interactive filters, slicers, and cross-report drill-through.

πŸ“ Data Model β€” Seven Source Tables

πŸ“Š upi_transaction_history FACT
100,000 rows Γ— 15 columns
  • transaction_id (PK)
  • customer_id (FK)
  • merchant_id (FK)
  • device_id (FK)
  • upi_id (FK)
  • amount, timestamp
  • status, transaction_type
  • channel, fraud_flag
  • failure_reason, reversal_flag
πŸ‘€ customer_master
10,000 rows Γ— 9 columns
  • customer_id (PK)
  • full_name, age, gender
  • region, mobile_number
  • is_business_user
  • risk_score, date_joined
πŸ“± device_info
12,000 rows Γ— 6 columns
  • device_id (PK)
  • customer_id (FK)
  • device_type, os_version
  • is_rooted (πŸ”‘ Key field)
  • app_version
🏦 upi_account_details
12,000 rows Γ— 6 columns
  • upi_id (PK)
  • customer_id (FK)
  • bank_name (6 partners)
  • account_type, is_primary
  • linked_since
πŸͺ merchant_info
500 rows Γ— 6 columns
  • merchant_id (PK)
  • merchant_name, merchant_type
  • region, risk_score
  • registration_date
🚨 fraud_alert_history
2,000 rows Γ— 7 columns
  • alert_id (PK)
  • transaction_id (FK)
  • alert_type, alert_date
  • resolved, resolution_date
  • alert_severity
πŸ’¬ customer_feedback_surveys
4,000 rows Γ— 7 columns
  • feedback_id (PK)
  • customer_id (FK)
  • transaction_id (FK)
  • rating, feedback_text
  • issue_type, resolved

Statistical Analysis Results

Hypothesis testing conducted in Python using SciPy. Exact test statistics and p-values from the verified analysis.

T-Test: Android vs iOS Transaction Amount

Not Significant

Hβ‚€: Mean transaction amounts are equal across Android and iOS users.

Test
Welch's t-test
t-statistic
βˆ’0.541
p-value
0.589
n (Android)
25,145
n (iOS)
24,783

Fail to reject Hβ‚€. Android (mean β‚Ή42.38) and iOS (mean β‚Ή42.54) users spend similarly β€” no OS-specific transaction size strategy is warranted based on this data.

ANOVA: Fraud Rate Variability by Merchant Type

Not Significant

Hβ‚€: Fraud rates are equal across all merchant categories.

Test
One-way ANOVA
F-statistic
0.694
p-value
0.628
Groups
6

Fail to reject Hβ‚€. Fraud rates across Apparel (2.22%), Electronics (2.24%), Food (1.97%), Grocery (1.80%), Online (2.05%), and Transport (1.97%) are not significantly different. A single fraud detection strategy is likely sufficient across merchant types.

ANOVA: Transaction Amount Variability by Region

Not Significant

Hβ‚€: Mean transaction amounts are equal across all regions.

Test
One-way ANOVA
F-statistic
0.351
p-value
0.844
Groups
5

Fail to reject Hβ‚€. Average transaction amounts (β‚Ή42.21–₹42.53) are uniform across North, South, East, West, and Central regions. No region-specific pricing strategies are indicated.

Chi-Square: Fraud Flag Γ— Payment Channel

Not Significant

Hβ‚€: Fraud occurrence is independent of payment channel.

Test
Chi-Square
χ² Statistic
3.884
p-value
0.143
df
2

Fail to reject Hβ‚€. App (2.02%), Intent (1.89%), and QR Code (2.10%) channels show similar fraud rates with no statistically significant difference.

Chi-Square: Transaction Status Γ— Device Type

Not Significant

Hβ‚€: Transaction status is independent of device type.

Test
Chi-Square
χ² Statistic
5.934
p-value
0.431
CramΓ©r's V
0.005 (Weak)

Fail to reject Hβ‚€. Success/failure rates are consistent across Android, iOS, Feature Phone, and Tablet. No device-specific routing or failure intervention is needed.

⭐ Chi-Square: Rooted Status Γ— Fraud Flag

HIGHLY SIGNIFICANT (p < 0.001)

Hβ‚€: Fraud occurrence is independent of device rooting status.

Test
Chi-Square
χ² Statistic
5,825.10
p-value
< 0.001
df
1
CramΓ©r's V
0.241 (Moderate)

Reject Hβ‚€. Rooted device status and fraud flag are NOT independent β€” the association is highly significant and not due to chance. This is the cornerstone finding of the project. Rooted devices (3.17% of transactions) account for 32.8% of all fraud.

Correlation: risk_score vs Customer Fraud Rate

Not Significant

Hβ‚€: Customer risk_score has no linear relationship with transaction fraud rate.

Test
Pearson + Spearman
Pearson r
+0.0017
p-value
0.884
n
7,032

Fail to reject Hβ‚€. The existing customer risk_score is negligibly correlated with actual fraud behaviour (r β‰ˆ 0.002). The risk scoring model should be rebuilt to incorporate device root status, transaction velocity, and merchant type as features.

Summary: Of 7 statistical tests conducted, only one yielded a significant result β€” the Chi-Square test for rooted device status vs. fraud flag (χ² = 5,825.1, p < 0.001). All other tested dimensions (region, merchant type, channel, device OS, transaction amount) showed no statistically significant association with fraud or failure rates. This finding simplifies the fraud risk framework: device root detection is the single most impactful lever available.

SQL Analysis

50+ business intelligence queries spanning database design, fraud analysis, merchant performance, and advanced window functions

πŸ“ˆ 1. Core KPIs & Operational Metrics

Query 1–2: Total Transaction Volume & Success Rate

β–Ό

Business objective: Quantify platform scale and measure operational health.

-- Query 1: Total Transaction Volume & Value
SELECT
    COUNT(transaction_id)          AS total_transactions,
    ROUND(SUM(amount), 2)         AS total_value_inr
FROM upi_transaction_history;

-- Query 2: Success Rate
SELECT
    COUNT(CASE WHEN status = 'success' THEN 1 END) AS successful,
    ROUND(
        COUNT(CASE WHEN status = 'success' THEN 1 END) * 100.0
        / COUNT(transaction_id), 2
    ) AS success_rate_pct
FROM upi_transaction_history;

βœ… Result: 1,00,000 transactions | Total value β‰ˆ β‚Ή42.37L | Success rate 92.14%

Query 4: Fraud Rate by Volume

β–Ό

Business objective: Quantify the portion of transaction volume flagged as fraudulent.

SELECT
    COUNT(CASE WHEN fraud_flag = 1 THEN 1 END) AS fraud_txns,
    ROUND(
        COUNT(CASE WHEN fraud_flag = 1 THEN 1 END) * 100.0
        / COUNT(transaction_id), 2
    ) AS fraud_rate_pct
FROM upi_transaction_history;

βœ… Result: 2,000 fraud transactions | Fraud rate 2.00% β€” above the typical industry benchmark of <0.5%

πŸ›‘οΈ 2. Fraud Risk & Device Profiling

Query 25: Rooted Device Fraud Risk ⭐ Headline Finding

β–Ό

Business objective: Determine whether rooted devices present significantly higher fraud risk.

SELECT
    d.is_rooted,
    COUNT(t.transaction_id)                          AS total_txns,
    COUNT(CASE WHEN t.fraud_flag = 1 THEN 1 END)     AS fraud_txns,
    ROUND(
        COUNT(CASE WHEN t.fraud_flag = 1 THEN 1 END)
        * 100.0 / COUNT(t.transaction_id), 4
    )                                                  AS fraud_rate_pct
FROM upi_transaction_history t
JOIN device_info d ON t.device_id = d.device_id
GROUP BY d.is_rooted;

🚨 Major finding: Rooted devices β†’ 20.69% fraud rate. Non-rooted β†’ 1.39%. Rooted devices are ~15Γ— higher risk. Confirmed statistically via chi-square (χ² = 5,825.10, p < 0.001).

Query 28: Fraud Alert Resolution Rate

β–Ό

Business objective: Measure risk operations capacity by tracking unresolved fraud alerts.

SELECT
    COUNT(alert_id)                                                    AS total_alerts,
    COUNT(CASE WHEN resolved = 1 THEN 1 END)                       AS resolved_alerts,
    COUNT(CASE WHEN resolved = 0 THEN 1 END)                       AS open_alerts,
    ROUND(
        COUNT(CASE WHEN resolved = 1 THEN 1 END) * 100.0
        / COUNT(alert_id), 2
    )                                                                  AS resolution_rate_pct
FROM fraud_alert_history;

βœ… Result: 2,000 total alerts | 1,752 resolved (87.60%) | 248 still open (12.40%) β€” backlog requires staffing allocation

πŸš€ 3. Advanced Window Functions, CTEs & Views

Query 43: Month-on-Month TTV Growth Rate (LAG + CTE)

β–Ό

Business objective: Measure month-on-month processing volume growth using window functions.

WITH monthly_ttv AS (
    SELECT
        DATE_FORMAT(timestamp, '%Y-%m') AS ym,
        ROUND(SUM(amount), 2)          AS ttv
    FROM upi_transaction_history
    WHERE status = 'success'
    GROUP BY DATE_FORMAT(timestamp, '%Y-%m')
)
SELECT
    ym,
    ttv                                               AS current_month_ttv,
    LAG(ttv) OVER(ORDER BY ym)                   AS prev_month_ttv,
    ROUND(
        (ttv - LAG(ttv) OVER(ORDER BY ym))
        / NULLIF(LAG(ttv) OVER(ORDER BY ym), 0) * 100, 2
    )                                                  AS mom_growth_pct
FROM monthly_ttv
ORDER BY ym;

βœ… CTE + LAG window function demonstrates platform growth trajectory. Consistent positive MoM growth across the analysis period confirms healthy adoption.

Query 45: Customer Spending Rank Within Region (DENSE_RANK)

β–Ό

Business objective: Identify top-spending customers within each region for targeted marketing.

WITH ranked_cust AS (
    SELECT
        c.region,
        c.customer_id,
        c.full_name,
        ROUND(SUM(t.amount), 2)            AS total_spend,
        DENSE_RANK() OVER (
            PARTITION BY c.region
            ORDER BY SUM(t.amount) DESC
        )                                   AS spend_rank
    FROM upi_transaction_history t
    JOIN customer_master c ON t.customer_id = c.customer_id
    WHERE t.status = 'success'
    GROUP BY c.region, c.customer_id, c.full_name
)
SELECT * FROM ranked_cust
WHERE spend_rank <= 3;

βœ… Identifies top 3 spenders per region using DENSE_RANK partitioning. Top customers transacted 40+ times and spent over β‚Ή2,000 each β€” prime targets for loyalty programmes.

Query 48: Executive Metrics View

β–Ό

Business objective: Create a reusable daily executive KPI view for dashboards.

CREATE OR REPLACE VIEW view_daily_executive_metrics AS
SELECT
    DATE(timestamp)                               AS txn_date,
    COUNT(*)                                       AS total_attempts,
    SUM(CASE WHEN status='success' THEN 1 ELSE 0 END) AS success_count,
    ROUND(
        SUM(CASE WHEN status='success' THEN 1 ELSE 0 END)
        * 100.0 / NULLIF(COUNT(*), 0), 2
    )                                              AS success_rate_pct,
    ROUND(SUM(CASE WHEN status='success' THEN amount ELSE 0 END), 2) AS successful_ttv,
    SUM(CASE WHEN fraud_flag=1 THEN 1 ELSE 0 END)  AS fraud_alerts
FROM upi_transaction_history
GROUP BY DATE(timestamp);

βœ… Virtual view pre-aggregates daily KPIs for reporting. Simplifies dashboard queries and enables real-time monitoring when connected to a live data feed.

πŸ‘₯ 4. Customer Profiling

Query 11: Customer Loyalty Tier Segmentation (CTE)

β–Ό

Business objective: Segment customers into loyalty tiers based on total transaction spend.

WITH customer_spend AS (
    SELECT customer_id, SUM(amount) AS total_spend
    FROM upi_transaction_history
    WHERE status = 'success'
    GROUP BY customer_id
)
SELECT
    CASE
        WHEN total_spend < 100        THEN 'Bronze (Low < β‚Ή100)'
        WHEN total_spend <= 1000       THEN 'Silver (Medium β‚Ή100–1000)'
        ELSE                                 'Gold (High > β‚Ή1000)'
    END                            AS loyalty_tier,
    COUNT(customer_id)             AS customer_count,
    ROUND(COUNT(*)*100.0 /
        (SELECT COUNT(*) FROM customer_master), 2) AS pct_of_customers
FROM customer_spend
GROUP BY loyalty_tier;

βœ… Result: 88.29% of customers are Silver tier (β‚Ή100–₹1,000 total spend); only 10.21% are Gold spenders. Significant opportunity to drive engagement and loyalty upgrades.

Key Business Insights

Evidence-based findings derived from the 100,000-transaction dataset

πŸ”“

Rooted Devices Dominate Fraud

Transactions from rooted devices carry a 20.69% fraud rate vs. 1.39% on secure devices β€” a 14.9Γ— higher risk. Despite representing only 3.17% of all transactions, rooted devices account for 32.8% (656) of all fraud transactions. Confirmed highly significant (χ² = 5,825.1, p < 0.001).

🌍

Failure Rates Are Broadly Distributed

Transaction failure rates by region range from 5.70% (Central) to 6.01% (North) β€” no single region or channel dominates failures. Technical failures (network error, bank down: ~49.5%) and customer errors (incorrect PIN, blocked: ~50.5%) contribute equally, requiring parallel technical and UX fixes.

πŸͺ

High-Risk Merchant Concentration

Certain merchants show fraud rates well above the 2.00% platform average β€” top offenders in the qualified sample (min. 40 txns) reach up to 10.64% fraud rate. Electronics (2.24%) and Apparel (2.22%) merchant types show the highest category-level rates, warranting enhanced monitoring.

⏰

Fraud Alert Backlog Is an Operational Risk

While the overall fraud resolution rate is strong at 87.60%, 248 alerts remain unresolved. The average resolution time of approximately 35 hours (1.46 days) exceeds recommended SLAs for critical fraud alerts. The 0.00% reversal success rate across 1,451 attempts was also identified as a critical operational issue.

πŸ“ˆ

Transaction Volume Growth Is Healthy

Monthly transaction count grew from approximately 12,000 in January 2025 to 14,000+ by mid-2025, reflecting ~17% growth over the analysis period. Monthly TTV grew proportionally with a stable average transaction value of β‚Ή42.37, confirming consistent user behaviour.

πŸ“±

Device Distribution Is Broadly Uniform

Android (25,145), Feature Phones (25,596), iOS (24,783), and Tablets (24,476) have near-equal transaction shares. However, Android dominates across all payment channels per the EDA heatmap. Feature phones show the highest device-type fraud rate at 2.15%, possibly due to limited biometric authentication options.

Strategic Recommendations

Priority-labelled actions derived from the analytical findings

πŸ”΄ Critical

Implement Device Root Detection

Problem: Rooted devices are associated with 20.69% fraud rate vs. 1.39% on secure devices.
Action: Deploy real-time root detection in the UPI app using SafetyNet Attestation (Android) and Jailbreak detection libraries (iOS). Flag rooted device transactions for enhanced review.
Metric: Rooted device fraud rate: 20.69%. Rooted devices: 3.17% of transactions but 32.8% of fraud.
Impact (est.): Blocking high-risk transaction types on rooted devices could directly reduce platform fraud rate by an estimated 0.6+ percentage points.
πŸ”΄ Critical

Implement Step-Up Authentication

Problem: Rooted devices bypass standard security controls, enabling fraudulent transactions.
Action: Require additional authentication (biometrics, OTP, PIN re-confirmation) for transactions above β‚Ή500 on flagged or rooted devices. Apply velocity checks for multiple rapid transactions.
Metric: Chi-square p < 0.001 confirms device rooting is not random β€” it is a reliable risk signal.
Impact (est.): Expected to deter automated fraud scripts on compromised devices and reduce high-value fraud exposure.
πŸ”΄ Critical

Rebuild Customer Risk Scoring Model

Problem: The existing customer risk_score is negligibly correlated with actual fraud behaviour (r = 0.0017, p = 0.884).
Action: Rebuild the risk model incorporating device root status (confirmed significant), transaction velocity, and merchant type. Retire the current scoring model from active use.
Metric: Current model: Pearson r β‰ˆ 0.002 β€” effectively no predictive power for fraud.
Impact (est.): A more accurate risk model directly reduces false negatives (undetected fraud) and false positives (customer friction).
🟠 High

Targeted Review of High-Risk Merchants

Problem: Select merchants show fraud rates of 7–11%, well above the 2.00% platform average.
Action: Schedule immediate compliance reviews for merchants exceeding 5% fraud rate with β‰₯40 transactions. Implement real-time fraud rate monitoring per merchant with automated alerts at 3Γ— platform average.
Metric: Top flagged merchant: Garcia, Mann and Sharp (grocery) β€” 10.64% fraud rate.
Impact: Removes liability exposure from non-compliant merchant partnerships and reduces fraud losses.
🟠 High

Clear Unresolved Fraud Alert Backlog

Problem: 248 fraud alerts (12.40%) remain unresolved, and average resolution time is ~35 hours.
Action: Assign a dedicated risk operations team to clear the 248-alert backlog within 2 weeks. Set SLAs: critical alerts within 4 hours, standard within 24 hours.
Metric: 248 open alerts | Avg resolution: ~35 hours | Current resolution rate: 87.60%.
Impact: Reduces customer exposure window for unresolved fraud. Protects user funds and platform reputation.
🟠 High

Investigate Reversal Processing Failure

Problem: The reversal success rate is 0.00% across 1,451 triggered reversals β€” a critical operational failure.
Action: Conduct an immediate technical audit of the reversal processing pipeline. Identify whether the failure is systemic (gateway issue), data quality (status not updated), or policy-driven.
Metric: 1,451 reversals triggered | 0 completed successfully (0.00% success rate).
Impact: Resolving this prevents merchant disputes, regulatory risk, and significant customer dissatisfaction.
🟑 Medium

Cross-Functional Transaction Reliability Initiative

Problem: 5.87% failure rate, equally split between technical and customer-driven causes.
Action: Establish a cross-functional task force between engineering (network/bank connectivity) and product (PIN flow UX) to address both failure streams in parallel.
Metric: Technical failures: ~49.5% | Customer errors: ~50.5% of all failures.
Impact: Each 1% reduction in failure rate equates to ~1,000 recovered transactions and improved user satisfaction.
🟑 Medium

Real-Time Fraud Rate Monitoring

Problem: Monthly fraud rate has averaged ~2.0% with no upward trend β€” but no real-time alerting exists to catch spikes early.
Action: Deploy automated alerts when daily fraud rate exceeds 2.5%. Implement the executive metrics view (SQL Query 48) as a live monitoring dashboard in Power BI.
Metric: Current average fraud rate: 2.00% | Suggested alert threshold: 2.5%.
Impact: Enables same-day fraud detection response instead of post-hoc monthly review.
🟑 Medium

Micro-Transaction Velocity Controls

Problem: High-frequency low-value transactions (<β‚Ή10) in short windows may indicate automated card-testing attacks.
Action: Implement rate limiting: flag customers with 5+ transactions under β‚Ή10 in one hour. Apply CAPTCHA or OTP challenge for suspected bot activity.
Metric: SQL Query 30 identified customers with 5+ micro-transactions (<β‚Ή10) in a single hour bucket as a velocity risk pattern.
Impact: Disrupts automated fraud testing, reducing the pipeline of compromised accounts being profiled for larger attacks.

Limitations & Future Scope

Honest assessment of analytical boundaries and opportunities for extended work

⚠️ Known Limitations

  • August 2025 may contain partial-month data, potentially underrepresenting transaction volume and making August comparisons unreliable.
  • Customer retention rate calculation may include never-active customers in its denominator, slightly deflating the reported 48.25% figure.
  • Root device status was the primary significant fraud predictor identified. Other device and customer attributes tested did not show strong evidence of association.
  • The analysis period (January–August 2025) may not capture longer-term seasonal cycles such as festival spend spikes (Diwali, Eid) common in the Indian market.
  • Observational analysis identifies statistical associations, not definitive causation. Rooted devices are associated with fraud β€” controlled experiments are needed to confirm direction of effect.
  • The customer risk_score was not significantly predictive (r = 0.0017). Its derivation methodology was not accessible, limiting model improvement in this project.

πŸ”­ Future Scope

  • Real-time device-risk scoring: deploy a streaming fraud risk model that scores each transaction at initiation using device attributes and recent velocity.
  • Multi-factor fraud prediction models: incorporate network graph analysis (shared devices, linked accounts), behavioural biometrics, and geolocation signals.
  • Transaction volume forecasting: build time-series models (ARIMA, Prophet) for capacity planning, infrastructure sizing, and SLA-setting.
  • Failure-reason ownership mapping: assign each failure category to a responsible team and measure SLA adherence, enabling accountability-driven reliability improvements.
  • A/B testing of step-up authentication: conduct controlled experiments on the step-up flow for rooted-device transactions to quantify fraud reduction vs. user friction trade-offs.
  • Automated alerting and monitoring: integrate the executive metrics SQL view with a streaming pipeline (Kafka / BigQuery) for real-time dashboards and anomaly detection.

Project Files

All source files and documentation supporting this analysis

πŸ“Š

Excel β€” Cleaned Dataset

UPI_Data_Cleaned.xlsx β€” 7 worksheets covering all transaction, customer, device, merchant, account, fraud alert, and feedback tables. 100,000 transactions across 15 columns.

πŸ“ Available in the GitHub repository
πŸ—„οΈ

SQL Scripts

advance_sql_queries.sql β€” 50+ business intelligence queries in MySQL covering KPIs, joins, aggregations, CTEs, window functions, views, and fraud analysis.

πŸ“ Available in the GitHub repository
🐍

Python EDA Notebook

UPI_Analysis.ipynb β€” Complete exploratory data analysis with Pandas, Matplotlib, and Seaborn. Statistical testing with SciPy including 7 hypothesis tests. 100K Γ— 27 feature analysis.

πŸ“ Available in the GitHub repository
πŸ“‰

Power BI Dashboard

Three-panel executive dashboard: Operations overview, Fraud analyst view, and detailed transaction drill-through. Built on the same 7-table data model with interactive slicers.

πŸ“ Available in the GitHub repository
🎯

Project Presentation

UPI_Analysis_Presentation.pptx β€” Business story, methodology overview, headline findings, statistical summary, and strategic recommendations for non-technical stakeholders.

πŸ“ Available in the GitHub repository
πŸ“‹

Business Problem Statement

Project_5_Capstone_Problem_Statement.pdf β€” Original business context, analytical objectives, expected deliverables, data dictionary, and success criteria for this capstone project.

πŸ“ Available in the GitHub repository
View All Project Files on GitHub

Project source files and supporting documentation are available in the GitHub repository.

About the Analyst

Akshat Raghav

Akshat Raghav is a Data Analyst with hands-on experience in Excel, SQL, Python, statistics, and Power BI. He focuses on converting raw data into clear business insights, interactive dashboards, and actionable recommendations. This UPI Transaction Analysis project demonstrates a full end-to-end analytical capability β€” from data validation and relational modelling to statistical hypothesis testing and strategic advisory.

Excel MySQL Python Pandas SciPy NumPy Matplotlib Seaborn Power BI Statistical Analysis Data Visualisation
github.com/akshatraghav22 LinkedIn Profile