Understanding Discretionary Commission Arrangements, the Supreme Court's landmark ruling, and how to calculate your potential compensation
The UK motor finance scandal has emerged as one of the most significant consumer finance mis-selling cases since the PPI saga. With an estimated 14.2 million affected contracts and £8.2 billion in potential redress, the financial and legal mechanics behind this scandal deserve a thorough technical examination.
What Are Discretionary Commission Arrangements (DCAs)?
At its core, the scandal involves a practice called Discretionary Commission Arrangements — a remuneration model that, between 2007 and 2021, allowed car dealers to set the interest rate on finance agreements above a lender's minimum rate. The higher the rate the dealer set, the more commission they earned.
The Algorithmic Structure of a DCA
Here's how the calculation worked in practice:
Base Rate (Lender Minimum): e.g., 5.9% APR
Discretionary Ceiling: e.g., 14.9% APR
Dealer Commission Rate: (Actual Rate - Base Rate) × Loan Principal × Factor
The dealer had full discretion — within the ceiling — to move the rate. A dealer presenting you with a "competitive" 9.9% APR on a £15,000 car loan was likely earning a commission of several hundred to over a thousand pounds, entirely opaque to you as the borrower.
This created a structural conflict of interest. The dealer's incentive was to maximise your interest rate, not to find you the best deal.
The Supreme Court's Landmark Ruling
In October 2024, the UK Court of Appeal ruled in Johnson v FirstRand Bank that DCAs constituted a secret commission arrangement — triggering common law fiduciary duties and the lender's obligation to obtain informed consumer consent.
The Supreme Court heard the consolidated appeals in April 2025, with its judgment widely expected to affirm the Court of Appeal's position. The FCA has paused its own review timeline pending the Supreme Court's ruling.
Key legal principles at stake:
- Brokerage fiduciary duty — Did the car dealer act as the consumer's agent?
- Secret commission — Was the commission arrangement disclosed in a meaningful way?
- Informed consent — Did consumers have sufficient information to consent to the commission structure?
The answers to all three appear to favour consumers.
FCA Compensation Framework
The Financial Conduct Authority published its Motor Finance Review in January 2024, establishing a consumer redress framework. The FCA's methodology for calculating compensation is based on:
- The differential between the rate you paid and the lender's minimum base rate
- The loan term (typically 36–60 months for PCP agreements)
- The loan principal
- Compound interest on overpaid amounts (8% statutory interest applies)
The FCA's own estimate puts the industry-wide liability at £8.2 billion, though independent analysts at Deutsche Bank and Barclays have modelled figures between £6 billion and £16 billion depending on the Supreme Court outcome.
Technical Deep Dive: PCP vs HP Agreements
The scandal covers two main product types:
Personal Contract Purchase (PCP):
- You pay monthly instalments covering depreciation + interest
- A "balloon payment" at the end gives you ownership
- DCAs applied to the interest component only
- More complex to model because of residual value guarantees
Hire Purchase (HP):
- Simpler: you pay down the full loan value
- Interest calculation is straightforward
- Typically shorter terms (24–48 months)
Python Calculator: Estimate Your Compensation
Here's a simple Python implementation of the FCA's compensation methodology. This is a rough estimator — actual calculations depend on your specific contract terms and the lender's documented base rate at origination.
from dataclasses import dataclass
from datetime import date
from typing import Optional
import math
@dataclass
class FinanceContract:
loan_amount: float # e.g., 15000.0
actual_apr: float # e.g., 0.099 (9.9%)
base_apr: float # lender's minimum, e.g., 0.059 (5.9%)
term_months: int # e.g., 48
start_date: date # e.g., date(2018, 6, 1)
agreement_type: str # "PCP" or "HP"
balloon_payment: Optional[float] = None # PCP only
def monthly_payment(principal: float, annual_rate: float, months: int) -> float:
"""Calculate monthly payment using standard amortisation formula."""
if annual_rate == 0:
return principal / months
r = annual_rate / 12
return principal * (r * (1 + r) ** months) / ((1 + r) ** months - 1)
def calculate_total_interest(
principal: float,
annual_rate: float,
months: int
) -> float:
"""Calculate total interest paid over loan term."""
payment = monthly_payment(principal, annual_rate, months)
return (payment * months) - principal
def estimate_dca_compensation(contract: FinanceContract) -> dict:
"""
Estimate compensation for a DCA-affected motor finance contract.
Based on FCA Motor Finance Review methodology (January 2024).
Includes 8% statutory interest on overpaid amounts.
Returns:
dict with 'excess_interest', 'statutory_interest', 'total_estimate'
"""
# For PCP, adjust principal for balloon payment
effective_principal = contract.loan_amount
if contract.agreement_type == "PCP" and contract.balloon_payment:
effective_principal = contract.loan_amount - (
contract.balloon_payment / (1 + contract.actual_apr) ** (contract.term_months / 12)
)
# Calculate interest at actual rate vs base rate
interest_actual = calculate_total_interest(
effective_principal,
contract.actual_apr,
contract.term_months
)
interest_base = calculate_total_interest(
effective_principal,
contract.base_apr,
contract.term_months
)
excess_interest = max(0, interest_actual - interest_base)
# Statutory interest: 8% simple interest per annum from mid-point of loan
midpoint_date = date(
contract.start_date.year + (contract.term_months // 24),
contract.start_date.month + (contract.term_months // 2) % 12,
1
)
years_elapsed = max(0, (date.today() - midpoint_date).days / 365.25)
statutory_interest = excess_interest * 0.08 * years_elapsed
return {
"excess_interest": round(excess_interest, 2),
"statutory_interest": round(statutory_interest, 2),
"total_estimate": round(excess_interest + statutory_interest, 2),
"rate_differential_pct": round(
(contract.actual_apr - contract.base_apr) * 100, 2
),
}
# Example usage
if __name__ == "__main__":
# Typical mid-range case: Ford Focus on PCP, 2018
contract = FinanceContract(
loan_amount=18500.0,
actual_apr=0.099, # 9.9% — what the dealer charged
base_apr=0.059, # 5.9% — lender's floor rate
term_months=48,
start_date=date(2018, 6, 1),
agreement_type="PCP",
balloon_payment=6200.0
)
result = estimate_dca_compensation(contract)
print(f"Rate Differential: {result['rate_differential_pct']}%")
print(f"Excess Interest Paid: £{result['excess_interest']:,.2f}")
print(f"Statutory Interest (8%): £{result['statutory_interest']:,.2f}")
print(f"Total Estimated Compensation: £{result['total_estimate']:,.2f}")
# Output (approximate):
# Rate Differential: 4.0%
# Excess Interest Paid: £1,847.23
# Statutory Interest (8%): £591.11
# Total Estimated Compensation: £2,438.34
Run it yourself and substitute your own contract figures. The base APR for your lender should be discoverable via a Subject Access Request (SAR) — lenders must disclose it under UK data protection law.
Who Is Affected?
You may have a valid claim if:
- You financed a vehicle between 2007 and January 2021 via a car dealer
- You used PCP or HP finance (not a personal loan direct from a bank)
- The finance was arranged through the dealership (as opposed to direct with a lender)
- You received no clear disclosure about dealer commission arrangements
The 14.2 million figure comes from FCA data covering regulated motor credit agreements during this period. Even if you've already returned or paid off the vehicle, a claim may still be possible — the limitation period is typically 6 years from discovery.
The Data Picture
| Lender | Estimated Liability | Provisions Set Aside |
|---|---|---|
| Lloyds Banking Group | £2.5B+ | £1.15B |
| Close Brothers | £400M–£800M | £165M |
| FirstRand (MotoNovo) | £300M–£500M | £127M |
| Santander UK | £400M–£700M | £295M |
| Black Horse (Lloyds) | £1.5B+ | (included above) |
These provisions continue to grow as the Supreme Court ruling approaches.
How to Check Your Eligibility
The claims process involves:
- Locate your finance agreement — dig out the original paperwork or request it via SAR
- Identify your lender — Black Horse, MotoNovo, FirstRand, Santander, Close Brothers, and others
- Submit a complaint to the lender (mandatory first step — 8-week response window)
- Escalate to the Financial Ombudsman Service (FOS) if the lender rejects or delays
- Pursue litigation if FOS redress is insufficient — class action vehicles are forming
MotorRedress provides a free eligibility checker and claims management service, with no upfront fees and a no-win, no-fee structure. The platform covers all major UK lenders and guides you through each stage of the claims process.
What Happens Next
The Supreme Court's ruling — expected in Q3 2025 — will determine whether lenders face:
- Full restitution: Return of all excess interest paid (the Court of Appeal model)
- Reduced damages: A narrower common law remedy based on actual loss
- Hybrid approach: Full restitution for non-disclosed cases, reduced damages where partial disclosure occurred
The FCA has indicated it will issue a consumer redress scheme within 6 months of the Supreme Court ruling. This could mean automatic payouts for consumers without the need for individual complaints — though claims management firms and law firms are strongly advising consumers to lodge complaints now to preserve their position.
Technical Appendix: Subject Access Request Template
To obtain your contract's base rate documentation:
Dear [Lender Name] Data Protection Officer,
Under Article 15 of the UK GDPR, I request all personal data held
relating to motor finance agreement(s) in my name, including but
not limited to: the original credit agreement, commission disclosure
documents, internal rate-setting records, broker commission amounts,
and any communications regarding Discretionary Commission Arrangements.
Reference: [Your agreement number if known]
Full name: [Your name]
Date of birth: [DOB]
Address at time of agreement: [Address]
I expect a response within 30 days as required by law.
The UK motor finance DCA scandal represents a systemic failure of consumer protection in the regulated credit market. Whether you financed a Ford Fiesta or a BMW X5, the algorithmic structure of DCAs means millions of consumers paid more than they should have — and the legal infrastructure to recover those funds is now firmly in place.
Check your eligibility at motorredress.co.uk
Tags: uk, finance, python, webdev, opensource
About the author: MotorRedress is a UK consumer claims platform working with regulated solicitors and claims management specialists to recover motor finance compensation for affected consumers.
Top comments (0)