Instagram
youtube
Facebook
Twitter

Understanding the Dataset and Data Model

 

In this lesson, we’ll explore the complete dataset used for analyzing the 2019 credit card marketing campaign. We’ll go through the tables, the key metrics and DAX formulas created, and how all the data is related. By the end of this lesson, you'll be able to understand how data is structured and how it can be used for deeper analysis in Power BI.


1. Table: cost_type – Marketing & Cost Data

This table contains all cost-related data, especially related to marketing activities, broken down by type and quarter.

Important Columns & Measures:

  • CostPerType_Q: Cost per type per quarter.

  • Marketing_Cost: Total marketing expenses.
    DAX: SUM(cost_type[Marketing Cost])

  • MCAC (Marketing Cost per Acquired Customer): Efficiency of marketing spend.
    DAX: DIVIDE([Marketing_Cost], [New_Customers])

  • Profit: Revenue minus cost.
    DAX: [Total Revenue] - [Total Cost]

  • Total Cost: Sum of all costs.
    DAX: SUM(cost_type[CostPerType_Q])

  • Quarter and Year: Time tracking.

  • Type: Type of cost (e.g., Marketing, Operational).


 2. Table: Finance_all – Revenue & Transaction Data

This table holds all customer transactions and revenue information.

Key Columns & Measures:

  • Actual Revenue: Total revenue.
    DAX: SUM(Finance_all[Revenue])

  • CLV (Customer Lifetime Value): Value of customer over time.
    DAX: Revenue * Months_on_book

  • First_Quarter: The quarter when the customer joined.
    DAX: CALCULATE(MIN(Date), ALLEXCEPT(Finance_all, CLIENTNUM))

  • New_Customers: Customers acquired in the first quarter.
    DAX: DISTINCTCOUNT where Date = First_Quarter

  • RevenuePerCustomer: Average revenue per customer.
    DAX: DIVIDE(SUM(Revenue), DISTINCTCOUNT(CLIENTNUM))

  • Trans_Amount, Quarter, Year, Date: Help in time-based analysis.


 3. Table: info_all – Customer Demographics & Behavior

This table includes customer details such as age, income, card type, and churn information.

Key Columns & Measures:

  • Age_Group: Categorizes millennials.
    DAX: IF(Age between 23-39, "Millennials", "Others")

  • Churn Rate: Rate of customers who left.
    DAX: DIVIDE(Churned Customers, Customer Count)

  • Churned Customers:
    DAX: COUNT where Attrition_Flag = "Attrited Customer"

  • Customer Count:
    DAX: DISTINCTCOUNT(CLIENTNUM)

  • Tenure_Bucket: Categorizes based on how long customers stayed.
    Example:

    • 0–6 Months

    • 7–12 Months

    • 13–24 Months
      DAX: SWITCH using Months_on_book

  • Utilization_Bucket: Grouped by how much credit is used.
    Example:

    • 0–20%

    • 21–40%

    • Up to 100%
      DAX: SWITCH using Avg_Utilization_Ratio

  • Other columns: Gender, Income, Education, Marital Status, etc.


4. Table: Revenue Target – Goals & Variance

This table tracks revenue targets, actual achievements, and customer-specific goals.

Important Metrics:

  • Revenue_Variance: Difference between actual and target.
    DAX: Actual Revenue - Target Revenue

  • Target Achievement %:
    DAX: DIVIDE(Actual Revenue, Target Revenue)

  • Target Revenue: Total goal per period.
    DAX: SUM(Target Revenue)

  • Includes columns like Card_Category, CLIENTNUM, Date, Quarter, Type, Year.


 Data Model: How the Tables Are Connected

Understanding relationships between tables is critical for accurate reporting and insights.

Table 1

Column

Table 2

Column

Cardinality

Active

Cross Filter

Security Filter

Finance_all

CLIENTNUM

Info_all

CLIENTNUM

Many to One

 Yes

Both

 Yes

Cost_type

YEAR

Finance_all

YEAR

Many to Many

 Yes

Both

 No

Finance_all

Date

Revenue_target

Date

Many to Many

 Yes

Both

 No

Revenue_target

CLIENTNUM

Info_all

CLIENTNUM

Many to Many

 No

Both

 No

Finance_all

YEAR

Info_all

YEAR

Many to Many

 Yes

Both

 No


Summary: Why This Matters

  • These tables and relationships allow us to analyze marketing effectiveness, customer behavior, and revenue generation across different customer segments.

  • Using Power BI and DAX, we can create interactive dashboards to make data-driven decisions.

  • The structure helps track performance, identify churn risks, and optimize campaigns for better ROI.