Purpose

The purpose of this code is to provide an analysis of ethnic disparities in the use of stop and search in London and Wandsworth for male children and young people aged 15-19-years.

Introduction

Home Affairs Committee (2021) recently commented that “Stop and search must always be used in a focused and targeted way. The Metropolitan Police increased their use of stop and search during the first national covid-19 lockdown to the highest levels seen in London for many years at a time when far fewer people were on the streets. They were wrong to do so: the result was that far more people who were not committing crimes were stopped and searched, the proportion of searches which found weapons or drugs dropped, and the racial disparity widened. It should never have been possible for the equivalent of 1 in 4 Black males between the ages of 15 and 24 in London who were not committing a crime to be stopped and searched during a three-month period. “Sensible recommendations from HMICFRS on stop and search from four years ago have still not been widely implemented or sustained. That needs to change urgently. The Committee is also calling for further reforms, including recording the ethnicity of those who are subject to road traffic stops, additional training for police officers and staff on communication, conflict management and de-escalation, and full use of body worn video, with internal reviews and external community oversight, both to build confidence and to ensure improvements are made. (Home Affairs Committee, 2021)” In February 2021, HMICFRS published its report on Disproportionate use of police powers—A spotlight on stop and search and the use of force. HM Inspector of Constabulary Wendy Williams set out the consequences of disproportionality in the foreword to the report:

Focusing specifically on the effect on Black people and BAME communities, the report went on to state that:

The negative effect of disproportionate use of powers and poor police and community relations on public perceptions should not be underestimated. The damage can be far-reaching and long-lasting. Disproportionate use of powers leads to more Black people being drawn into the criminal justice system, disrupting education, reducing work opportunities and breaking down families and communities. It can contribute to perceptions among the public and police officers regarding Black people and crime. It may also influence how the police allocate resources, which in turn can accelerate the imbalances seen in the criminal justice system and perceptions of a correlation between ethnicity and criminality. Among young Black, Asian and Minority Ethnic people, fear of conflict with the police, which might draw them into the criminal justice system, causes them to curtail their freedom at a critical time in their development. For example, they might avoid certain places or gatherings so as not to come to police attention.

Packages and Themes

First, install the packages we need:

library(tidyverse)
library(lubridate)
library(scales)
library(sjPlot)
library(ggrepel)
library(car)

Next, set the plotting theme.

theme_clean <- theme_bw(base_family="Calibri") + 
  theme(legend.position = "top",
        legend.title = element_text(size = 12),
        legend.text = element_text(size = 12),
        plot.title = element_text(size = 18, face = "bold"),
        plot.subtitle = element_text(size = 12, face = "italic", margin = margin(b=12)),
        plot.caption = element_text(size = 10),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        axis.text = element_text(size = 12),
        axis.title = element_text(size = 12),
        panel.border = element_blank())
theme_set(theme_clean)
# Appearance_colours <- c("#008fdc", "#dc00c2", "#f2071e","#1d6124", "#050324")
Appearance_colours <- c("#A8A7A7", "#CC527A", "#E8175D","#474747", "#363636")
Area_colours <- c("#363636")

Wandsworth - Overall rates

In the twelve months to end of September 2022, stop and search rates in Wandsworth for children and young males aged 15-19 years was 177 per 1,000 resident population. The corresponding figure for London was 195.5 per 1,000 resident population.

Create the data table

## For brevity, I manually produce the data table.
mydata_df <- tribble(~Appearance, ~Rate,
                             "White", 77.4,
                             "Black", 451.7,
                             "Asian", 83.1,
                             "Other", 101.7,
                             "All", 177)

# Factors are set, so the candidates appear in the right order. (This is done manually, but you could use the Vote measure to order them.)
mydata_df$Appearance <- factor(mydata_df$Appearance, 
                                      levels = c("White", "Black", "Asian", "Other", "All"))
##Create the graph
##Finally, we create the graph.
mydata_gg <- ggplot(mydata_df,
                            aes(x = Appearance,
                                y = Rate,
                                fill = Appearance)) +
  geom_bar(stat = "identity") +
  scale_fill_manual(values = Appearance_colours) +
  labs(title = "Stop and Search rates per 1,000 in Wandsworth \n by appearance - 15-19-year-old males",
       subtitle = "October 2021 to end of September 2022",
       x = "", y = "Stop and Search rates per 1,000 children and young people \n aged 15-19-year-old (males)
       ",
       caption = "Source: Metropolitan Police Stop and Search Dashboard") +
  geom_text(aes(label = Rate), vjust = 1.6, color = "white", size = 5,) + 
  scale_y_continuous(breaks = c(50, 100, 150, 200, 250, 300, 350, 400, 450)) 

This gives the following graph:

mydata_gg

Wandsworth - Black / White disproportionality

Black children and young people were 5.8 times more likely to be stopped and searched compared to White children and young people. This figure is higher than the London average which was 3.2 times more likely. The disproportionality ratio has increased since the 12 months up until September 2021 when Black children were 3.4 more likely to be stopped and searched compared to their White counterparts in Wandsworth compared to London overall which was 2.6 times more likely.

Create the data table

## For brevity, I manually produce the data table.
mydata4_df  <- tribble(
  ~date, ~Area, ~Disproportionality ,
  as_date("2019-09-30"), "Wandsworth", 3.6,
  as_date("2019-10-31"), "Wandsworth", 3.4,
  as_date("2019-11-30"), "Wandsworth", 3.3,
  as_date("2019-12-31"), "Wandsworth", 3.4,
  as_date("2020-01-31"), "Wandsworth", 3.8,
  as_date("2020-02-28"), "Wandsworth", 4,
  as_date("2020-03-31"), "Wandsworth", 4,
  as_date("2020-04-30"), "Wandsworth", 4,
  as_date("2020-05-31"), "Wandsworth", 4.1,
  as_date("2020-06-30"), "Wandsworth", 4.3,
  as_date("2020-07-31"), "Wandsworth", 4.1,
  as_date("2020-08-31"), "Wandsworth", 4.1,
  as_date("2020-09-30"), "Wandsworth", 4.1,
  as_date("2020-10-31"), "Wandsworth", 4.3,
  as_date("2020-11-30"), "Wandsworth", 4.4,
  as_date("2020-12-31"), "Wandsworth", 4.3,
  as_date("2021-01-31"), "Wandsworth", 3.9,
  as_date("2021-02-28"), "Wandsworth", 3.6,
  as_date("2021-03-31"), "Wandsworth", 3.5,
  as_date("2021-04-30"), "Wandsworth", 3.4,
  as_date("2021-05-31"), "Wandsworth", 3.3,
  as_date("2021-06-30"), "Wandsworth", 3.3,
  as_date("2021-07-31"), "Wandsworth", 3.4,
  as_date("2021-08-31"), "Wandsworth", 3.3,
  as_date("2021-09-30"), "Wandsworth", 3.4,
  as_date("2021-10-31"), "Wandsworth", 3.3,
  as_date("2021-11-30"), "Wandsworth", 3.3,
  as_date("2021-12-31"), "Wandsworth", 3.4,
  as_date("2022-01-31"), "Wandsworth", 3.9,
  as_date("2022-02-28"), "Wandsworth", 4.5,
  as_date("2022-03-31"), "Wandsworth", 4.9,
  as_date("2022-04-30"), "Wandsworth", 5.3,
  as_date("2022-05-31"), "Wandsworth", 5.4,
  as_date("2022-06-30"), "Wandsworth", 5.8,
  as_date("2022-07-31"), "Wandsworth", 5.6,
  as_date("2022-08-31"), "Wandsworth", 5.7,
  as_date("2022-09-30"), "Wandsworth", 5.8,
  as_date("2019-09-30"), "London", 3.7,
  as_date("2019-10-31"), "London", 3.6,
  as_date("2019-11-30"), "London", 3.6,
  as_date("2019-12-31"), "London", 3.6,
  as_date("2020-01-31"), "London", 3.6,
  as_date("2020-02-28"), "London", 3.6,
  as_date("2020-03-31"), "London", 3.6,
  as_date("2020-04-30"), "London", 3.6,
  as_date("2020-05-31"), "London", 3.5,
  as_date("2020-06-30"), "London", 3.4,
  as_date("2020-07-31"), "London", 3.3,
  as_date("2020-08-31"), "London", 3.2,
  as_date("2020-09-30"), "London", 3.1,
  as_date("2020-10-31"), "London", 3.1,
  as_date("2020-11-30"), "London", 3,
  as_date("2020-12-31"), "London", 3,
  as_date("2021-01-31"), "London", 2.9,
  as_date("2021-02-28"), "London", 2.8,
  as_date("2021-03-31"), "London", 2.8,
  as_date("2021-04-30"), "London", 2.7,
  as_date("2021-05-31"), "London", 2.6,
  as_date("2021-06-30"), "London", 2.7,
  as_date("2021-07-31"), "London", 2.7,
  as_date("2021-08-31"), "London", 2.6,
  as_date("2021-09-30"), "London", 2.6,
  as_date("2021-10-31"), "London", 2.6,
  as_date("2021-11-30"), "London", 2.7,
  as_date("2021-12-31"), "London", 2.7,
  as_date("2022-01-31"), "London", 2.7,
  as_date("2022-02-28"), "London", 2.8,
  as_date("2022-03-31"), "London", 2.8,
  as_date("2022-04-30"), "London", 2.9,
  as_date("2022-05-31"), "London", 3,
  as_date("2022-06-30"), "London", 3.1,
  as_date("2022-07-31"), "London", 3.1,
  as_date("2022-08-31"), "London", 3.2,
  as_date("2022-09-30"), "London", 3.2
)

This gives the following graph:

mydata4_gg <- mydata4_df %>% ggplot(aes(x = date,
                                        y = Disproportionality,
                                        group = Area)) +
  geom_line(aes(color = Area), size = 1.2) +
  scale_colour_manual(values=c(Wandsworth = "#CC527A", London = "#363636"))+
  scale_x_date(breaks = date_breaks("2 month"),
               labels = date_format("%b\n%y")) +
  ylim(0.0, 6.0) + 
  
  annotate("rect", xmin = as_date("2020-03-23"), xmax = as_date("2020-06-15"),
           ymin = 0, ymax = 6,
           alpha = 0.5, fill = "#e9eaec") + 
  
  annotate("rect", xmin = as_date("2020-11-02"), xmax = as_date("2020-12-01"),
           ymin = 0, ymax = 6,
           alpha = 0.5, fill = "#e9eaec") + 

  annotate("rect", xmin = as_date("2021-01-03"), xmax = as_date("2021-03-07"),
           ymin = 0, ymax = 6,
           alpha = 0.5, fill = "#e9eaec") + 
  
  annotate("text", x = as_date("2020-03-30"), y = 5.8,
           label = "Lockdown",
           family = "Spline Sans", colour = "black", fontface = "plain",
           size = 2, hjust = 0) +
  
  annotate("text", x = as_date("2020-11-05"), y = 5.8,
           label = "Lockdown",
           family = "Spline Sans", colour = "black", fontface = "plain",
           size = 2, hjust = 0) +
  
  annotate("text", x = as_date("2021-01-05"), y = 5.8,
           label = "Lockdown",
           family = "Spline Sans", colour = "black", fontface = "plain",
           size = 2, hjust = 0) +
  
  labs(title = "Black / white disproportionality for all stop and searches \n for any reason (15-19-year-old males)",
       subtitle = "(12 month rolling average)",
       caption = "Source: Metropolitan Police Stop and Search Dashboard",
       x = "Month",
       y = "Likelihood of a child/young person from the Black ethnic group \n to be stopped verses the White ethnic group \n (15-19-year-old males)")

mydata4_gg 

A 12-month rolling average, or moving average, is simply a series of 12-month averages over multiple consecutive 12-month periods. This statistical tool can help you gauge the overall direction of a series of monthly data, because it smooths out the effects of month-to-month changes.

London - Overall rates

Variations between London boroughs are strongly linked to levels of deprivation. Overall rates of stop and search tend to be highest in boroughs of high deprivation and high income inequality. These are not the necessarily the same boroughs.

Create the data table

MyData  <- tribble(
~Area, ~LA_Code, ~Denominator, ~Numerator, ~Rate, ~IDACI, ~GINI, ~Black_pop, ~Disproportionality,
"Barking and Dagenham", "E09000002", 6442, 989, 153.5, 0.238, 0.329, 24.3, 2.1,
"Barnet", "E09000003", 10541, 787, 74.7, 0.126, 0.394, 14.7, 3.6,
"Bexley", "E09000004", 8028, 1137, 141.6, 0.16, 0.335, 11.3, 1.8,
"Brent", "E09000005", 9737, 1340, 137.6, 0.182, 0.367, 29.4, 1.3,
"Bromley", "E09000006", 9165, 1711, 186.7, 0.131, 0.365, 11.1, 3.4,
"Camden", "E09000007", 6019, 1245, 206.8, 0.193, 0.412, 16.9, 3.8,
"Croydon", "E09000008", 12044, 2436, 202.3, 0.185, 0.351, 29, 3.5,
"Ealing", "E09000009", 9745, 1203, 123.4, 0.166, 0.381, 19.9, 3.4,
"Enfield", "E09000010", 10591, 1624, 153.3, 0.225, 0.358, 26, 1.9,
"Greenwich", "E09000011", 8180, 1996, 244, 0.212, 0.376, 24.8, 2.8,
"Hackney", "E09000012", 6472, 1525, 235.6, 0.249, 0.38, 38.7, 3,
"Hammersmith and Fulham", "E09000013", 4009, 757, 188.8, 0.186, 0.402, 25.7, 3.7,
"Haringey", "E09000014", 7229, 1568, 216.9, 0.208, 0.386, 33.3, 2.3,
"Harrow", "E09000015", 8066, 664, 82.3, 0.123, 0.374, 14.1, 3.5,
"Havering", "E09000016", 7839, 1016, 129.6, 0.16, 0.347, 8.1, 4.1,
"Hillingdon", "E09000017", 9943, 1090, 109.6, 0.157, 0.351, 11.7, 3.1,
"Hounslow", "E09000018", 7594, 998, 131.4, 0.17, 0.366, 12, 4.1,
"Islington", "E09000019", 5306, 1621, 305.5, 0.275, 0.393, 26.4, 2.8,
"Kensington and Chelsea", "E09000020", 3296, 741, 224.8, 0.129, 0.429, 16, 5.8,
"Kingston upon Thames", "E09000021", 4858, 797, 164.1, 0.1, 0.381, 5.5, 6,
"Lambeth", "E09000022", 7045, 2278, 323.3, 0.229, 0.381, 49.4, 3.1,
"Lewisham", "E09000023", 7958, 1784, 224.2, 0.229, 0.37, 42.4, 2.5,
"Merton", "E09000024", 5552, 825, 148.6, 0.134, 0.39, 21.1, 3.2,
"Newham", "E09000025", 10374, 2114, 203.8, 0.201, 0.357, 26.8, 1.5,
"Redbridge", "E09000026", 9221, 1005, 109, 0.137, 0.379, 15.8, 2.6,
"Richmond upon Thames", "E09000027", 4453, 289, 64.9, 0.07, 0.386, 4.8, 7.5,
"Southwark", "E09000028", 7813, 3352, 429, 0.241, 0.39, 43.4, 2.2,
"Sutton", "E09000029", 5973, 656, 109.8, 0.126, 0.348, 8.5, 3.1,
"Tower Hamlets", "E09000030", 7369, 2494, 338.4, 0.266, 0.405, 11.3, 2.4,
"Waltham Forrest", "E09000031", 7821, 1793, 229.3, 0.192, 0.366, 26, 3.3,
"Wandsworth", "E09000032", 5898, 1044, 177, 0.154, 0.386, 26, 5.8,
"Westminster", "E09000033", 5215, 3992, 765.5, 0.183, 0.417, 14.5, 5.3
)

This gives the following plot:

plot1 <- ggplot(MyData, aes(x=IDACI, y=Rate)) +
  geom_point(colour = "black", size = 3) +    # Use black circles
  geom_smooth(method=lm) + # Add linear regression line
  #  (by default includes 95% confidence region)
  labs(title = "Overall rates of stop and search for any reason across the 32 London \n boroughs by levels of deprivation",
       subtitle = "October 2021 to end of September 2022") + 
  theme_bw()  +
  xlab("Income Deprivation Affecting Children Index (IDACI) \n(the higher the score the more deprived the local authority) ") + ylab("Stop and search rate per 1,000 children and \n young people aged 15-19 years (males)") + 
  coord_cartesian(ylim = c(0, 800))
# add a label for Wandsworth
plot1 + geom_label_repel(data = subset(MyData, Area == "Wandsworth"), 
                         aes(label = Area, size = NULL, color = NULL),
                         nudge_y = 300,
                         segment.size  = 0.2,
                         segment.color = "grey50",
                         direction     = "x")

This gives the following plot:

plot2 <- ggplot(MyData, aes(x=GINI, y=Rate)) +
  geom_point(colour = "black", size = 3) +    # Use black circles
  geom_smooth(method=lm) + # Add linear regression line
  #  (by default includes 95% confidence region)
  labs(title = "Overall rates of stop and search for any reason across the 32 London \n boroughs by levels of income inequality",
       subtitle = "October 2021 to end of September 2022") + 
  theme_bw()  +
  xlab("Income Gini Index scores based on ONS research output Household Income data  \n(the higher the score the more unequal the local authority) ") + ylab("Stop and search rate per 1,000 children and \n young people aged 15-19 years (males)") +   
  coord_cartesian(ylim = c(0, 800))

plot2 + geom_label_repel(data = subset(MyData, Area == "Wandsworth"), 
                         aes(label = Area, size = NULL, color = NULL),
                         nudge_y = 300,
                         segment.size  = 0.2,
                         segment.color = "grey50",
                         direction     = "x")

London - Black / White disproportionality

‘Race’ confounds the general relationship between stop-and-search and deprivation. Rates of stop and search for Black children and young people compared to their White counterparts is negatively correlated to levels of deprivation, but positively correlated to levels of income inequality.

A report by StopWatch (2018) argued that in London, while stop and search is associated with deprivation and inequality, disproportionality is associated with wealth and affluence (income inequality). Boroughs with high levels of inequality tend to be characterised by very low rates of stop and search for white people and high rates of Black / white disproportionality. This pattern is consistent with ethnic profiling because it indicates that Black people are singled out for suspicion.

This gives the following plot:

plot3 <- ggplot(MyData, aes(x=IDACI, y=Disproportionality)) +
  geom_point(colour = "black", size = 3) +    # Use black circles
  geom_smooth(method=lm) + # Add linear regression line
  #  (by default includes 95% confidence region)
  labs(title = "Black / white disproportionality for all stop and searches across  \n 32 London boroughs by levels of deprivation",
       subtitle = "October 2021 to end of September 2022") + 
  theme_bw()  +
  xlab("Income Deprivation Affecting Children Index (IDACI) \n(the higher the score the more deprived the local authority) ") + ylab("Black / white disproportionality ratio \n Likelihood of child/ young person from the Black ethnic group \n to be stopped verses White ethnic \n (15-19-year-old males)") + 
  coord_cartesian(ylim = c(0, 7))


plot3 + geom_label_repel(data = subset(MyData, Area == "Wandsworth"), 
                         aes(label = Area, size = NULL, color = NULL),
                         nudge_y = 16,
                         segment.size  = 0.2,
                         segment.color = "grey50",
                         direction     = "x")

This gives the following plot:

plot4 <- ggplot(MyData, aes(x=GINI, y=Disproportionality)) +
  geom_point(colour = "black", size = 3) +    # Use black circles
  geom_smooth(method=lm) + # Add linear regression line
  #  (by default includes 95% confidence region)
  labs(title = "Black / white disproportionality for all stop and searches across  \n 32 London boroughs by levels of income inequality",
       subtitle = "October 2021 to end of September 2022") + 
  theme_bw()  +
  xlab("Income Gini Index scores based on ONS research output Household Income data  \n(the higher the score the more unequal the local authority) ") + ylab("Black / white disproportionality ratio \n Likelihood of child/ young person from the Black ethnic group \nto be stopped verses White ethnic \n (15-19-year-old males)") + 
  coord_cartesian(ylim = c(0, 7))

plot4 + geom_label_repel(data = subset(MyData, Area == "Wandsworth"), 
                         aes(label = Area, size = NULL, color = NULL),
                         nudge_y = 16,
                         segment.size  = 0.2,
                         segment.color = "grey50",
                         direction     = "x")

Regression analysis

Regression analysis is a way of predicting an outcome variable from one predictor variable (simple regression) or several predictor variables (multiple regression).

For the purposes of this analysis, the dependent variable (or outcome variable) is the Black / White disproportionality ratio for all stop-searches of 15-19 year-old males, the GINI Coefficient and IDACI score were the independent variables (or predictor variables).

The F statistic for the model is significant at P<.001. This result tells us that there is less than a 0.1% chance that an F-ratio this large would happen if the null hypothesis were true. Therefore, we can conclude that our regression model results is significantly better prediction of disproportionality than if we used the mean value of disproportionality alone. In short, the regression model overall predicts disproportionality significantly well.

This gives the following plot:

# standardize independent variables 
MyData2 <- MyData %>% mutate_at(c('GINI', 'IDACI', 'Black_pop'), ~(scale(.) %>% as.vector))
# run the model
model.1 <- lm(Disproportionality ~ GINI + IDACI, data = MyData2)

This gives the model output:

# view model summary 
summary(model.1)
## 
## Call:
## lm(formula = Disproportionality ~ GINI + IDACI, data = MyData2)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.7918 -0.5805 -0.1172  0.7428  1.9934 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   3.3906     0.1705  19.883  < 2e-16 ***
## GINI          0.6062     0.1733   3.499  0.00153 ** 
## IDACI        -0.8505     0.1733  -4.909 3.27e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9647 on 29 degrees of freedom
## Multiple R-squared:  0.5562, Adjusted R-squared:  0.5256 
## F-statistic: 18.17 on 2 and 29 DF,  p-value: 7.66e-06

Interpreting the model: Let’s look first at the R2 statistics at the bottom of the summary, The value describes the overall model. The value of the R2 is a measure of how much of the variability in the outcome is accounted for by the predictors. The value is 0.556, or 55.6% of the variance in the Black / White disproportionality ratio is explained by the income inequality and level of deprivation in the local authority.

The predictors have been standardised with a mean of zero. This helps determine which variable is the most important.

The figure of 0.61 represents the increase in the Black / White disproportionality ratio associated with a 1 unit change (1 standard deviation) in the level of income inequality in the local authority.

The figure of -0.85 represents the decrease in the Black / White disproportionality ratio associated with a 1 unit change (1 standard deviation) in the level of income deprivation in the local authority.

London analysis

A general pattern was identified with overall rates of stop and search seemingly higher in more deprived areas, and racial disparities seemingly most marked in boroughs with high levels of income inequality, mainly suburban areas in the west of the City. This briefing note replicates an earlier analysis from LSE researchers in 2018 using more recent data from the last 12 months. The results broadly confirm earlier findings, they indicate that the link between stop and search and deprivation is complicated and confounded by ‘race’.

The Metropolitan Police Service covers the 32 boroughs of London. The data provided by the MPS was extremely comprehensive and allowed for a robust analysis of the situation in London regarding stop and Searches of Children and Young People. The data is broken down by Borough Operational Command Unit (BOCU), which are the regional units within the MPS and are based on the areas covered by the 32 London boroughs. The City of London is exclude from the analysis. Data from the British Transport Police is also excluded from the analysis.

MyData_gg2 <- MyData %>%   ggplot(aes(x = Area,
                                      y = Disproportionality)) +
  geom_col(fill = "#0b4838") +
  theme(axis.text.x = element_text(angle = 90)) + 
  geom_text(aes(label = Disproportionality), vjust = 1.6, color = "white", size = 2,) +
  labs(title = "Black / white disproportionality for all stop and searches \n across 32 London boroughs",
       subtitle = "October 2021 to end of September 2022",
       caption = "Source: Metropolitan Police Stop and Search Dashboard") + 
  xlab("London borough") + 
  ylab("Black / white disproportionality ratio \n Likelihood of child/ young person from the Black ethnic group \n to be stopped verses White ethnic \n (15-19-year-old males)")
MyData_gg2 

Even if there was no disproportionality within individual boroughs, Black Londoners would be exposed to higher rates of stop and search than white people due to their patterns of residence: that is, because they tend to live in more deprived boroughs where rates of stop and search are high.

Referrences

HMICFRS (2021) Disproportionate use of police powers - A spotlight on stop and search and the use of force, London: The Stationery Office. Available online at: https://www.justiceinspectorates.gov.uk/hmicfrs/publications/disproportionate-use-of-police-powers-a-spotlight-on-stop-and-search-and-the-use-of-force/

Home Affairs Committee (2021) The Macpherson Report: Twenty-two year on, London: The Stationery Office. Available online at: https://committees.parliament.uk/publications/7012/documents/72927/default/ Home Office (2020) The Impact of Stops and Searches on Crime and the Community, London: The Stationery Office.

Home Office(2018) Serious Violence Strategy, London: The Stationery Office. Available online at: https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/698009/serious-violence-strategy.pdf

House of Commons Library (2021) Police powers: stop and search, London: The Stationery Office. Available online at: https://researchbriefings.files.parliament.uk/documents/SN03878/SN03878.pdf

Mayor of London (2020) Action Plan - Transparency, Accountability and Trust in Policing, MOPAC. Available online at: https://www.london.gov.uk/mopac-publications/action-plan-transparency-accountability-and-trust-policing

Michael Shiner, Zoe Carre, Rebekah Delsol and Niamh Eastwood (2018) The Colour of Injustice: ‘Race’, drugs and law enforcement in England and Wales, London: Release. Available online at: https://www.release.org.uk/publications/ColourOfInjustice

Glossary

Income inequality - Gini coefficient The Gini coefficient primarily measures the distribution of a specific resource, usually income within a specified geographic unit, and returns a value on a scale of zero to one or zero percent to one hundred percent. A zero coefficient represents perfect equality (a situation where everyone has the same amount of resources) and a score of one represents perfect inequality (only one person has all the resources and the rest have none). A higher Gini coefficient (closer to 1 or 100%) indicates high inequality and a lower Gini coefficient (closer to 0 or 0%) indicates lower inequality. The Gini coefficients in this report were computed by the University of Sheffield and Nuffield Foundation from ‘Income from Pay As You Earn (PAYE) and benefits for tax year ending 2016’ data.

Income Deprivation Affecting Children Index (IDACI) he Income Deprivation Affecting Children Index (IDACI) measures the proportion of all children aged 0 to 15 living in income deprived families. It is a subset of the Income Deprivation Domain which measures the proportion of the population in an area experiencing deprivation relating to low income. The definition of low income used includes both those people that are out-of-work, and those that are in work but who have low earnings. These data are calculated my the Ministry of Housing Communities and Local Government. For further information visit: https://www.gov.uk/government/statistics/english-indices-of-deprivation-2019