SECTION 1: LEARNING OBJECTIVES
By the end of this lesson, you will be able to:
-
Define customer journey mapping and its role in digital banking.
-
Identify the key stages of the banking customer journey.
-
Map the customer journey across touchpoints and channels.
-
Identify pain points and opportunities for improvement.
-
Apply design thinking to improve customer experience.
-
Implement journey analytics to measure and optimise the journey.
-
Design personalised customer experiences using data and AI.
-
Develop a customer journey strategy for a bank.
SECTION 2: WHAT IS CUSTOMER JOURNEY MAPPING?
2.1 Definition and Importance
Definition: A customer journey map is a visual representation of the customer’s experience with a bank across all touchpoints and channels, from initial awareness to post-service.
Why Journey Mapping Matters:
| Benefit | Description |
|---|---|
| Customer Understanding | Gain deep insight into customer needs and behaviours. |
| Pain Point Identification | Identify friction points and frustrations. |
| Opportunity Discovery | Uncover areas for innovation and improvement. |
| Cross-Functional Alignment | Align teams around the customer experience. |
| Measurement | Establish baseline for CX improvement. |
2.2 Key Components of a Journey Map
┌─────────────────────────────────────────────────────────────────────────────┐ │ CUSTOMER JOURNEY MAP COMPONENTS │ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────────────────────────────────────────────────────────────┐ │ │ │ CUSTOMER PERSONA │ │ │ │ (Who is the customer?) │ │ │ └──────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────┐ │ │ │ JOURNEY STAGES │ │ │ │ (Awareness → Consideration → Acquisition → Onboarding → │ │ │ │ Usage → Retention → Advocacy → Departure) │ │ │ └──────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────┐ │ │ │ TOUCHPOINTS │ │ │ │ (Website, mobile app, branch, call centre, etc.) │ │ │ └──────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────┐ │ │ │ CHANNELS │ │ │ │ (Digital, physical, human, self-service) │ │ │ └──────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────┐ │ │ │ ACTIONS & THOUGHTS │ │ │ │ (What does the customer do and think?) │ │ │ └──────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────┐ │ │ │ EMOTIONAL CURVE │ │ │ │ (Positive and negative emotions throughout the journey) │ │ │ └──────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────┐ │ │ │ PAIN POINTS & OPPORTUNITIES │ │ │ │ (Where are the problems and what can we improve?) │ │ │ └──────────────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────────┘
SECTION 3: THE BANKING CUSTOMER JOURNEY
3.1 Journey Stages
| Stage | Description | Key Activities |
|---|---|---|
| 1. Awareness | Customer becomes aware of the bank. | Marketing, advertising, word-of-mouth. |
| 2. Consideration | Customer researches and compares. | Website visits, reviews, comparisons. |
| 3. Acquisition | Customer opens an account or buys a product. | Application, KYC, approval. |
| 4. Onboarding | Customer gets set up with the bank. | Account activation, card issuance, app setup. |
| 5. Usage | Customer uses banking services. | Transactions, payments, transfers. |
| 6. Retention | Customer stays and grows relationship. | Loyalty programs, cross-sell, support. |
| 7. Advocacy | Customer recommends the bank. | Referrals, reviews, social sharing. |
| 8. Departure | Customer leaves the bank. | Account closure, feedback. |
3.2 Touchpoints and Channels
| Stage | Key Touchpoints | Channels |
|---|---|---|
| Awareness | Ads, social media, articles, referrals. | Social, search, email. |
| Consideration | Website, reviews, comparisons, branch. | Web, mobile, in-person. |
| Acquisition | Application form, KYC, verification. | Mobile, web, branch. |
| Onboarding | Welcome email, app download, first deposit. | Email, mobile, web. |
| Usage | Mobile app, online banking, payments. | Mobile, web, ATM. |
| Retention | Personalised offers, loyalty, support. | App, email, call centre. |
| Advocacy | Referral program, reviews, social sharing. | App, social, email. |
| Departure | Account closure, feedback survey. | Web, call centre. |
3.3 Emotional Journey
┌─────────────────────────────────────────────────────────────────────────────┐ │ EMOTIONAL JOURNEY │ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ Positive │ │ ^ │ │ | │ │ | Awareness Consideration Acquisition Onboarding │ │ | | | | | │ │ | | | | | │ │ | * * * * │ │ | * │ │ | * │ │ | * * * │ │ | | | \ │ │ | | | \ │ │ | * * * │ │ | * * * * * │ │ | | | | | | │ │ | | | | | | │ │ | | | | | | │ │ | | | | | | │ │ | | | | | | │ │ +--------*-------------*-------------*-------------*-------------*------│ │ | | | | | | │ │ Negative Awareness Consideration Acquisition Onboarding Usage │ │ │ └─────────────────────────────────────────────────────────────────────────────┘
SECTION 4: DESIGN THINKING FOR BANKING
4.1 The Design Thinking Process
| Phase | Description | Banking Example |
|---|---|---|
| Empathise | Understand customer needs and pain points. | Customer interviews, journey mapping. |
| Define | Define the problem statement. | “Account opening is too slow and complex.” |
| Ideate | Brainstorm solutions. | “What if we could open an account in 5 minutes?” |
| Prototype | Build a quick prototype. | Wireframe of simplified account opening flow. |
| Test | Test with real customers. | User testing, feedback collection. |
4.2 Applying Design Thinking to Banking
| Problem | Solution | Prototype | Test |
|---|---|---|---|
| Slow Account Opening | Digital KYC, automated verification. | Simplified application flow. | Pilot with 100 customers. |
| Complex Product Selection | Personalised recommendations. | AI-powered product selector. | A/B testing with 500 users. |
| Poor Mobile Experience | Mobile-first redesign. | Prototype app with improved UX. | User testing sessions. |
| Confusing Statements | Simplified visual statements. | Interactive statement prototype. | Customer feedback survey. |
SECTION 5: JOURNEY ANALYTICS
5.1 Key Journey Metrics
| Metric | Description | Measurement |
|---|---|---|
| Conversion Rate | % of users completing desired action. | Funnel analysis. |
| Drop-off Rate | % of users leaving the journey. | Funnel analysis. |
| Time to Complete | Time taken to complete a journey. | Time tracking. |
| Effort Score | How easy is the journey? | Survey, analytics. |
| Satisfaction Score | How satisfied is the customer? | Survey, feedback. |
| NPS (Net Promoter Score) | Likelihood to recommend. | Survey. |
| Churn Rate | % of customers leaving. | Customer data. |
| Customer Lifetime Value | Total value of customer relationship. | Financial data. |
5.2 Funnel Analysis
┌─────────────────────────────────────────────────────────────────────────────┐ │ FUNNEL ANALYSIS – ACCOUNT OPENING │ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ 100,000 ┌─────────────────────────────────────────┐ │ │ Website Visits │ │ │ │ │ │ │ │ │ ▼ │ │ │ │ 75,000 │ ● │ │ │ Starts Application │ │ │ │ │ │ │ ■ │ │ │ │ ▼ │ │ │ │ │ │ 50,000 │ ● │ │ │ │ │ Completes Application │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ▼ │ │ │ │ │ │ │ 35,000 │ │ │ │ │ │ │ Submits for Approval │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ▼ │ │ │ │ │ │ │ 30,000 │ │ │ │ │ │ │ Approved │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ▼ │ │ │ │ │ │ │ 25,000 │ │ │ │ │ │ │ Account Activated │ │ │ │ │ │ │ │ └─────────────────────────────────────────────────────────────────────────────┘
SECTION 6: IMPLEMENTATION IN PYTHON – JOURNEY ANALYTICS
# =================================================================== # MODULE 2, LESSON 2: CUSTOMER JOURNEY MAPPING AND EXPERIENCE DESIGN # =================================================================== import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns from datetime import datetime, timedelta import warnings warnings.filterwarnings('ignore') print("="*70) print("CUSTOMER JOURNEY MAPPING AND EXPERIENCE DESIGN") print("="*70) # ---------------------------------------------------------------- # PART A: JOURNEY MAP TEMPLATE # ---------------------------------------------------------------- print("\n" + "-"*60) print("PART A: Customer Journey Map Template") print("-"*60) journey_stages = ['Awareness', 'Consideration', 'Acquisition', 'Onboarding', 'Usage', 'Retention', 'Advocacy', 'Departure'] # Define touchpoints, emotions, pain points, and opportunities touchpoints = { 'Awareness': 'Social Media, Ads, Word of Mouth', 'Consideration': 'Website, Reviews, Comparisons', 'Acquisition': 'Online Application, KYC, Verification', 'Onboarding': 'Welcome Email, App Download, Card Activation', 'Usage': 'Mobile App, Online Banking, Payments', 'Retention': 'Personalised Offers, Customer Service, Loyalty', 'Advocacy': 'Referral Program, Reviews, Social Sharing', 'Departure': 'Account Closure, Feedback Survey' } emotions = { 'Awareness': 1, 'Consideration': 0, 'Acquisition': -1, 'Onboarding': 0, 'Usage': 2, 'Retention': 1, 'Advocacy': 2, 'Departure': -2 } pain_points = { 'Awareness': 'Not finding relevant information', 'Consideration': 'Overwhelming choices, lack of transparency', 'Acquisition': 'Lengthy application, complex KYC', 'Onboarding': 'Delayed activation, confusing interface', 'Usage': 'Slow transactions, app crashes', 'Retention': 'Generic offers, poor customer service', 'Advocacy': 'No referral incentives', 'Departure': 'Difficult closure process' } opportunities = { 'Awareness': 'Targeted marketing campaigns', 'Consideration': 'Personalised product recommendations', 'Acquisition': 'Simplified application, instant approval', 'Onboarding': 'Guided setup, proactive education', 'Usage': 'Real-time insights, personalised notifications', 'Retention': 'AI-powered personalisation, loyalty rewards', 'Advocacy': 'Referral program, customer appreciation', 'Departure': 'Win-back offers, feedback collection' } # Create journey map DataFrame journey_df = pd.DataFrame({ 'Stage': journey_stages, 'Touchpoints': [touchpoints[s] for s in journey_stages], 'Emotion': [emotions[s] for s in journey_stages], 'Pain Points': [pain_points[s] for s in journey_stages], 'Opportunities': [opportunities[s] for s in journey_stages] }) print("Customer Journey Map:") print(journey_df.to_string(index=False)) # ---------------------------------------------------------------- # PART B: EMOTIONAL JOURNEY VISUALISATION # ---------------------------------------------------------------- print("\n" + "-"*60) print("PART B: Emotional Journey Visualisation") print("-"*60) fig, ax = plt.subplots(figsize=(12, 6)) # Create color map for emotions colors = ['red' if e < 0 else 'green' if e > 0 else 'gray' for e in emotions.values()] bars = ax.bar(emotions.keys(), emotions.values(), color=colors, alpha=0.7) ax.axhline(y=0, color='black', linestyle='-', alpha=0.3) ax.set_ylabel('Emotional Score') ax.set_title('Customer Emotional Journey') ax.grid(True, alpha=0.3) # Add value labels on bars for bar, value in zip(bars, emotions.values()): ax.text(bar.get_x() + bar.get_width()/2, value + (0.1 if value >= 0 else -0.3), str(value), ha='center', va='bottom' if value >= 0 else 'top', fontweight='bold') plt.tight_layout() plt.savefig('emotional_journey.png', dpi=300, bbox_inches='tight') plt.show() print("Emotional journey visualisation saved as 'emotional_journey.png'") # ---------------------------------------------------------------- # PART C: FUNNEL ANALYSIS # ---------------------------------------------------------------- print("\n" + "-"*60) print("PART C: Funnel Analysis") print("-"*60) # Define funnel stages and counts funnel_stages = ['Website Visits', 'Started Application', 'Completed Application', 'Submitted for Approval', 'Approved', 'Account Activated'] funnel_counts = [100000, 75000, 50000, 35000, 30000, 25000] conversion_rates = [100, 75, 50, 35, 30, 25] funnel_df = pd.DataFrame({ 'Stage': funnel_stages, 'Count': funnel_counts, 'Conversion Rate (%)': conversion_rates }) print("Account Opening Funnel:") print(funnel_df.to_string(index=False)) # Visualise funnel fig, ax = plt.subplots(figsize=(12, 6)) colors = ['#2ecc71', '#27ae60', '#f1c40f', '#e67e22', '#e74c3c', '#c0392b'] bars = ax.barh(funnel_stages, funnel_counts, color=colors, alpha=0.7) # Add conversion rate labels for bar, rate in zip(bars, conversion_rates): ax.text(bar.get_width() + 5000, bar.get_y() + bar.get_height()/2, f'{rate}%', ha='left', va='center', fontweight='bold') ax.set_xlabel('Number of Customers') ax.set_title('Account Opening Funnel') ax.grid(True, alpha=0.3, axis='x') plt.tight_layout() plt.savefig('funnel_analysis.png', dpi=300, bbox_inches='tight') plt.show() print("Funnel analysis visualisation saved as 'funnel_analysis.png'") # ---------------------------------------------------------------- # PART D: JOURNEY METRICS DASHBOARD # ---------------------------------------------------------------- print("\n" + "-"*60) print("PART D: Journey Metrics Dashboard") print("-"*60) journey_metrics = pd.DataFrame({ 'Metric': [ 'Time to Complete Account Opening', 'Application Drop-off Rate', 'Onboarding Completion Rate', 'First Transaction Time', 'App Adoption Rate', 'Digital Engagement Score', 'Journey NPS', 'Churn Rate (First 30 Days)' ], 'Current Value': [ '12.5 min', '35%', '82%', '2.3 days', '78%', '7.2/10', '62', '8%' ], 'Target Value': [ '5 min', '< 20%', '> 90%', '< 1 day', '> 85%', '> 8.5/10', '> 70', '< 5%' ], 'Status': ['🔴', '🔴', '🟡', '🟡', '🟡', '🟡', '🔴', '🔴'] }) print("Journey Metrics Dashboard:") print(journey_metrics.to_string(index=False)) # ---------------------------------------------------------------- # PART E: CUSTOMER PERSONA TEMPLATE # ---------------------------------------------------------------- print("\n" + "-"*60) print("PART E: Customer Persona Template") print("-"*60) persona_template = """ --- CUSTOMER PERSONA --- NAME: ________________________________ DEMOGRAPHICS: - Age: _______________ - Occupation: _______________ - Location: _______________ - Income: _______________ BEHAVIOUR: - Banking Habits: _______________ - Digital Literacy: _______________ - Financial Goals: _______________ PAIN POINTS: 1. ________________________________ 2. ________________________________ 3. ________________________________ GOALS AND NEEDS: 1. ________________________________ 2. ________________________________ 3. ________________________________ JOURNEY HIGHLIGHTS: - Awareness: _______________ - Consideration: _______________ - Acquisition: _______________ - Usage: _______________ - Retention: _______________ PREFERRED CHANNELS: - Mobile App: _____ - Online Banking: _____ - Branch: _____ - Contact Centre: _____ - Chatbot: _____ """ print("Customer Persona Template:") print(persona_template) # Example persona example_persona = """ --- EXAMPLE PERSONA --- NAME: Sarah Chen DEMOGRAPHICS: - Age: 28 - Occupation: Marketing Manager - Location: San Francisco - Income: $85,000 BEHAVIOUR: - Banking Habits: Mobile-first, uses banking app daily - Digital Literacy: High, tech-savvy - Financial Goals: Save for a house, invest for retirement PAIN POINTS: 1. High fees on traditional accounts 2. Complex and confusing products 3. Slow response times for customer service GOALS AND NEEDS: 1. Simple, transparent banking 2. Low fees and competitive rates 3. Easy to use mobile app 4. Financial guidance and insights JOURNEY HIGHLIGHTS: - Awareness: Social media ad - Consideration: Compared with other digital banks - Acquisition: Opened account online in 10 minutes - Usage: Uses app for daily transactions and savings - Retention: Appreciates personalised offers PREFERRED CHANNELS: - Mobile App: 5/5 - Online Banking: 4/5 - Branch: 1/5 - Contact Centre: 2/5 - Chatbot: 4/5 """ print("\nExample Persona:") print(example_persona) # ---------------------------------------------------------------- # PART F: EXPERIENCE IMPROVEMENT PRIORITIES # ---------------------------------------------------------------- print("\n" + "-"*60) print("PART F: Experience Improvement Priorities") print("-"*60) priorities = pd.DataFrame({ 'Priority': ['High', 'High', 'Medium', 'Medium', 'Low'], 'Area': [ 'Onboarding Experience', 'Mobile App Performance', 'Personalisation', 'Customer Support Response Time', 'Branch Experience' ], 'Impact (1-10)': [9, 8, 7, 7, 5], 'Effort (1-10)': [6, 4, 7, 5, 8], 'Action': [ 'Simplify KYC, reduce time to under 5 minutes', 'Optimise app performance, reduce crash rate', 'Implement ML for personalised offers', 'Implement AI chatbot for 24/7 support', 'Integrate digital and branch experiences' ] }) print("Experience Improvement Priorities:") print(priorities.to_string(index=False)) # ---------------------------------------------------------------- # PART G: SUMMARY AND RECOMMENDATIONS # ---------------------------------------------------------------- print("\n" + "="*70) print("PART G: Summary and Recommendations") print("="*70) print(""" Customer Journey Mapping – Key Takeaways: 1. Customer journey mapping visualises the end-to-end customer experience. 2. Key stages: Awareness → Consideration → Acquisition → Onboarding → Usage → Retention → Advocacy → Departure. 3. Touchpoints and channels vary across stages. 4. Emotional journey visualises customer feelings at each stage. 5. Funnel analysis identifies drop-off points and conversion opportunities. 6. Design thinking provides a framework for improving the journey. 7. Journey metrics (conversion, drop-off, satisfaction, NPS) measure performance. Recommendations: - Map your customer journey end-to-end. - Identify and address pain points. - Use design thinking to prototype solutions. - Measure and monitor journey metrics. - Personalise the journey using data and AI. - Continuously gather and act on customer feedback. """) print("="*70) print("END OF LESSON 2 – MODULE 2") print("="*70)
SECTION 7: SUMMARY FOR THE DATA PRACTITIONER
-
Customer journey mapping visualises the end-to-end customer experience.
-
Key stages include Awareness, Consideration, Acquisition, Onboarding, Usage, Retention, Advocacy, and Departure.
-
Touchpoints and channels vary across each stage of the journey.
-
Emotional journey mapping helps identify highs and lows in customer experience.
-
Funnel analysis identifies drop-off points and conversion opportunities.
-
Design thinking provides a human-centred framework for improving the journey.
-
Journey metrics (conversion, drop-off, satisfaction, NPS) measure performance.
SECTION 8: RECOMMENDED NEXT STEPS
-
Map your organisation’s customer journey.
-
Identify pain points and areas for improvement.
-
Create customer personas for your target segments.
-
Implement journey analytics to measure performance.
-
Use design thinking to prototype solutions.
-
Prepare for Lesson 3: Personalisation in Digital Banking.