|
Image:UK tax pounds 2008-9.svg
|

Summary
| Description |
Charges to w:UK income tax and w:National Insurance in pounds for the tax year 6 April 2008 thru 5 April 2009. Including the changes made by the Chancellor in his statement to the Commons on 13 May 2008, since their effects appearing in paypackets from 7 September 2008. This takes account only of straightforward income tax and Class I employee NICs without contracted-out pension contributions.
Made in w:MATLAB and finished with w:Inkscape. See below for MATLAB source.
According to w:HMRC, the tax and National Insurance rates and allowances for 2008/9 are [1]:
- Income tax (per annum)
- Up to personal allowance, 0%: £6, 035pa (was £5, 435)
- Basic rate, 20%: First £34, 800pa above personal allowance (was £36, 000).
- Higher rate, 40%: Everything more than £34, 800pa above the personal allowance.
- National Insurance contributions (per annum)
- Up to primary threshold, 0%: £5, 460pa
- Up to 'upper earnings limit', 11%: First £34, 580ps above the primary threshold.
- Above 'upper earnings limit', 1%: Everything more than £34, 580pa above the primary threshold.
The version for the tax rates originally announced in Budget 2008, prior to their later amendment, can be found here.
 |
This chart was created with MATLAB. |
|
| Source |
self-made
|
| Date |
Splash 00:14, 16 May 2008 (UTC)
|
| Author |
Splash
|
Permission
(Reusing this image) |
See below. Licensing choices are applicable to both image and MATLAB source code.
|
The graph is drawn with the following MATLAB script, known to work in version 7. This MATLAB script is also available for use under the licenses shown below.
function it_pounds, it_pct, nic_pounds, nic_pct, total_pounds, total_pct, takehome_pounds = tax(gross, tax_rates, tax_widths, nic_rates, nic_widths, plot_all)
%TAX: Compute the pounds and percentage cost of taxable pay of income tax
%and National Insurance. (Or just tax in places without NI).
%
%[it_pounds it_pct nic_pounds nic_pct total_pounds total_pct takehome_pounds] = tax(gross, tax_rates, tax_widths, nic_rates, nic_widths, plot_all)
%
%Inputs:
% gross: Vector of taxable pay amounts to compute all outputs for.
% tax_rates: Percentages of tax rates matching entries in tax_widths.
% tax_widths: Width in pounds of each tax band, ended by Inf. NOT the
% income levels at which they begin to apply. For example, for 2007-08:
%
% Personal allowance, or 0% band = £5225.
% 10% band = First £2230 taxable = £2230 in width.
% 22% band = £2230 - £34600 taxable = £32370 in width.
% 40% band = £34600 - (unlimited) taxable = £Inf in width.
%
% Therefore, tax_rates and tax_widths are set up as follows:
%
% tax_rates = [ 0 10 22 40];
% tax_widths = [5225 2230 32370 Inf];
%
% nic_rates: As tax_rates. (Omit if no NIC-equivalent needed).
% nic_widths: As tax_widths. (Omit if no NIC-equivalent needed).
% plot_all : Single boolean true/false whether to draw the output plot.
%
%Outputs:
% These all have obvious names, and each produce a vector with entries
% corresponding to the entries of input 'gross'.
for g = 1:length(gross)
it_pounds(g) = tax_calc(gross(g), tax_rates, tax_widths);
it_pct(g) = 100*it_pounds(g)/gross(g);
nic_pounds(g) = tax_calc(gross(g), nic_rates, nic_widths);
nic_pct(g) = 100*nic_pounds(g)/gross(g);
total_pounds(g) = it_pounds(g) + nic_pounds(g);
total_pct(g) = 100*total_pounds(g)/gross(g);
takehome_pounds(g) = gross(g) - total_pounds(g);
end
if exist('plot_all', 'var') && plot_all
%Plots for amounts in pounds
figure;
plot(gross, it_pounds, 'b', gross, nic_pounds, 'r', gross, total_pounds, 'k', gross, takehome_pounds, 'g');
set(get(gca, 'Children'), 'LineWidth',2);
set(gca, 'XMinorTick', 'on', 'YMinorTick', 'on');
legend('Income tax', 'National insurance', 'Combined', 'Take home');
xlabel('Annual taxable pay, GBP');
ylabel('Annual amount, GBP');
grid on;
%Plots for percentages
figure;
plot(gross, it_pct, 'b', gross, nic_pct, 'r', gross, total_pct, 'k');
set(get(gca, 'Children'), 'LineWidth',2);
set(gca, 'XMinorTick', 'on', 'YMinorTick', 'on');
legend('Income tax', 'National insurance', 'Combined');
xlabel('Annual taxable pay, GBP');
ylabel('Percentage of taxable pay');
grid on;
end
%%%%Calculation engine%%%%
function total_tax = tax_calc(gross, rates, widths)
tax_band = 1;
income_left = gross;
total_tax = 0;
while tax_band <= length(widths) && income_left > 0
taxable_this_band = min(widths(tax_band) income_left);
total_tax = total_tax + taxable_this_band*rates(tax_band)/100;
income_left = income_left - taxable_this_band;
tax_band = tax_band + 1;
end
- For the 2008-09 tax year
tax_rates = 0 20 40;
tax_widths = 6035 34800 Inf; %until changes announced [[13 May]] [[2008]], this was [5435 36000 Inf].
nic_rates = 0 11 1;
nic_widths = 105*52 (770-105)*52 Inf;
The following choices of licensing apply to both the image and also the MATLAB code presented above.
|
I, the copyright holder of this work, hereby publish it under the following licenses:
You may select the license of your choice.
|
See also
File historyClick on a date/time to view the file as it appeared at that time.
| Date/Time | Thumbnail | Dimensions | User | Comment |
| current | 20:03, 8 September 2008 |  | 530×396 (58 KB) | Splash | |
| 23:54, 15 May 2008 |  | 532×394 (57 KB) | Splash | |
File links
The following pages on the English Wikipedia link to this file (pages on other projects are not listed):
|