Case study · Power BI · Business intelligence

Marketing Campaign Performance Analysis

Using Power BI to understand customer response, evaluate contact efficiency and identify opportunities to improve a bank's term deposit campaigns.

Portfolio projectUCI Bank Marketing dataset

A Portuguese retail bank contacted clients to promote term deposits. I framed the work as a business intelligence problem: help campaign managers understand which segments and contact patterns were associated with stronger conversion, while keeping the limits of observational data visible.

The business questions

  • How many contacted clients subscribed, and what was the overall conversion rate?
  • Which customer, channel and campaign-history segments responded most strongly?
  • How did conversion change as repeated contact attempts increased?
  • Which findings could support practical campaign tests without being presented as causal proof?

Data preparation in Power Query

I separated the work into a source-preserving staging query and a cleaned campaign-contact query. The process removed 12 exact duplicate rows, assigned explicit data types, renamed fields in business language and retained Unknown as a visible source category rather than silently treating it as missing.

The source used pdays = 999 to mean that a client had not been contacted previously. I separated that code into a previous-contact flag and a nullable days-since-contact field. I also created numeric subscription flags and ordered age bands for reliable measures and visuals.

The Power BI report

Power BI Campaign Overview page showing campaign KPIs and conversion by month, channel and previous campaign outcome.
The Campaign Overview connects headline performance with contact timing, channel and previous campaign outcomes.
Power BI Customer Segments page showing conversion by age band, job and education with customer filters.
Customer Segments compares response patterns while retaining the filters needed to test different customer profiles.
Power BI Contact Efficiency page comparing first-contact and repeated-contact conversion.
Contact Efficiency makes the declining return from repeated attempts visible and supports a practical campaign stop rule.

Explore the complete Power BI report

Download the original report to inspect the interactive pages, data model, Power Query transformations and DAX measures in Power BI Desktop.

Download the PBIX file

What the data showed

Overall conversion was 11.27%. Cellular contacts converted at 14.74%, compared with 5.23% for telephone contacts. A successful previous campaign outcome was the strongest observed segment, with a 65.11% conversion rate.

Contact efficiency weakened as attempts accumulated. Conversion declined from 13.04% on the first attempt to 5.49% for six or more attempts. Students and retired clients also showed high response rates, but their smaller volumes mean conversion and segment size should be considered together.

Recommendations

  • Prioritise structured follow-up for clients with a successful previous campaign outcome.
  • Test greater use of cellular contact where consent, regulation and operating practice allow it.
  • Review campaign effort after three attempts and introduce a stronger stop rule after five.
  • Investigate why May carried the highest contact volume but converted below the overall average.
  • Run controlled tests before treating any segment difference as a causal effect.

Important limitations

The dataset contains month and weekday labels but no complete contact date, so I did not manufacture a continuous time series. Call duration is only known after a call ends; it can explain completed-call outcomes but should not drive pre-contact targeting. The findings describe associations in historical campaign data and do not establish why clients subscribed.