Pension Credit#

Pension Credit is a means-tested benefit payment administered by the Department for Work and Pensions (DWP) in the United Kingdom. It was introduced to provide financial assistance to pensioners and ensure they have a minimum income level. Pension Credit combines two main elements: Guarantee Credit and Savings Credit.

  • Guarantee Credit: Intended for pensioners who have reached the qualifying age and have a low income. It tops up their weekly income to a guaranteed minimum level, which varies based on individual circumstances.

  • Savings Credit: Designed for pensioners who have saved for their retirement or have a modest income. It provides additional support to those who have some savings or a second pension.

Pension Credit parameters can be found in policyengine_uk/parameters/gov/dwp/pension_credit and logic in policyengine_uk/variables/dwp/pension_credit.py.

Legislation#

The legal framework for Guarantee Credit is primarily defined in the legislation provided on the The State Pension Credit Regulations 2002 legislation website. The legal framework for Savings Credit is primarily defined in the legislation provided on the State Pension Credit Act 2002 legislation website.

Pension Credit Rate Changes#

Some key components of Guarantee Credit include:

  • Additional Minimum Guarantee

  • Carer addition

  • Child-related addition

  • Disabled-child minimum guarantee

  • Severe disabled-child minimum guarantee

  • Severe disabled-adult minimum guarantee

The table below shows some of the rates covered by PolicyEngine-UK.

Hide code cell source
from policyengine_uk.system import system

parameters = system.parameters

carer_addition = parameters.gov.dwp.pension_credit.guarantee_credit.carer.addition
child_addition = parameters.gov.dwp.pension_credit.guarantee_credit.child.addition
disabled_child = parameters.gov.dwp.pension_credit.guarantee_credit.child.disability.addition
severe_disabled_child = parameters.gov.dwp.pension_credit.guarantee_credit.child.disability.severe.addition
severe_disabled = parameters.gov.dwp.pension_credit.guarantee_credit.severe_disability.addition


elements = [carer_addition, child_addition, disabled_child, severe_disabled_child, severe_disabled] # [...]

dates = ["2019-01-01","2020-01-01", "2021-01-01", "2022-01-01", "2023-01-01", "2024-01-01"]
names = ["Carer", "Child", "Disabled child", "Severe disabled child", "Severe disabled adult"]

import pandas as pd

df = pd.DataFrame()

for date in dates:
    for element, name in zip(elements, names):
        # Append to a dataframe: row = date, column = element, value = amount
        new_row = {
            "date": date,
            "element": name,
            "amount": element(date)
        }
         # Append row to the dataframe
        df = pd.concat([df, pd.DataFrame([new_row])])


# merge element cells
pivot_df = df.pivot(index="date", columns="element", values="amount")
pivot_df.fillna("")
element Carer Child Disabled child Severe disabled adult Severe disabled child
date
2019-01-01 36.00 53.34 29.02 64.30 88.34
2020-01-01 36.00 53.34 29.02 65.85 88.34
2021-01-01 37.50 54.32 29.52 66.95 92.12
2022-01-01 37.70 54.60 29.66 67.30 92.54
2023-01-01 38.85 56.35 30.58 69.40 95.48
2024-01-01 38.85 56.35 30.58 69.40 95.48
Hide code cell source
import plotly.express as px
from policyengine_core.charts import format_fig

fig = px.line(
    df,
    title="Guarantee Credit elements over time",
    x="date",
    y="amount",
    color="element",
).update_layout(
    yaxis_range=[0, 100],
    yaxis_tickformat=",.0f",
    yaxis_tickprefix="£",
    yaxis_title = "Amount(£m)",
    xaxis_title = "Year",
    legend_title = "Element"
)

fig = format_fig(fig)
fig