SECTION 1: LEARNING OBJECTIVES

By the end of this lesson, you will be able to:

  • Understand the importance of compliance culture in digital banking.

  • Identify the key elements of a strong compliance culture.

  • Apply change management principles to compliance initiatives.

  • Implement compliance training and awareness programmes.

  • Measure compliance culture using key metrics.

  • Understand the role of leadership in compliance culture.

  • Develop a compliance culture strategy for a digital bank.


SECTION 2: COMPLIANCE CULTURE

2.1 What is Compliance Culture?

Compliance culture is the set of values, beliefs, and behaviours that shape how an organisation approaches regulatory compliance. It is the “tone from the top” that influences how employees think about and act on compliance obligations.

2.2 Elements of a Strong Compliance Culture
 
 
Element Description Implementation
Tone from the Top Leadership commitment to compliance. CEO and board engagement.
Accountability Clear responsibility for compliance. Compliance roles and ownership.
Transparency Open communication about compliance. Reporting, whistleblowing.
Training Continuous compliance education. Regular training programmes.
Incentives Rewarding compliant behaviour. Performance metrics.
Consequences Enforcement for non-compliance. Disciplinary actions.
Continuous Improvement Ongoing compliance enhancement. Feedback loops.
2.3 Compliance Culture Maturity Model
text
┌─────────────────────────────────────────────────────────────────────────────┐
│                    COMPLIANCE CULTURE MATURITY MODEL                      │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  Level 1           Level 2           Level 3           Level 4             │
│  ┌─────────┐      ┌─────────┐      ┌─────────┐      ┌─────────┐          │
│  │ Reactive│      │ Rule-Based│    │ Value-  │      │ Embedded│          │
│  │         │ ──→ │           │ ──→ │ Based   │ ──→ │         │          │
│  └─────────┘      └─────────┘      └─────────┘      └─────────┘          │
│                                                                             │
│  Level 5                                                                   │
│  ┌─────────┐                                                             │
│  │ Adaptive│                                                             │
│  └─────────┘                                                             │
│                                                                             │
│  • React to     • Follow      • Proactive   • Integrated      • Self-     │
│    incidents      rules        compliance     compliance       healing    │
│  • Minimal       • Minimal     • Values-     • Culture        • Continuous│
│    awareness      engagement    driven        across          improvement│
│                                  engagement    organisation                │
└─────────────────────────────────────────────────────────────────────────────┘

SECTION 3: CHANGE MANAGEMENT FOR COMPLIANCE

3.1 The Change Management Process
text
┌─────────────────────────────────────────────────────────────────────────────┐
│                    CHANGE MANAGEMENT PROCESS                              │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  ┌──────────────────────────────────────────────────────────────────────┐   │
│  │                    AWARENESS                                        │   │
│  │  Communicate the need for change                                    │   │
│  └──────────────────────────────────────────────────────────────────────┘   │
│                                    │                                        │
│                                    v                                        │
│  ┌──────────────────────────────────────────────────────────────────────┐   │
│  │                    DESIRE                                           │   │
│  │  Build motivation for change                                        │   │
│  └──────────────────────────────────────────────────────────────────────┘   │
│                                    │                                        │
│                                    v                                        │
│  ┌──────────────────────────────────────────────────────────────────────┐   │
│  │                    KNOWLEDGE                                        │   │
│  │  Provide training and resources                                     │   │
│  └──────────────────────────────────────────────────────────────────────┘   │
│                                    │                                        │
│                                    v                                        │
│  ┌──────────────────────────────────────────────────────────────────────┐   │
│  │                    ABILITY                                          │   │
│  │  Enable employees to implement change                               │   │
│  └──────────────────────────────────────────────────────────────────────┘   │
│                                    │                                        │
│                                    v                                        │
│  ┌──────────────────────────────────────────────────────────────────────┐   │
│  │                    REINFORCEMENT                                    │   │
│  │  Sustain and reinforce change                                       │   │
│  └──────────────────────────────────────────────────────────────────────┘   │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘
3.2 ADKAR Model for Compliance Change
 
 
Stage Description Compliance Application
Awareness Understand the need for change. Communicate new compliance requirements.
Desire Want to support the change. Address concerns, build commitment.
Knowledge Know how to implement change. Provide compliance training.
Ability Can implement change. Enable compliance processes.
Reinforcement Sustain the change. Monitor compliance, provide feedback.

SECTION 4: COMPLIANCE TRAINING AND AWARENESS

4.1 Training Programme Elements
 
 
Element Description Implementation
Induction Training Compliance training for new employees. Onboarding programmes.
Annual Refresher Regular compliance updates. Annual training sessions.
Specialised Training Role-specific compliance training. Targeted programmes.
Case Studies Real-world compliance examples. Scenario-based learning.
Testing Assess compliance knowledge. Quizzes, assessments.
Feedback Gather feedback on training. Surveys, evaluations.
4.2 Compliance Training Topics
 
 
Topic Description Frequency
Code of Conduct Ethical behaviour. Annually
Data Privacy GDPR, CCPA compliance. Annually
AML/KYC Anti-money laundering requirements. Annually
Fair Lending ECOA compliance. Annually
Cybersecurity Security awareness. Annually
Whistleblowing Reporting mechanisms. Annually

SECTION 5: LEADERSHIP AND COMPLIANCE CULTURE

5.1 Leadership Responsibilities
 
 
Responsibility Description Implementation
Setting the Tone Demonstrate commitment to compliance. Visible leadership.
Resource Allocation Provide compliance resources. Budget, staffing.
Accountability Hold teams accountable. Performance metrics.
Communication Communicate compliance expectations. Regular messaging.
Role Modelling Model compliant behaviour. Lead by example.
Decision-Making Consider compliance in decisions. Compliance impact assessments.
5.2 Building a Compliance Culture
 
 
Action Description Impact
Leadership Commitment Leaders champion compliance. Sets the tone.
Employee Engagement Involve employees in compliance. Ownership.
Recognition Reward compliance champions. Motivation.
Communication Regular compliance updates. Awareness.
Training Continuous compliance education. Knowledge.
Reporting Transparent compliance reporting. Trust.

SECTION 6: IMPLEMENTATION IN PYTHON – COMPLIANCE CULTURE TOOLS

python
# ===================================================================
# MODULE 6, LESSON 7: COMPLIANCE CULTURE AND CHANGE MANAGEMENT
# ===================================================================

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("COMPLIANCE CULTURE AND CHANGE MANAGEMENT")
print("="*70)

# ----------------------------------------------------------------
# PART A: COMPLIANCE CULTURE ASSESSMENT
# ----------------------------------------------------------------

print("\n" + "-"*60)
print("PART A: Compliance Culture Assessment")
print("-"*60)

culture_dimensions = {
    'Leadership Commitment': {'Current Score': 3, 'Target Score': 5, 'Priority': 'High'},
    'Employee Engagement': {'Current Score': 3, 'Target Score': 5, 'Priority': 'High'},
    'Communication': {'Current Score': 3, 'Target Score': 5, 'Priority': 'High'},
    'Training and Awareness': {'Current Score': 3, 'Target Score': 5, 'Priority': 'High'},
    'Accountability': {'Current Score': 3, 'Target Score': 5, 'Priority': 'High'},
    'Transparency': {'Current Score': 3, 'Target Score': 5, 'Priority': 'High'},
    'Continuous Improvement': {'Current Score': 2, 'Target Score': 4, 'Priority': 'Medium'},
    'Consequences': {'Current Score': 3, 'Target Score': 5, 'Priority': 'High'}
}

culture_df = pd.DataFrame(culture_dimensions).T
print("Compliance Culture Assessment:")
print(culture_df)

# Visualise
fig, ax = plt.subplots(figsize=(10, 6))
dimensions = list(culture_df.index)
current = culture_df['Current Score'].tolist()
target = culture_df['Target Score'].tolist()

x = np.arange(len(dimensions))
width = 0.35

ax.barh(x - width/2, current, width, label='Current', color='blue', alpha=0.7)
ax.barh(x + width/2, target, width, label='Target', color='green', alpha=0.7)

ax.set_yticks(x)
ax.set_yticklabels(dimensions)
ax.set_xlabel('Maturity Score (1-5)')
ax.set_title('Compliance Culture Assessment')
ax.legend()
ax.grid(True, alpha=0.3, axis='x')

plt.tight_layout()
plt.savefig('compliance_culture.png', dpi=300, bbox_inches='tight')
plt.show()
print("Compliance culture visualisation saved as 'compliance_culture.png'")

# ----------------------------------------------------------------
# PART B: EMPLOYEE COMPLIANCE TRAINING SIMULATION
# ----------------------------------------------------------------

print("\n" + "-"*60)
print("PART B: Employee Compliance Training Simulation")
print("-"*60)

class ComplianceTraining:
    """Simulate compliance training management."""
    
    def __init__(self):
        self.employees = []
        self.training_records = []
        self.training_courses = {
            'Code of Conduct': {'duration': 1, 'frequency': 'annual'},
            'Data Privacy': {'duration': 1.5, 'frequency': 'annual'},
            'AML/KYC': {'duration': 2, 'frequency': 'annual'},
            'Fair Lending': {'duration': 1.5, 'frequency': 'annual'},
            'Cybersecurity': {'duration': 1, 'frequency': 'annual'},
            'Whistleblowing': {'duration': 0.5, 'frequency': 'annual'}
        }
    
    def add_employee(self, name, department):
        """Add an employee to the training system."""
        employee = {
            'name': name,
            'department': department,
            'training_completed': []
        }
        self.employees.append(employee)
        return employee
    
    def complete_training(self, employee_name, course_name):
        """Record training completion."""
        employee = next((e for e in self.employees if e['name'] == employee_name), None)
        if not employee:
            return {'error': 'Employee not found'}
        
        if course_name not in self.training_courses:
            return {'error': 'Course not found'}
        
        record = {
            'employee': employee_name,
            'course': course_name,
            'completed_at': datetime.now().isoformat()
        }
        self.training_records.append(record)
        employee['training_completed'].append(course_name)
        return record
    
    def get_training_status(self):
        """Get training completion status."""
        status = []
        for employee in self.employees:
            completed = len(employee['training_completed'])
            total = len(self.training_courses)
            status.append({
                'employee': employee['name'],
                'department': employee['department'],
                'completed': completed,
                'total': total,
                'percentage': (completed / total) * 100
            })
        return pd.DataFrame(status)
    
    def get_compliance_score(self):
        """Calculate overall compliance training score."""
        total_employees = len(self.employees)
        if total_employees == 0:
            return 0
        
        total_completed = sum(len(e['training_completed']) for e in self.employees)
        total_required = total_employees * len(self.training_courses)
        return (total_completed / total_required) * 100

# Test compliance training
ct = ComplianceTraining()

# Add employees
ct.add_employee('Alice', 'Operations')
ct.add_employee('Bob', 'Risk')
ct.add_employee('Charlie', 'Compliance')
ct.add_employee('Diana', 'IT')
ct.add_employee('Eve', 'Marketing')

# Complete training
ct.complete_training('Alice', 'Code of Conduct')
ct.complete_training('Alice', 'Data Privacy')
ct.complete_training('Bob', 'Code of Conduct')
ct.complete_training('Bob', 'AML/KYC')
ct.complete_training('Bob', 'Fair Lending')
ct.complete_training('Charlie', 'Code of Conduct')
ct.complete_training('Charlie', 'Data Privacy')
ct.complete_training('Charlie', 'AML/KYC')
ct.complete_training('Charlie', 'Fair Lending')
ct.complete_training('Charlie', 'Cybersecurity')
ct.complete_training('Charlie', 'Whistleblowing')
ct.complete_training('Diana', 'Cybersecurity')
ct.complete_training('Diana', 'Code of Conduct')

# Get status
status = ct.get_training_status()
print("Training Status:")
print(status.to_string(index=False))

print(f"\nOverall Compliance Training Score: {ct.get_compliance_score():.1f}%")

# ----------------------------------------------------------------
# PART C: EMPLOYEE COMPLIANCE SURVEY SIMULATION
# ----------------------------------------------------------------

print("\n" + "-"*60)
print("PART C: Employee Compliance Survey Simulation")
print("-"*60)

# Generate survey data
np.random.seed(42)
n_employees = 100

survey_data = pd.DataFrame({
    'employee_id': range(1, n_employees + 1),
    'understanding_score': np.random.randint(1, 6, n_employees),
    'commitment_score': np.random.randint(1, 6, n_employees),
    'awareness_score': np.random.randint(1, 6, n_employees),
    'reporting_willingness': np.random.randint(1, 6, n_employees),
    'leadership_support': np.random.randint(1, 6, n_employees)
})

# Calculate overall culture score
survey_data['culture_score'] = (
    survey_data['understanding_score'] * 0.25 +
    survey_data['commitment_score'] * 0.25 +
    survey_data['awareness_score'] * 0.20 +
    survey_data['reporting_willingness'] * 0.15 +
    survey_data['leadership_support'] * 0.15
)

print("Compliance Survey Results:")
print(survey_data.describe())

# Visualise
fig, axes = plt.subplots(2, 3, figsize=(15, 10))

# Survey scores distribution
for i, col in enumerate(['understanding_score', 'commitment_score', 'awareness_score', 
                         'reporting_willingness', 'leadership_support']):
    ax = axes[i // 3, i % 3]
    ax.hist(survey_data[col], bins=5, edgecolor='black', alpha=0.7, color='teal')
    ax.set_xlabel(col)
    ax.set_ylabel('Count')
    ax.set_title(f'{col.replace("_", " ").title()}')
    ax.grid(True, alpha=0.3)

plt.tight_layout()
plt.savefig('compliance_survey.png', dpi=300, bbox_inches='tight')
plt.show()
print("Compliance survey visualisation saved as 'compliance_survey.png'")

# ----------------------------------------------------------------
# PART D: COMPLIANCE CULTURE METRICS
# ----------------------------------------------------------------

print("\n" + "-"*60)
print("PART D: Compliance Culture Metrics")
print("-"*60)

culture_metrics = pd.DataFrame({
    'Metric': [
        'Compliance Training Completion',
        'Employee Understanding Score',
        'Leadership Support Score',
        'Reporting Willingness',
        'Compliance Culture Score',
        'Employee Engagement Score',
        'Whistleblowing Rate',
        'Compliance Incident Rate'
    ],
    'Current Value': [
        '72%',
        '3.8/5',
        '3.5/5',
        '3.2/5',
        '3.6/5',
        '65%',
        '1.2%',
        '2.5%'
    ],
    'Target Value': [
        '> 95%',
        '> 4.5/5',
        '> 4.5/5',
        '> 4.0/5',
        '> 4.5/5',
        '> 85%',
        '> 3%',
        '< 1%'
    ],
    'Status': ['🔴', '🟡', '🟡', '🟡', '🟡', '🟡', '🟡', '🟡']
})

print("Compliance Culture Metrics:")
print(culture_metrics.to_string(index=False))

# ----------------------------------------------------------------
# PART E: CHANGE MANAGEMENT PLAN
# ----------------------------------------------------------------

print("\n" + "-"*60)
print("PART E: Change Management Plan")
print("-"*60)

change_management = {
    "Phase 1 (0-3 months) – Awareness": {
        "Activities": [
            "Communicate new compliance requirements.",
            "Conduct town hall meetings.",
            "Share compliance success stories.",
            "Create compliance champions network."
        ],
        "Success Metrics": ["Awareness survey > 80%", "Champions network established"]
    },
    "Phase 2 (3-6 months) – Knowledge": {
        "Activities": [
            "Deliver compliance training.",
            "Provide resources and guides.",
            "Conduct workshops and seminars.",
            "Create compliance knowledge base."
        ],
        "Success Metrics": ["Training completion > 90%", "Knowledge assessment > 85%"]
    },
    "Phase 3 (6-9 months) – Implementation": {
        "Activities": [
            "Implement compliance processes.",
            "Enable reporting mechanisms.",
            "Establish compliance monitoring.",
            "Provide ongoing support."
        ],
        "Success Metrics": ["Process implementation > 90%", "Reporting rate > 80%"]
    },
    "Phase 4 (9-12 months) – Reinforcement": {
        "Activities": [
            "Monitor compliance performance.",
            "Provide feedback and coaching.",
            "Recognise compliance champions.",
            "Embed compliance culture."
        ],
        "Success Metrics": ["Compliance culture score > 4.0", "Incident rate < 1%"]
    }
}

for phase, details in change_management.items():
    print(f"\n{phase}:")
    print("  Activities:")
    for activity in details['Activities']:
        print(f"    • {activity}")
    print("  Success Metrics:")
    for metric in details['Success Metrics']:
        print(f"    • {metric}")

# ----------------------------------------------------------------
# PART F: COMPLIANCE CULTURE ROADMAP
# ----------------------------------------------------------------

print("\n" + "-"*60)
print("PART F: Compliance Culture Roadmap")
print("-"*60)

roadmap = {
    "Phase 1 (0-6 months) – Foundation": {
        "Focus": "Build compliance culture foundation.",
        "Activities": [
            "Establish leadership commitment.",
            "Implement compliance training programme.",
            "Create communication channels.",
            "Build accountability framework."
        ],
        "Success Metrics": ["Compliance culture score > 3.5", "Training completion > 80%"]
    },
    "Phase 2 (6-12 months) – Scale": {
        "Focus": "Scale compliance culture.",
        "Activities": [
            "Embed compliance in processes.",
            "Enhance training programmes.",
            "Implement recognition and rewards.",
            "Establish reporting mechanisms."
        ],
        "Success Metrics": ["Compliance culture score > 4.0", "Employee engagement > 75%"]
    },
    "Phase 3 (12-24 months) – Advanced": {
        "Focus": "Advanced compliance culture.",
        "Activities": [
            "Implement AI-driven compliance insights.",
            "Deploy predictive compliance analytics.",
            "Build compliance dashboards.",
            "Achieve compliance maturity."
        ],
        "Success Metrics": ["Compliance culture score > 4.5", "Incident rate < 1%"]
    },
    "Phase 4 (24+ months) – Leadership": {
        "Focus": "Industry-leading compliance culture.",
        "Activities": [
            "Implement autonomous compliance.",
            "Build predictive compliance intelligence.",
            "Achieve industry leadership.",
            "Establish compliance-first culture."
        ],
        "Success Metrics": ["Industry-leading compliance culture", "Continuous improvement"]
    }
}

for phase, details in roadmap.items():
    print(f"\n{phase}:")
    print(f"  Focus: {details['Focus']}")
    print("  Activities:")
    for activity in details['Activities']:
        print(f"    • {activity}")
    print("  Success Metrics:")
    for metric in details['Success Metrics']:
        print(f"    • {metric}")

# ----------------------------------------------------------------
# PART G: SUMMARY AND RECOMMENDATIONS
# ----------------------------------------------------------------

print("\n" + "="*70)
print("PART G: Summary and Recommendations")
print("="*70)

print("""
Compliance Culture and Change Management – Key Takeaways:

1. Compliance culture is essential for regulatory compliance.
2. Key elements: tone from the top, accountability, transparency, training, incentives.
3. Culture maturity: reactive → rule-based → value-based → embedded → adaptive.
4. Change management: awareness → desire → knowledge → ability → reinforcement.
5. Training is critical: induction, annual refresher, specialised training.
6. Key metrics: training completion, understanding, leadership support, culture score.
7. Roadmap: foundation → scale → advanced → leadership.

Recommendations:
  - Establish leadership commitment to compliance.
  - Implement compliance training programmes.
  - Build accountability and transparency.
  - Communicate compliance expectations regularly.
  - Reward compliant behaviour.
  - Continuously monitor and improve compliance culture.
""")

print("="*70)
print("END OF LESSON 7 – MODULE 6")
print("="*70)

SECTION 7: SUMMARY FOR THE DATA PRACTITIONER

  • Compliance culture is the set of values, beliefs, and behaviours that shape how an organisation approaches regulatory compliance.

  • Key elements include tone from the top, accountability, transparency, training, incentives, and consequences.

  • Culture maturity progresses from reactive to adaptive.

  • Change management for compliance follows the ADKAR model: Awareness, Desire, Knowledge, Ability, Reinforcement.

  • Training is critical for building compliance knowledge and awareness.

  • Key metrics include training completion, employee understanding, leadership support, and compliance culture score.

  • Roadmap progresses from foundation to scaling, advanced, and leadership phases.


SECTION 8: RECOMMENDED NEXT STEPS

  1. Assess your organisation’s compliance culture.

  2. Establish leadership commitment to compliance.

  3. Implement compliance training programmes.

  4. Build accountability and transparency.

  5. Communicate compliance expectations regularly.

  6. Reward compliant behaviour.

  7. Continuously monitor and improve compliance culture.

  8. Prepare for Lesson 8: Compliance Strategy and Leadership.