Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Project-21-Python-For-Data-Analysis-Credit-Card-Fraud

End-to-end Credit Card Fraud Detection Analysis on 284,807 transactions | Analyzing fraud patterns, time-based activity, amount outliers & building a banking fraud dashboard using Python, Pandas & Seaborn

💳 Credit Card Fraud Detection Analysis

An end-to-end Fraud Detection Analysis project on 284,807 credit card transactions, completed as part of the Python for Data Analysis course.

📌 Objective

Detect fraud patterns, identify high-risk time windows, analyze suspicious transaction characteristics, detect amount outliers, and build a comprehensive banking fraud dashboard.

📂 Dataset

  • Source: CreditCardData.csv — Real anonymized European cardholder data (Sept 2013)
  • Records: 284,807 transactions
  • Fraud Cases: 492 (0.172% of all transactions)
  • Features: Time, V1–V28 (PCA-transformed), Amount, Class

⚠️ Dataset not included due to file size (>25MB).
Download from: https://www.kaggle.com/datasets/mlg-ulb/creditcardfraud

🛠️ Tools & Libraries

Library Purpose
NumPy IQR calculations, numerical operations
Pandas Data cleaning, groupby, time analysis
Matplotlib Histograms, time series, dashboard
Seaborn Boxplots, heatmaps, scatter plots

❓ Analytical Questions (Q1 → Q15)

# Question
Q1 Fraud percentage of all transactions
Q2 Total fraudulent transaction count
Q3 Fraud vs Legitimate distribution
Q4 Average amount: Fraud vs Legitimate
Q5 Top highest fraudulent transactions
Q6 Transaction amount distribution (histogram)
Q7 Correlation heatmap (key features)
Q8 Hour-by-hour fraud activity analysis
Q9 Do fraud transactions have higher amounts? (Boxplot)
Q10 Top suspicious transactions (high amount + early time)
Q11 Detailed amount distribution by buckets
Q12 Relationship between Amount and Time
Q13 Fraud trend over time (3-hour windows)
Q14 Outlier detection using IQR method
Q15 Banking Fraud Dashboard (8-panel)

💡 Key Insights

  • Extreme class imbalance: fraud = only 0.17% of all transactions
  • Fraud peaks in late night/early morning hours (0–6 AM)
  • V14 and V17 are the strongest fraud predictors among PCA features
  • Fraudulent transactions have lower median amounts but larger maximums
  • Amount outliers show significantly higher fraud rates
  • Fraud activity is not uniform — spikes at specific time windows

🚀 How to Run

git clone https://github.com/ammarelsayed-2a/Project-21-Python-For-Data-Analysis-Credit-Card-Fraud.git
cd Project-21-Python-For-Data-Analysis-Credit-Card-Fraud
jupyter notebook "Project 21 CreditCardFraud.ipynb"

👤 Author

Ammar Elsayed — Python for Data Analysis | 2026
LinkedIn

About

End-to-end Credit Card Fraud Detection Analysis on 284,807 transactions | Analyzing fraud patterns, time-based activity, amount outliers & building a banking fraud dashboard using Python, Pandas & Seaborn

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages