PLANTEAMIENTO

En el webinar de transcrime Michele Riccardi presentó una gráfica de la correlación entre la criminalidad observada y la presencia de transmisores de dinero en la región.

La idea parece tener mérito perseguirla en México.

Revisar la justificación.

¿Qué dato de criminalidad usar?

  • Criminalidad SESNSP
  • Criminalidad SESNSP - delitos de alto impacto
  • Criminalidad SESNSP - homicidio doloso + feminicidio
  • Criminalidad inegi
  • Corrupción

¿Qué dato de instituciones “remesadoras”? ¿Cómo se dispersan las remesas en México?

Como alternativa, se puede mapear o correlacionar con la presencia de: - Cajeros automáticos: base de datos de Banxico - Ubicación de casas de cambio y centros cambiarios - Base de datos de inclusión financiera

Los datos tienen que se ajustados por población mayor de 18 años.

Savona et al. (2018):

  • […] our analysis demonstrates a clear correlation between cash-intensity, the shadow economy and tax evasion, which all appear to increase the risk of SOC infiltration.
  • […] the ratio of ATM withdrawals divided by the sum of all ATM withdrawals and POS payments was calculated

[Supongamos que sí existe alguna correlación entre criminalidad y remesas, ¿no debería considerarse también el grado de marginación de la región? ¿el número de personas en pobreza extrema?]

Vargas Silva (2009):

  • We posit that in areas where violent crimes are commonplace, variables related to criminality and violence can be used to study the motivation to remit.
  • […] receiving money from abroad can make a household more susceptible to some types of crime […].
  • […] the likelihood of receiving domestic (international) transfers decreases by about 7 percentage points (8 percentage points) if a household member has been the victim of a crime.

Ardizzi et al. (2013):

  • Money laundering is unobservable, but other variables necessarily related to money laundering indeed are. And among these, cash deposited via a regulated financial institution is probably the most important. Hence, since cash in-flows are - at least partly - attributable to criminal proceeds that need to be laundered, what one is required to do to estimate the size of money laundering is to separate illigal proceeds from criminal activities from other determinants of in-flows, including legal as well as illegal profits from tax evasion. In other words, one needs to run a decomposition exercise, and identify the share of cash in-flows attributable to each of their determinants.
  • \(INCASH_{it} = \alpha_0 + \sum_k \alpha_k X_{it} + \sum_h \alpha_{ht} Z_{it} +\epsilon_{it}\)
    • \(INCASH_{it}\) es el cociente del valor total de los flujos de entrada de efectivo respecto del valor total de los flujos de entrada diferentes de efectivo en el individuo i, al tiempo t;
    • \(X_{it}\) son las variables que determinan el volumen de las entradas de recursos tanto legales como de la economía informal;
    • \(z-{it}\) son las variables que determinan el volumen del efectivo generado por las actividades criminales;
    • \(\epsilon_{it}\) es un error aleatorio.
  • $INCASH_{it} = 0 + 1 YPC{it} + 2 URATE{it} + 3 ELECTRO{it} + 4 INT{it} + 5 EMP_AGR{it} + \(\n\) 6 EMP_CON{it} + 7 COMM_FRAUDS{it} + 8 ENTERPRISE{it} + 9 POWER{it} +{it}$

DATOS

library('openxlsx')
library('ggplot2')
library('scales')
library('reshape')
library(DT)
poblacion.estatal <- 
  read.table(
    file = 
      'D:/Personal/Factum/00044_Estadisticas/poblacion/conapo/pob_mit_proyecciones.csv',
    header = TRUE,
    sep = ',')

poblacion.estatal <- 
  aggregate(
    x = list(POBLACION = poblacion.estatal$POBLACION), 
    by  = 
      list(AÑO = poblacion.estatal$AÑO, ENTIDAD = poblacion.estatal$ENTIDAD),
    FUN = sum)

REMESAS

TRIMESTRALES

Serie de tiempo del monto en millones de dólares del total de remesas recibidas trimestralmente, obtenida de Banxico.

# Lee el catálogo de series de Banxico. Una serie por estado y una para el 
# total.
#
cat.series <-
  read.table(
    file = 'cat_serie.txt', sep = '|', header = TRUE, fileEncoding = 'UTF-8')

datos.remesas.estados <- 
    read.xlsx(
        xlsxFile = 
          'D:/Personal/Factum/00044_Estadisticas/banxico/banxico_remesas.xlsx',
        startRow = 11, 
        detectDates = TRUE)

datos.remesas.estados$Fecha <- as.Date(datos.remesas.estados$Fecha, origin = '1899-12-30')

serie.total.remesas <- 
    data.frame(
        FECHA = datos.remesas.estados$Fecha, 
        REMESAS = datos.remesas.estados$NACIONAL)

g.1 <- 
    ggplot(data = serie.total.remesas, mapping = aes(x = FECHA, y = REMESAS)) +
    geom_line() +
    scale_y_continuous(labels = comma) +
    labs(
        title = 'Remesas totales trimestrales', 
        caption = 'En millones de dólares. Fuente: Banco de México, Sistema de Información Económica.') +
    theme_minimal()

plot(g.1)

Desglosada por entidad federativa:

datatable(
  data = 
    datos.remesas.estados[
      order(datos.remesas.estados$Fecha, decreasing = TRUE),], 
  rownames = FALSE) %>%
  formatCurrency(columns = 2:ncol(datos.remesas.estados), digits = 2)
datos.remesas.estados.2 <- 
        melt(
                data = datos.remesas.estados[, -ncol(datos.remesas.estados)], 
                id.vars = c('Fecha'), 
                variable.name = 'ESTADO')

g.2 <- 
    ggplot(
        data = datos.remesas.estados.2, 
        mapping = aes(x = Fecha, y = value, colour = variable)) +
    geom_line() +
    scale_y_continuous(labels = comma) +
    labs(
        title = 'Remesas totales trimestrales', 
        subtitle = 'Histórico',
        colour = 'Estado',
        caption = 
          'En millones de dólares. Fuente: Banco de México, Sistema de Información Económica.') +
    ylab(label = 'Monto') +
    theme_minimal() + 
    scale_colour_manual(
      values = rainbow(length(unique(datos.remesas.estados.2$variable))))

plot(g.2)

Veamos más detenidamente algunos estados en particular.

Si nos fijamos en el último trimestre (2021-10-01), los tres estados que capturaron el mayor volumen de remesas recibidas fueron:

temp <- 
  datos.remesas.estados.2[
    which(datos.remesas.estados.2$Fecha == max(datos.remesas.estados.2$Fecha)),]

temp <- temp[order(temp$value, decreasing = TRUE),]

temp <- head(x = temp[,2:3], n = 3)

datatable(
  data = temp, 
  colnames = c('ESTADO' = 1, 'REMESAS' = 2),
  rownames = FALSE) %>%
  formatCurrency(columns = 2, digits = 2)
temp <- 
  datos.remesas.estados.2[
    which(datos.remesas.estados.2$variable %in% temp$variable),]

temp$variable <- factor(as.character(x = temp$variable))

ggplot(
  data = temp, mapping = aes(x = Fecha, y = value, colour = variable)) +
  geom_line() +
  scale_y_continuous(labels = comma) +
  labs(
    title = 'Remesas totales trimestrales', 
    subtitle = 'Histórico (top 3 del último trimestre)',
    colour = 'Estado',
    caption = 
      'En millones de dólares. Fuente: Banco de México, Sistema de Información Económica.') +
    ylab(label = 'Monto') +
    theme_minimal() + 
    scale_colour_manual(
      values = rainbow(length(unique(temp$variable))))

g.3 <- list()

for (i in 1:length(unique(temp$variable))){
    
    g.3[[i]] <- list()
    g.3[[i]] <- 
        ggplot(
            data = 
                temp[
                    which(
                        temp$variable == 
                            unique(temp$variable)[i]),], 
            mapping = aes(x = Fecha, y = value)) +
        geom_line() +
        scale_y_continuous(labels = comma) +
        labs(
            title = 
                paste0(
                    'Remesas totales trimestrales: ', 
                    unique(temp$variable)[i]), 
            subtitle = 'Histórico',
            y = 'Monto',
            caption = 'En millones de dólares. Fuente: Banco de México, Sistema de Información Económica.') +
        theme_minimal() +
        theme(legend.position = 'bottom')
    
}

for (i in 1:length(g.3)){

  plot(g.3[[i]])
  
  cat('\n')
  
}

ANUALES

Si acumulamos las remesas recibidas en el año:

datos.remesas.anuales <- datos.remesas.estados.2

datos.remesas.anuales$AÑO <- 
  as.numeric(format(x = datos.remesas.anuales$Fecha, '%Y'))

datos.remesas.anuales <-
  aggregate(
    x = list(MONTO = datos.remesas.anuales$value),
    by = 
      list(
O = datos.remesas.anuales$AÑO, 
        ESTADO = datos.remesas.anuales$variable),
    FUN = sum)

datatable(data = datos.remesas.anuales, rownames = FALSE) %>%
  formatCurrency(columns = 3)
for (i in unique(datos.remesas.anuales$ESTADO)){
  
  print(
    ggplot(
      data = 
        datos.remesas.anuales[which(datos.remesas.anuales$ESTADO == i), ], 
      mapping = aes(x = AÑO, y = MONTO)) +
        geom_line() +
        scale_y_continuous(labels = comma) +
        labs(
            title = 'Remesas totales anuales',
            subtitle = i,
            caption = 'En millones de dólares. Fuente: Banco de México, Sistema de Información Económica.') +
        theme_minimal())
    
}

MARGINACIÓN

datos.marginacion <- 
  read.table(
    file = 'Base_Indice_de_marginacion_estatal_90-15.csv',
    sep = ',',
    header = TRUE)

datos.marginacion <- 
  datos.marginacion[which(datos.marginacion$NOM_ENT != 'Nacional'),]

datos.marginacion$IM <- as.numeric(datos.marginacion$IM)

for (i in unique(datos.marginacion$NOM_ENT)){

  print( 
    ggplot(
        data = datos.marginacion[which(datos.marginacion$NOM_ENT == i),], 
        mapping = aes(x = AÑO, y = IM)) +
    geom_line() +
    scale_y_continuous(labels = comma) +
    labs(
      title = 'Índice de marginación', 
      subtitle = i,
      caption = 'Fuente: CONAPO.') +
    theme_minimal())
    
}

EMPLEO

USO DE EFECTIVO

INCIDENCIA DE CRIMINALIDAD

CORRELACIONES

REMESAS ANUALES VS. MARGINACIÓN

datos.remesas.marginacion <-
  merge(
    x = datos.remesas.anuales,
    y = cat.series,
    by.x = 'ESTADO',
    by.y = 'ESTADO.2',
    all.x = TRUE)

datos.remesas.marginacion <-
  merge(
    x = datos.remesas.marginacion,
    y = datos.marginacion[, c('NOM_ENT', 'AÑO', 'IM')],
    by.x = c('ESTADO.y', 'AÑO'),
    by.y = c('NOM_ENT', 'AÑO'),
    all.x = TRUE)

datos.remesas.marginacion <-
  datos.remesas.marginacion[complete.cases(datos.remesas.marginacion),]

cor(x = datos.remesas.marginacion$MONTO, y = datos.remesas.marginacion$IM)
## [1] 0.2317434
ggplot(data = datos.remesas.marginacion, mapping = aes(x = MONTO, y = IM)) +
  geom_point() + 
  theme_minimal()

PENDIENTES

  • Riccardi & Levi, 2018

  • Ardizzi & Iachini, 2013

  • Sisak, 2011

  • Transcrime, 2017

  • Medina & Schnider, 2018

  • demanda de dinero

  • correlación del volumen de remesas con:

    • prevalencia de criminalidad
    • prevalencia de corrupción
    • PIB
  • Ajustar remesas por población

  • población conapo.

REFERENCIAS

Ardizzi, Guerino, Carmelo Petraglia, Massimiliano Piacenza, Friedrich Schneider, and Gilberto Turati. 2013. “Money Laundering as a Financial Sector Crime: A New Approach to Measurement, with an Application to Italy.” CESifo Working Papers, no. 4127.

Ramachandran, Vijaya. 2016. “Mitigating the Effects of de-Risking in Emerging Markets to Preserve Remittance Flows.” EMCompass, no. 22.

R Core Team. 2020. R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing. https://www.R-project.org/.

Savona, Ernesto U., Michele Riccardi, Daniela Andreatta, Antonio Bosisio, Georgina Musat, Erik Nilsson, Johanna Skinnari, Benjamin Villanyi, and Verena Zoppei. 2018. “Mapping the Risk of Serious and Organized Crime Infiltration in European Businesses: Final Report of the More Project.” Transcrime - Universitá Cattolica del Sacro Cuore.

Schauberger, Philipp, and Alexander Walker. 2020. Openxlsx: Read, Write and Edit Xlsx Files. https://CRAN.R-project.org/package=openxlsx.

Vargas Silva, Carlos. 2009. “Crime and Remittance Transfers.” Sam Houston State University, Department of Economics and International Business Working Paper Series, nos. 09-03.

Wickham, Hadley. 2007. “Reshaping Data with the reshape Package.” Journal of Statistical Software 21 (12): 1–20. http://www.jstatsoft.org/v21/i12/.

———. 2016. Ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York. https://ggplot2.tidyverse.org.

Wickham, Hadley, and Dana Seidel. 2020. Scales: Scale Functions for Visualization. https://CRAN.R-project.org/package=scales.

Xie, Yihui, Joe Cheng, and Xianying Tan. 2020. DT: A Wrapper of the Javascript Library ’Datatables’. https://CRAN.R-project.org/package=DT.