← Back to Portfolio

Fraud Monitoring & Chargeback Analytics Dashboard

Business Intelligence Dashboard
Power BI DAX Data Modeling Star Schema

The Goal

Build a comprehensive fraud monitoring dashboard that enables payments teams to track transaction health, identify fraud patterns, and manage chargeback disputes across merchant categories, channels, and device types. The solution provides real-time visibility into fraud rates, approval metrics, and representment outcomes to reduce financial losses and improve merchant confidence.

The Data Model

This project uses a star schema architecture to efficiently model transaction, fraud alert, and chargeback data with dimensional attributes for detailed analysis.

Fact Tables

  • fact_transaction: Amount, channel, currency, auth result, AVS/CVV results, decline reasons
  • fact_alert: Alert type, severity, analyst decision, outcome
  • fact_chargeback: CB amount, outcome, reason code, representment status

Dimension Tables

  • dim_customer: Region, risk segment, customer tenure
  • dim_device: Browser, device type, emulator flag, VPN flag, OS
  • dim_merchant: Channel, MCC, merchant category, risk tier
  • dim_date: Date, month, quarter, year

Measure Tables

  • KPI_Measures: DAX formulas for alert rate, approval rate, fraud rate, chargeback loss, win rate
fact_transaction

Core transaction events with outcomes

fact_alert

Fraud alerts & decisions

fact_chargeback

Dispute outcomes

dim_customer

Customer profiles

dim_device

Device attributes

dim_merchant

Merchant info

KPI_Measures

DAX calculations

dim_date

Time hierarchy

dim_channel

Transaction channels

All fact tables relate to dimension tables via foreign keys. KPI_Measures table provides aggregated metrics across all dimensions.

Dashboard Pages

Executive Overview

High-level business metrics tracking transaction approval health, fraud exposure, and chargeback impact across all channels and merchants.

Alert Rate
2.79%
Transactions flagged
Approval Rate
97.90%
Successful transactions
Chargeback Loss
$9.9K
Net loss from disputes
Total Loss
$18.6K
Fraud + chargeback impact
Fraud Rate
0.30%
Fraudulent transactions
Loss by Category
$8.2K
Gaming
$4.1K
Travel
$3.2K
Digital
$2.1K
Retail
Top Merchant Loss Amount Category Risk Tier
HighRollr Gaming $0.4K Gaming High
SkyJet Travel $0.25K Travel Medium
Streaming Plus $0.18K Digital Low

Key Insight: Gaming is the largest loss driver category, accounting for 44% of total losses. The top merchant (HighRollr Gaming) contributes $0.4K in losses, indicating concentrated risk in high-value, high-risk merchants.

Fraud Monitoring

Detailed fraud analysis by channel, authentication method, device type, and fraud score bands. Enables identification of high-risk transaction patterns and authentication effectiveness.

CNP Fraud Rate
0.34%
Card-not-present
CP Fraud Rate
0.27%
Card-present
3DS Impact
-26%
Fraud reduction
Fraud Rate by Device Type
0.32%
Mobile
0.26%
Desktop
0.18%
Tablet
Fraud Score Band Transaction Count Loss Amount Fraud Confirmed %
0-20 (Low) 8,420 $0.9K 2.1%
20-40 (Medium) 3,210 $1.2K 5.3%
40-59 (High) 1,890 $3.4K 18.7%
60+ (Critical) 420 $2.1K 45.2%

Key Insights: CNP channel shows 26% higher fraud rate than CP, suggesting authentication weaknesses in card-not-present transactions. 3DS authentication significantly reduces fraud exposure. Fraud Score Band 40-59 shows the highest loss concentration, with 18.7% of transactions confirmed fraudulent.

Chargebacks & Disputes

Chargeback volume, loss impact, reason codes, and representment success rates. Tracks merchant disputes and recovery outcomes.

Total Chargebacks
349
Dispute cases
Chargeback Loss
$8.6K
Net loss amount
Representment Rate
56.73%
Disputes contested
Chargeback Loss by Category
$4.2K
Gaming
$2.5K
Travel
$1.8K
Digital
$0.95K
Retail
Reason Code Chargebacks Loss Win Rate
NoAuth 128 $3.1K 42%
Cancelled 94 $2.3K 60%
Duplicate 78 $1.9K 55%
Other 49 $1.3K 38%

Key Insights: 349 total chargebacks resulted in $8.6K net loss. 56.73% representment rate indicates room for improvement in dispute contestation. Gaming category leads in chargeback losses ($4.2K). Win rates vary significantly by reason code: Cancelled disputes show 60% win rate while NoAuth disputes only achieve 42%.

Key Insights

Gaming Dominates Loss Profile

Gaming merchants account for the highest fraud and chargeback losses (44% of total), suggesting category-specific risk patterns and need for tailored controls.

CNP Channel Risk Premium

Card-not-present transactions show 26% higher fraud rate than card-present. Authentication strength varies by channel, favoring in-person transactions.

3DS as Fraud Reducer

3DS authentication significantly reduces fraud exposure (26% reduction). Merchants not implementing 3DS face elevated fraud risk in CNP environments.

Representment Opportunity

56.73% representment rate suggests 43% of chargebacks are not being contested. Improved documentation and evidence collection could recover significant losses.

Device-Based Patterns

Mobile devices show 23% higher fraud rate (0.32%) vs. desktop (0.26%). Device fingerprinting and behavioral analysis could improve mobile fraud detection.

Score Band Concentration

Fraud Score Band 40-59 has the highest loss density (18.7% fraud confirmation). Fine-tuning decision thresholds in this band could optimize revenue-risk tradeoff.

DAX Measures Showcase

Key calculations built with DAX to power dashboard interactivity and analytical insights across all dimensions.

Alert Rate Measure
Alert Rate =
DIVIDE(
    COUNT(fact_alert[alert_id]),
    COUNT(fact_transaction[txn_id]),
    0
)

-- Tracks percentage of transactions triggering fraud alerts
-- Used in Executive Overview and Trend Analysis
Approval Rate Measure
Approval Rate =
DIVIDE(
    COUNTROWS(
        FILTER(fact_transaction, fact_transaction[auth_result] = "approved")
    ),
    COUNTROWS(fact_transaction),
    0
)

-- Measures successful transaction authorization rate
-- Key health metric for payment processing
Chargeback Win Rate Measure
Chargeback Win Rate =
DIVIDE(
    COUNTROWS(
        FILTER(fact_chargeback, fact_chargeback[cb_outcome] = "won")
    ),
    COUNTROWS(fact_chargeback),
    0
)

-- Tracks representment success rate across reason codes
-- Enables reason code-specific strategy optimization
Fraud Rate by Segment Measure
Fraud Rate =
DIVIDE(
    COUNTROWS(
        FILTER(fact_transaction, fact_transaction[fraud_confirmed] = TRUE())
    ),
    COUNTROWS(fact_transaction),
    0
)

-- Sliceable by customer segment, device type, merchant category, channel
-- Enables drill-down analysis to identify high-risk patterns

What I'd Do Next

  • Predictive Fraud Scoring: Implement machine learning model to assign real-time fraud risk scores based on historical patterns and customer behavior, improving proactive fraud prevention.
  • Real-Time Alerting Thresholds: Establish dynamic alert rules by merchant category and device type, with automated escalation workflows for high-confidence fraud signals.
  • Merchant Risk Segmentation: Build customer segments based on historical loss exposure, transaction volume, and category risk, enabling tiered merchant management and tailored monitoring strategies.
  • Chargeback Representment Optimization: Develop decision tree models to predict representment win likelihood by reason code, merchant history, and transaction attributes, improving case prioritization and success rates.
  • Channel-Specific Controls: Implement adaptive authentication rules (3DS enforcement, velocity checks, behavioral signals) tailored to channel risk profiles and customer friction tolerance.
  • Integration with External Data: Incorporate IP geolocation, device reputation, and customer authentication history for enriched fraud signals and better cross-device tracking.