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.
Show 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 |
Show 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
Some key components of Savings Credit include:
Pension credit savings credit income threshold (couple): This component represents the income threshold for couples applying for Savings Credit within the Pension Credit program. If the total income of a couple (or a person in a couple) falls below this income threshold, they become eligible for Savings Credit. If their income exceeds this threshold, they may not be eligible, or their benefit amount may be reduced.
Pension credit savings credit income threshold (single): Similar to the couple threshold, this component represents the income threshold for single individuals applying for Savings Credit within the Pension Credit program. If the total income of a single individual falls below this income threshold, they become eligible for Savings Credit. If their income exceeds this threshold, they may not be eligible, or their benefit amount may be reduced.
Savings Threshold: This threshold represents the maximum amount of savings or assets an individual or couple can have while still being eligible for Savings Credit. If their savings or assets exceed this threshold, it may affect their eligibility or benefit amount.
These components collectively help calculate the entitlement to Savings Credit under the UK’s Pension Credit program.
The table below shows some of the rates covered by PolicyEngine-UK.
Show code cell source
from policyengine_uk.system import system
parameters = system.parameters
threshold_single = parameters.gov.dwp.pension_credit.savings_credit.threshold.SINGLE
threshold_couple = parameters.gov.dwp.pension_credit.savings_credit.threshold.COUPLE
elements = [threshold_single, threshold_couple] # [...]
dates = ["2015-01-01", "2016-01-01", "2017-01-01", "2018-01-01","2019-01-01","2020-01-01", "2021-01-01", "2022-01-01"]
names = ["Income threshold (single)","Income threshold (couple)"]
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 | Income threshold (couple) | Income threshold (single) |
---|---|---|
date | ||
2015-01-01 | 201.80 | 126.50 |
2016-01-01 | 201.80 | 126.50 |
2017-01-01 | 212.97 | 133.82 |
2018-01-01 | 218.42 | 137.35 |
2019-01-01 | 223.82 | 140.67 |
2020-01-01 | 229.67 | 144.38 |
2021-01-01 | 239.17 | 150.47 |
2022-01-01 | 244.12 | 153.70 |
Show code cell source
import plotly.express as px
from policyengine_core.charts import format_fig
fig = px.line(
df,
title="Savings Credit elements over time",
x="date",
y="amount",
color="element",
).update_layout(
yaxis_range=[0, 300],
yaxis_tickformat=",.0f",
yaxis_tickprefix="£",
yaxis_title = "Amount(£m)",
xaxis_title = "Year",
legend_title = "Element"
)
fig = format_fig(fig)
fig