DEV Community

Cover image for I Built an End-to-End Mortgage Loan Analytics Dashboard with Python & Power BI
Ananya S
Ananya S

Posted on

I Built an End-to-End Mortgage Loan Analytics Dashboard with Python & Power BI

Business Intelligence isn't just about creating beautiful dashboards.

It's about transforming raw, messy data into meaningful business decisions.

To understand the complete analytics lifecycle, I built an end-to-end Mortgage Loan Portfolio Analytics Dashboard using Python, Power BI, Power Query, and DAX.

This project goes far beyond drag-and-drop visualizations—it covers data generation, ETL, dimensional modeling, KPI development, and executive dashboard design, closely mirroring how analytics teams work in real organizations.


Why I Built This Project

Financial institutions manage thousands of mortgage loans every year.

Business leaders constantly need answers to questions like:

  • Which regions have the highest loan exposure?
  • What is the portfolio default rate?
  • Which customers are at higher credit risk?
  • Are loan repayments improving over time?
  • Which loan officers manage the largest portfolios?

Without centralized reporting, these insights are scattered across multiple systems.

The goal of this project was to build a dashboard that converts raw mortgage data into actionable business intelligence.


Tech Stack

  • 🐍 Python
  • Pandas
  • Faker
  • Excel
  • Power Query
  • Power BI
  • DAX
  • Git & GitHub

Each tool played a different role throughout the analytics pipeline instead of using Power BI alone.


Project Architecture

Python
      │
      ▼
Synthetic Mortgage Dataset
      │
      ▼
Excel Files
      │
      ▼
Power Query (ETL)
      │
      ▼
Star Schema Data Model
      │
      ▼
DAX Measures
      │
      ▼
Interactive Power BI Dashboard
      │
      ▼
Business Insights
Enter fullscreen mode Exit fullscreen mode

This mirrors a real Business Intelligence workflow rather than simply importing a CSV into Power BI.


Step 1 — Generating Realistic Data

Instead of downloading a public dataset, I generated my own synthetic mortgage portfolio using Python.

The generated data includes:

  • 1,000 customers
  • 1,000 properties
  • 1,500 mortgage loans
  • 400,000 payment records
  • 25 loan officers
  • Calendar dimension table

Creating the data myself gave me complete control over relationships and business scenarios while making the project feel closer to a production system.


Step 2 — Data Cleaning with Power Query

Real-world datasets are rarely perfect.

To simulate production data, I intentionally introduced quality issues before cleaning them.

The ETL process included:

  • Standardizing employment types
  • Standardizing province names
  • Removing duplicate IDs
  • Handling missing values
  • Correcting data types
  • Creating income bands
  • Creating property appreciation categories

Power Query became the primary ETL layer before any reporting began.


Step 3 — Building a Star Schema

One of the biggest improvements over beginner Power BI projects was using a proper dimensional model.

Instead of connecting tables randomly, I designed a Star Schema.

Fact tables:

  • Loans
  • Payments

Dimension tables:

  • Customers
  • Properties
  • Loan Officers
  • Calendar

This model keeps DAX simpler while improving report performance and scalability.


Step 4 — Writing Business KPIs with DAX

Dashboards are only as valuable as the metrics they expose.

Some of the measures I created include:

Portfolio KPIs

  • Total Portfolio
  • Total Loans
  • Total Customers
  • Average Loan Amount
  • Average Interest Rate
  • Average Credit Score

Risk KPIs

  • Default Rate
  • Delinquency Rate
  • Average Days Late

Payment KPIs

  • Monthly Payments
  • Total Payments Received
  • Cumulative Payments

Instead of focusing on visuals first, I focused on translating business questions into measurable KPIs.


Dashboard Pages

The report is divided into multiple business-focused dashboards.

Executive Overview

Executive summary visualization

Provides leadership with an instant snapshot of:

  • Portfolio value
  • Default rate
  • Delinquency rate
  • Loan status
  • Monthly payment trends

Customer & Loan Analysis

Customer Analysis visualization

Focuses on:

  • Income segmentation
  • Credit score analysis
  • Borrowing behavior
  • Loan officer performance

Risk & Payment Analysis

Risk analysis visualization

Shows:

  • Average days late
  • Geographic delinquency
  • Credit score vs risk
  • Property type risk

Interactive slicers and custom navigation make exploration much easier for end users. The reddish orange rectangles in the top left corner in each image are custom buttons made for navigation between dashboard pages with ease.


Business Insights

The dashboard uncovered several useful observations:

  • Most loans remain active, with a relatively low default rate.
  • Mortgage exposure is concentrated in a few provinces.
  • Medium-income borrowers form the largest customer segment.
  • Higher income generally correlates with larger loan sizes.
  • Payment delays exist across all regions rather than a single hotspot.
  • Loan officer portfolios are unevenly distributed, suggesting opportunities for workload balancing.

These are the kinds of insights executives actually use to guide lending strategy.


The Most Valuable Lesson

One of the most interesting discoveries wasn't about Power BI—it was about data validation.

During analysis, I noticed that the generated ActualPayment values didn't always align with the calculated mortgage payment.

Rather than hiding the issue, I documented it.

In real organizations, analysts spend a significant amount of time validating data before building reports.

Finding data quality issues is part of the job.

Sometimes the dashboard is the easiest part.


Skills Practiced

This project helped me gain hands-on experience with:

  • Python data generation
  • ETL using Power Query
  • Star Schema modeling
  • DAX development
  • KPI design
  • Business Intelligence reporting
  • Dashboard storytelling
  • Executive reporting
  • Data validation
  • Git & GitHub workflows

Final Thoughts

One misconception I had before starting this project was that Power BI was mostly about creating charts.

After building this dashboard, I realized the visuals are only the final layer.

Most of the effort goes into:

  • Understanding business requirements
  • Cleaning and validating data
  • Designing an efficient data model
  • Creating meaningful KPIs
  • Translating business questions into insights

That's what transforms a dashboard into a real decision-making tool.


GitHub Repository

You can explore the complete project, including the Python scripts, datasets, Power BI dashboard, and documentation here:

Repository: Mortgage Loan Analytics Dashboard

I'd love to hear your feedback or suggestions for improving the project!

Top comments (4)

Collapse
 
arun_bhat_fc67d015c0dab35 profile image
Arun Bhat

Nice visualization, and very close to real world project..!

Collapse
 
zeroshotanu profile image
Ananya S

Thank you Arun!🙂

Collapse
 
avi4748sinha profile image
Avinash Sinha

great to see ur learning approach ananya , the same way i am making project in fastapi. If u dont mind we can connect.

Collapse
 
zeroshotanu profile image
Ananya S

Sure, we could.