Crime and immigration in Germany

Analysis based on the official crime stats going back to 2002.

Jonatan Pallesen
06-11-2018

Table of Contents


Introduction

What is the influence of the increased migration into Germany from 2013 on crime levels? I investigate this question using data from BKA.

Total crime

code


library(pacman)

p_load(tidyverse, magrittr, scales)

source('../../src/extra.R', echo = F, encoding="utf-8")

crime <- read_csv("data/crime.csv")

y0 <- 2013

crime %<>% 
  mutate(
    total_incl_foreigners_law = total,
    total = total_incl_foreigners_law - foreigners_law,
    total_norm = total / total[year == y0],
    violent_norm = violent / violent[year==y0],
    murder_norm = murder / murder[year==y0],
    rape_norm = rape / rape[year== y0]
  )

plot_crime <- function(df, cat){
  df %>% ggplot(aes_string(x = "year", y = "value", color = cat)) +
    geom_line(size = 1.1) + 
    labs(y = "2013 level = 1") + 
    theme(axis.text.x = element_text(angle = 45, hjust=1),
          plot.title = element_text(size = 15)) +
    scale_x_continuous(breaks = seq(min(df$year), max(df$year), by = 1))  
}

crime_by_year <- crime %>% 
  select(year, total = total_norm, violent = violent_norm, murder = murder_norm) %>% 
  pivot_longer(c(total, violent, murder), names_to = "crime_type")

crime_by_year_including_rape <- crime %>% 
  select(year, total = total_norm, violent = violent_norm, murder = murder_norm, rape = rape_norm) %>% 
  pivot_longer(c(total, violent, murder, rape), names_to = "crime_type")

plot


crime_by_year %>% plot_crime("crime_type")


plot


crime_by_year_including_rape %>% plot_crime("crime_type")

We see that overall crime rates are down. However, some of the worst crimes such as rape and murder are increasing in recent years. Note that the increase in rape numbers may a cause of different criteria being used in different years. If this is the case, it is hard to interpret the numbers, and I therefore only show them in a separate figure.

Suspects among immigrants / natives

plot


suspects <- read_csv("data/suspects.csv")

y0 <- 2013

suspects_by_year <- suspects %>% 
  select(year, natives = native, immigrants = immigrant) %>% 
  pivot_longer(c(immigrants, natives), names_to = "group")

suspects_by_year %>% plot_crime("group") + 
  labs(y = "Total number of suspects", title = "Suspects") +
   scale_y_continuous(name="n", labels = comma)


In the plot below I normalize the values to 2013, to better show the development of the crime commited by the two groups over time:

plot


suspects %<>% 
  mutate(
    native_norm = native / native[year == y0],
    immigrant_norm = immigrant / immigrant[year == y0]
  ) 

suspects_by_year <- suspects %>% 
  select(year, natives = native_norm, immigrants = immigrant_norm) %>% 
  pivot_longer(c(immigrants, natives), names_to = "group")

suspects_by_year %>% plot_crime("group") + labs(title = "Suspects")


Immigrants commit crimes at about twice the rate of native Germans.

code


total_population <- 81802000

immigrant_population <- 10915445 # From wikipedia

native_population <- total_population - immigrant_population

tibble(
  native_crime_rates = suspects %>% get(2018, "native") / native_population  * 100,
  immigrant_crime_rates = suspects %>% get(2018, "immigrant") / immigrant_population * 100,
  )
native_crime_rates immigrant_crime_rates
2.72 5.4

Additionally, it is likely that the largest immigrant groups in the recent wave have higher average crime rates than those of the overall immigrant population. I haven’t found the numbers for Germany, but for Denmark this is the case.


It is clear from the above that the crime rates in Germany is caused by the sum of two different processes:

  1. The steady and strong decrease in crime rates among native Germans

  2. The drastic increase in crime commited by immigrants starting with the migration crisis in 2013.

Thus, if the large immigration from 2013 had not happened, crime in Germanly would’ve certainly been even lower than it currently is.

Native crime decline

What are the driving forces behind the strong decline in crime rates among the native German population?

The crime rate has been steadily falling for all age groups, and especially for the high crime youngest age groups.

read data


y0 = 2004

df <- read_csv("data/crime_age.csv") %>% 
  mutate(
    total=no/prop*100000,
    total_norm=total / total[year==y0],
    prop_norm=prop / prop[year==y0],
    age_group = case_when(
      age == 18 ~ "14 to 18",
      age == 21 ~ "18 to 21",
      age == 25 ~ "21 to 25",
      age == 100 ~ "Total population",
      age == 200 ~ "Adults"
      )
  )

plot


ylabs <- y <- c(2004, 2006, 2008, 2010, 2011, 2012, 2014, 2015)

df %>% ggplot(aes(x=year, y=prop_norm, group=age_group, color=age_group)) +
  geom_line(size=1.1) + 
  theme(
    axis.text.x = element_text(angle = 90, vjust = 0.5),
    plot.title = element_text(size = 15)) +
  scale_color_hue(l=55, c=50) + 
  scale_x_continuous(breaks=y, labels=ylabs) + 
  ylim(0, 1.2) + 
  labs(title = "Crime rate",
       y = "2004 level = 1",
       x = "year")


Meanwhile the population of the high crime youngest age groups have also decreased.

plot


df %>% ggplot(aes(x=year, y=total_norm, group=age_group, color=age_group)) +
  geom_line(size=1.1) + 
  theme(
    axis.text.x = element_text(angle = 90, vjust = 0.5),
    plot.title = element_text(size = 15)) +
  scale_color_hue(l=55, c=50) + 
  scale_x_continuous(breaks=y, labels=ylabs) + 
  ylim(0, 1.2) + 
  labs(title = "Population size", y = "2004 level = 1", x = "year")

So the decrease in crime is caused by a combination of these two factors.