07/21/2024

Some Crim

Track the Untold Stories

DataInSights: Chop Shops Make a Comeback in São Paulo

DataInSights: Chop Shops Make a Comeback in São Paulo

DataInSights: Chop Shops Make a Comeback in São Paulo

Vehicle theft is back on the rise in São Paulo following years of decline, as criminal groups exploit supply chain issues to revive a withering black market.

Brazil started to see a nationwide increase in vehicle theft around 2020, but no state has seen a spike as dramatic as São Paulo. Car thefts in the country’s most populous and economically important state rose from a low of 65,724 in 2020 to a total of 94,258 in 2023, according to data from Brazil’s National System of Information on Public Security (Sistema Nacional de Informações de Segurança Pública, Prisionais, de Rastreabilidade de Armas e Munições, de Material Genético, de Digitais e de Drogas – SINESP) and São Paulo’s Secretariat of Public Security (Secretaria da Segurança Pública). 

Car theft, where the car is stolen without the use of force, is much more common in São Paulo than robbery, where threats or violence are used.

.título-del-gráfico {
font-family: ‘Noto Sans’, sans-serif;
color: #3B3B3B;
font-weight: bold;
margin-top: 0;
padding-top: 0;
font-size: 28px;
}

.subtítulo-del-gráfico {
font-family: ‘Noto Sans’, sans-serif;
color: #3B3B3B;
font-style: normal;
}

.fuente-del-gráfico {
font-family: ‘Noto Sans’, sans-serif;
color: #B3B3B3;
margin-top: 0;
padding-top: 0;
}

.annotation-group {
font-family: ‘Noto Sans’, sans-serif;
color: #3B3B3B;
font-size: 14px;
}

.etiquetas {
font-family: ‘Noto Sans’, sans-serif;
text-shadow: -1px 0 #FAFAFA, 0 1px #FAFAFA, 1px 0 #FAFAFA, 0 -1px #FAFAFA;
color: #3B3B3B;
font-size: 15px;
font-weight: bold;
}

.eje-x path {
stroke: #3B3B3B;
stroke-width: 2;
}

.eje-x text {
font-family: ‘Noto Sans’, sans-serif;
font-size: 13px;
}

.eje-x-título {
text-anchor: middle;
font-family: ‘Noto Sans’, sans-serif;
font-size: 15px;
font-style: italic;
fill: #B3B3B3;
}

.eje-y text {
font-family: ‘Noto Sans’, sans-serif;
font-size: 13px;
fill: #B3B3B3;
}

.eje-y-título {
font-family: ‘Noto Sans’, sans-serif;
font-size: 15px;
font-style: italic;
fill: #B3B3B3;
}

.eje-y line {
stroke: #b3b3b3;
stroke-width: .03em;
}

.eje-y2 line {
stroke: #B3B3B3;
}

.eje-y path {
stroke: none;
}

.plot-subtitle {
font-size: 17px;
font-family: ‘Noto Sans’, sans-serif;
fill: #3B3B3B;
}

.logo-ic {
font-family: ‘Georgia’;
font-size: 18px;
font-style: italic;
letter-spacing: 1px;
fill: #A5A5A5;
}

.flex-container {
display: flex;
flex-wrap: wrap;
justify-content: space-between; /* Optional: Aligns items with space between them */
}

.flex-item {
flex-basis: 200px; /* Adjust as needed */
flex-grow: 1; /* Allows items to grow if there’s space */
flex-shrink: 1; /* Allows items to shrink if there’s not enough space */
margin: 10px;
margin-bottom: 0px;
padding-bottom: 0px;
}

São Paulo is the epicenter of Brazil’s vehicle theft industry

Number of vehicle thefts in Brazil (2015-2022)

June 2024 | Sources: SINESP
const marginGdLM2 = {top: 10, right: 30, bottom: 30, left: 60},
widthGdLM2 = 640 – marginGdLM2.left – marginGdLM2.right,
heightGdLM2 = 400 – marginGdLM2.top – marginGdLM2.bottom;

const svgGdLM2 = d3.select(“#gráfico-de-líneas-múltiples2”)
.append(“svg”)
.attr(“viewBox”, `0 0 640 400`)
.append(“g”)
.attr(“transform”,`translate(${marginGdLM2.left},${marginGdLM2.top})`);

const dataGdLM2 = [{“UF”:”Acre”,”Ano”:2015,”Ocorrências”:0},{“UF”:”Acre”,”Ano”:2016,”Ocorrências”:0},{“UF”:”Acre”,”Ano”:2017,”Ocorrências”:539},{“UF”:”Acre”,”Ano”:2018,”Ocorrências”:704},{“UF”:”Acre”,”Ano”:2019,”Ocorrências”:572},{“UF”:”Acre”,”Ano”:2020,”Ocorrências”:289},{“UF”:”Acre”,”Ano”:2021,”Ocorrências”:615},{“UF”:”Acre”,”Ano”:2022,”Ocorrências”:513},{“UF”:”Alagoas”,”Ano”:2015,”Ocorrências”:696},{“UF”:”Alagoas”,”Ano”:2016,”Ocorrências”:819},{“UF”:”Alagoas”,”Ano”:2017,”Ocorrências”:1194},{“UF”:”Alagoas”,”Ano”:2018,”Ocorrências”:1158},{“UF”:”Alagoas”,”Ano”:2019,”Ocorrências”:1376},{“UF”:”Alagoas”,”Ano”:2020,”Ocorrências”:1585},{“UF”:”Alagoas”,”Ano”:2021,”Ocorrências”:1459},{“UF”:”Alagoas”,”Ano”:2022,”Ocorrências”:2022},{“UF”:”Amapá”,”Ano”:2015,”Ocorrências”:877},{“UF”:”Amapá”,”Ano”:2016,”Ocorrências”:805},{“UF”:”Amapá”,”Ano”:2017,”Ocorrências”:721},{“UF”:”Amapá”,”Ano”:2018,”Ocorrências”:722},{“UF”:”Amapá”,”Ano”:2019,”Ocorrências”:526},{“UF”:”Amapá”,”Ano”:2020,”Ocorrências”:157},{“UF”:”Amapá”,”Ano”:2021,”Ocorrências”:391},{“UF”:”Amapá”,”Ano”:2022,”Ocorrências”:426},{“UF”:”Amazonas”,”Ano”:2015,”Ocorrências”:1867},{“UF”:”Amazonas”,”Ano”:2016,”Ocorrências”:2694},{“UF”:”Amazonas”,”Ano”:2017,”Ocorrências”:3461},{“UF”:”Amazonas”,”Ano”:2018,”Ocorrências”:2252},{“UF”:”Amazonas”,”Ano”:2019,”Ocorrências”:1970},{“UF”:”Amazonas”,”Ano”:2020,”Ocorrências”:1883},{“UF”:”Amazonas”,”Ano”:2021,”Ocorrências”:1834},{“UF”:”Amazonas”,”Ano”:2022,”Ocorrências”:2220},{“UF”:”Bahia”,”Ano”:2015,”Ocorrências”:5539},{“UF”:”Bahia”,”Ano”:2016,”Ocorrências”:6010},{“UF”:”Bahia”,”Ano”:2017,”Ocorrências”:5519},{“UF”:”Bahia”,”Ano”:2018,”Ocorrências”:5332},{“UF”:”Bahia”,”Ano”:2019,”Ocorrências”:5289},{“UF”:”Bahia”,”Ano”:2020,”Ocorrências”:4255},{“UF”:”Bahia”,”Ano”:2021,”Ocorrências”:4625},{“UF”:”Bahia”,”Ano”:2022,”Ocorrências”:6666},{“UF”:”Ceará”,”Ano”:2015,”Ocorrências”:4839},{“UF”:”Ceará”,”Ano”:2016,”Ocorrências”:4927},{“UF”:”Ceará”,”Ano”:2017,”Ocorrências”:4997},{“UF”:”Ceará”,”Ano”:2018,”Ocorrências”:4184},{“UF”:”Ceará”,”Ano”:2019,”Ocorrências”:4602},{“UF”:”Ceará”,”Ano”:2020,”Ocorrências”:4200},{“UF”:”Ceará”,”Ano”:2021,”Ocorrências”:4052},{“UF”:”Ceará”,”Ano”:2022,”Ocorrências”:5904},{“UF”:”Distrito Federal”,”Ano”:2015,”Ocorrências”:6500},{“UF”:”Distrito Federal”,”Ano”:2016,”Ocorrências”:6924},{“UF”:”Distrito Federal”,”Ano”:2017,”Ocorrências”:5717},{“UF”:”Distrito Federal”,”Ano”:2018,”Ocorrências”:4888},{“UF”:”Distrito Federal”,”Ano”:2019,”Ocorrências”:5125},{“UF”:”Distrito Federal”,”Ano”:2020,”Ocorrências”:4346},{“UF”:”Distrito Federal”,”Ano”:2021,”Ocorrências”:3717},{“UF”:”Distrito Federal”,”Ano”:2022,”Ocorrências”:3372},{“UF”:”Espírito Santo”,”Ano”:2015,”Ocorrências”:3075},{“UF”:”Espírito Santo”,”Ano”:2016,”Ocorrências”:3102},{“UF”:”Espírito Santo”,”Ano”:2017,”Ocorrências”:4713},{“UF”:”Espírito Santo”,”Ano”:2018,”Ocorrências”:4448},{“UF”:”Espírito Santo”,”Ano”:2019,”Ocorrências”:5600},{“UF”:”Espírito Santo”,”Ano”:2020,”Ocorrências”:5208},{“UF”:”Espírito Santo”,”Ano”:2021,”Ocorrências”:4654},{“UF”:”Espírito Santo”,”Ano”:2022,”Ocorrências”:4513},{“UF”:”Goiás”,”Ano”:2015,”Ocorrências”:12008},{“UF”:”Goiás”,”Ano”:2016,”Ocorrências”:12165},{“UF”:”Goiás”,”Ano”:2017,”Ocorrências”:10824},{“UF”:”Goiás”,”Ano”:2018,”Ocorrências”:11267},{“UF”:”Goiás”,”Ano”:2019,”Ocorrências”:8277},{“UF”:”Goiás”,”Ano”:2020,”Ocorrências”:5568},{“UF”:”Goiás”,”Ano”:2021,”Ocorrências”:5106},{“UF”:”Goiás”,”Ano”:2022,”Ocorrências”:5372},{“UF”:”Maranhão”,”Ano”:2015,”Ocorrências”:2240},{“UF”:”Maranhão”,”Ano”:2016,”Ocorrências”:3249},{“UF”:”Maranhão”,”Ano”:2017,”Ocorrências”:3130},{“UF”:”Maranhão”,”Ano”:2018,”Ocorrências”:2980},{“UF”:”Maranhão”,”Ano”:2019,”Ocorrências”:2539},{“UF”:”Maranhão”,”Ano”:2020,”Ocorrências”:1836},{“UF”:”Maranhão”,”Ano”:2021,”Ocorrências”:2154},{“UF”:”Maranhão”,”Ano”:2022,”Ocorrências”:2350},{“UF”:”Mato Grosso”,”Ano”:2015,”Ocorrências”:3614},{“UF”:”Mato Grosso”,”Ano”:2016,”Ocorrências”:3403},{“UF”:”Mato Grosso”,”Ano”:2017,”Ocorrências”:2817},{“UF”:”Mato Grosso”,”Ano”:2018,”Ocorrências”:2438},{“UF”:”Mato Grosso”,”Ano”:2019,”Ocorrências”:2367},{“UF”:”Mato Grosso”,”Ano”:2020,”Ocorrências”:1860},{“UF”:”Mato Grosso”,”Ano”:2021,”Ocorrências”:1850},{“UF”:”Mato Grosso”,”Ano”:2022,”Ocorrências”:2301},{“UF”:”Mato Grosso do Sul”,”Ano”:2015,”Ocorrências”:3699},{“UF”:”Mato Grosso do Sul”,”Ano”:2016,”Ocorrências”:3894},{“UF”:”Mato Grosso do Sul”,”Ano”:2017,”Ocorrências”:3634},{“UF”:”Mato Grosso do Sul”,”Ano”:2018,”Ocorrências”:3700},{“UF”:”Mato Grosso do Sul”,”Ano”:2019,”Ocorrências”:3464},{“UF”:”Mato Grosso do Sul”,”Ano”:2020,”Ocorrências”:2901},{“UF”:”Mato Grosso do Sul”,”Ano”:2021,”Ocorrências”:2901},{“UF”:”Mato Grosso do Sul”,”Ano”:2022,”Ocorrências”:3579},{“UF”:”Minas Gerais”,”Ano”:2015,”Ocorrências”:27561},{“UF”:”Minas Gerais”,”Ano”:2016,”Ocorrências”:28836},{“UF”:”Minas Gerais”,”Ano”:2017,”Ocorrências”:25605},{“UF”:”Minas Gerais”,”Ano”:2018,”Ocorrências”:21401},{“UF”:”Minas Gerais”,”Ano”:2019,”Ocorrências”:20457},{“UF”:”Minas Gerais”,”Ano”:2020,”Ocorrências”:16145},{“UF”:”Minas Gerais”,”Ano”:2021,”Ocorrências”:14676},{“UF”:”Minas Gerais”,”Ano”:2022,”Ocorrências”:19145},{“UF”:”Paraná”,”Ano”:2015,”Ocorrências”:17072},{“UF”:”Paraná”,”Ano”:2016,”Ocorrências”:20366},{“UF”:”Paraná”,”Ano”:2017,”Ocorrências”:19346},{“UF”:”Paraná”,”Ano”:2018,”Ocorrências”:17620},{“UF”:”Paraná”,”Ano”:2019,”Ocorrências”:15967},{“UF”:”Paraná”,”Ano”:2020,”Ocorrências”:11959},{“UF”:”Paraná”,”Ano”:2021,”Ocorrências”:11548},{“UF”:”Paraná”,”Ano”:2022,”Ocorrências”:13669},{“UF”:”Paraíba”,”Ano”:2015,”Ocorrências”:1841},{“UF”:”Paraíba”,”Ano”:2016,”Ocorrências”:316},{“UF”:”Paraíba”,”Ano”:2017,”Ocorrências”:216},{“UF”:”Paraíba”,”Ano”:2018,”Ocorrências”:1566},{“UF”:”Paraíba”,”Ano”:2019,”Ocorrências”:882},{“UF”:”Paraíba”,”Ano”:2020,”Ocorrências”:773},{“UF”:”Paraíba”,”Ano”:2021,”Ocorrências”:708},{“UF”:”Paraíba”,”Ano”:2022,”Ocorrências”:976},{“UF”:”Pará”,”Ano”:2015,”Ocorrências”:2826},{“UF”:”Pará”,”Ano”:2016,”Ocorrências”:3888},{“UF”:”Pará”,”Ano”:2017,”Ocorrências”:5094},{“UF”:”Pará”,”Ano”:2018,”Ocorrências”:4202},{“UF”:”Pará”,”Ano”:2019,”Ocorrências”:3588},{“UF”:”Pará”,”Ano”:2020,”Ocorrências”:2807},{“UF”:”Pará”,”Ano”:2021,”Ocorrências”:3018},{“UF”:”Pará”,”Ano”:2022,”Ocorrências”:3270},{“UF”:”Pernambuco”,”Ano”:2015,”Ocorrências”:3769},{“UF”:”Pernambuco”,”Ano”:2016,”Ocorrências”:4832},{“UF”:”Pernambuco”,”Ano”:2017,”Ocorrências”:6612},{“UF”:”Pernambuco”,”Ano”:2018,”Ocorrências”:5387},{“UF”:”Pernambuco”,”Ano”:2019,”Ocorrências”:6137},{“UF”:”Pernambuco”,”Ano”:2020,”Ocorrências”:4811},{“UF”:”Pernambuco”,”Ano”:2021,”Ocorrências”:4911},{“UF”:”Pernambuco”,”Ano”:2022,”Ocorrências”:7022},{“UF”:”Piauí”,”Ano”:2015,”Ocorrências”:1641},{“UF”:”Piauí”,”Ano”:2016,”Ocorrências”:2389},{“UF”:”Piauí”,”Ano”:2017,”Ocorrências”:2563},{“UF”:”Piauí”,”Ano”:2018,”Ocorrências”:3204},{“UF”:”Piauí”,”Ano”:2019,”Ocorrências”:2943},{“UF”:”Piauí”,”Ano”:2020,”Ocorrências”:2189},{“UF”:”Piauí”,”Ano”:2021,”Ocorrências”:2045},{“UF”:”Piauí”,”Ano”:2022,”Ocorrências”:2328},{“UF”:”Rio Grande do Norte”,”Ano”:2015,”Ocorrências”:972},{“UF”:”Rio Grande do Norte”,”Ano”:2016,”Ocorrências”:1703},{“UF”:”Rio Grande do Norte”,”Ano”:2017,”Ocorrências”:1329},{“UF”:”Rio Grande do Norte”,”Ano”:2018,”Ocorrências”:1043},{“UF”:”Rio Grande do Norte”,”Ano”:2019,”Ocorrências”:695},{“UF”:”Rio Grande do Norte”,”Ano”:2020,”Ocorrências”:630},{“UF”:”Rio Grande do Norte”,”Ano”:2021,”Ocorrências”:821},{“UF”:”Rio Grande do Norte”,”Ano”:2022,”Ocorrências”:1363},{“UF”:”Rio Grande do Sul”,”Ano”:2015,”Ocorrências”:20419},{“UF”:”Rio Grande do Sul”,”Ano”:2016,”Ocorrências”:19541},{“UF”:”Rio Grande do Sul”,”Ano”:2017,”Ocorrências”:16893},{“UF”:”Rio Grande do Sul”,”Ano”:2018,”Ocorrências”:14407},{“UF”:”Rio Grande do Sul”,”Ano”:2019,”Ocorrências”:13105},{“UF”:”Rio Grande do Sul”,”Ano”:2020,”Ocorrências”:9415},{“UF”:”Rio Grande do Sul”,”Ano”:2021,”Ocorrências”:8914},{“UF”:”Rio Grande do Sul”,”Ano”:2022,”Ocorrências”:9013},{“UF”:”Rio de Janeiro”,”Ano”:2015,”Ocorrências”:16944},{“UF”:”Rio de Janeiro”,”Ano”:2016,”Ocorrências”:16759},{“UF”:”Rio de Janeiro”,”Ano”:2017,”Ocorrências”:15708},{“UF”:”Rio de Janeiro”,”Ano”:2018,”Ocorrências”:15794},{“UF”:”Rio de Janeiro”,”Ano”:2019,”Ocorrências”:15594},{“UF”:”Rio de Janeiro”,”Ano”:2020,”Ocorrências”:12894},{“UF”:”Rio de Janeiro”,”Ano”:2021,”Ocorrências”:14416},{“UF”:”Rio de Janeiro”,”Ano”:2022,”Ocorrências”:16848},{“UF”:”Rondônia”,”Ano”:2015,”Ocorrências”:3304},{“UF”:”Rondônia”,”Ano”:2016,”Ocorrências”:3557},{“UF”:”Rondônia”,”Ano”:2017,”Ocorrências”:2559},{“UF”:”Rondônia”,”Ano”:2018,”Ocorrências”:2513},{“UF”:”Rondônia”,”Ano”:2019,”Ocorrências”:2189},{“UF”:”Rondônia”,”Ano”:2020,”Ocorrências”:2063},{“UF”:”Rondônia”,”Ano”:2021,”Ocorrências”:2258},{“UF”:”Rondônia”,”Ano”:2022,”Ocorrências”:2792},{“UF”:”Roraima”,”Ano”:2015,”Ocorrências”:641},{“UF”:”Roraima”,”Ano”:2016,”Ocorrências”:995},{“UF”:”Roraima”,”Ano”:2017,”Ocorrências”:790},{“UF”:”Roraima”,”Ano”:2018,”Ocorrências”:636},{“UF”:”Roraima”,”Ano”:2019,”Ocorrências”:617},{“UF”:”Roraima”,”Ano”:2020,”Ocorrências”:701},{“UF”:”Roraima”,”Ano”:2021,”Ocorrências”:649},{“UF”:”Roraima”,”Ano”:2022,”Ocorrências”:731},{“UF”:”Santa Catarina”,”Ano”:2015,”Ocorrências”:14068},{“UF”:”Santa Catarina”,”Ano”:2016,”Ocorrências”:14291},{“UF”:”Santa Catarina”,”Ano”:2017,”Ocorrências”:11987},{“UF”:”Santa Catarina”,”Ano”:2018,”Ocorrências”:9133},{“UF”:”Santa Catarina”,”Ano”:2019,”Ocorrências”:8864},{“UF”:”Santa Catarina”,”Ano”:2020,”Ocorrências”:7544},{“UF”:”Santa Catarina”,”Ano”:2021,”Ocorrências”:7455},{“UF”:”Santa Catarina”,”Ano”:2022,”Ocorrências”:8028},{“UF”:”Sergipe”,”Ano”:2015,”Ocorrências”:653},{“UF”:”Sergipe”,”Ano”:2016,”Ocorrências”:1027},{“UF”:”Sergipe”,”Ano”:2017,”Ocorrências”:886},{“UF”:”Sergipe”,”Ano”:2018,”Ocorrências”:776},{“UF”:”Sergipe”,”Ano”:2019,”Ocorrências”:968},{“UF”:”Sergipe”,”Ano”:2020,”Ocorrências”:788},{“UF”:”Sergipe”,”Ano”:2021,”Ocorrências”:606},{“UF”:”Sergipe”,”Ano”:2022,”Ocorrências”:886},{“UF”:”São Paulo”,”Ano”:2015,”Ocorrências”:110690},{“UF”:”São Paulo”,”Ano”:2016,”Ocorrências”:110932},{“UF”:”São Paulo”,”Ano”:2017,”Ocorrências”:104829},{“UF”:”São Paulo”,”Ano”:2018,”Ocorrências”:97653},{“UF”:”São Paulo”,”Ano”:2019,”Ocorrências”:84099},{“UF”:”São Paulo”,”Ano”:2020,”Ocorrências”:65724},{“UF”:”São Paulo”,”Ano”:2021,”Ocorrências”:79670},{“UF”:”São Paulo”,”Ano”:2022,”Ocorrências”:92868},{“UF”:”Tocantins”,”Ano”:2015,”Ocorrências”:1595},{“UF”:”Tocantins”,”Ano”:2016,”Ocorrências”:1499},{“UF”:”Tocantins”,”Ano”:2017,”Ocorrências”:1539},{“UF”:”Tocantins”,”Ano”:2018,”Ocorrências”:2092},{“UF”:”Tocantins”,”Ano”:2019,”Ocorrências”:1569},{“UF”:”Tocantins”,”Ano”:2020,”Ocorrências”:1487},{“UF”:”Tocantins”,”Ano”:2021,”Ocorrências”:1242},{“UF”:”Tocantins”,”Ano”:2022,”Ocorrências”:1371}]
// group the data: I want to draw one line per group
const sumstatGdLM2 = d3.group(dataGdLM2, d => d.UF); // nest function allows to group the calculation per level of a factor

// Add X axis –> it is a date format
const xGdLM2 = d3.scaleLinear()
.domain(d3.extent(dataGdLM2, function(d) { return d.Ano; }))
.range([ 0, widthGdLM2 ]);

// Add Y axis
const yGdLM2 = d3.scaleLinear()
.domain([0, d3.max(dataGdLM2, function(d) { return +d.Ocorrências; })])
.range([ heightGdLM2, 0 ]);
svgGdLM2.append(“g”)
.attr(‘class’, ‘eje-y’)
.call(d3.axisLeft(yGdLM2)
.tickSizeInner(-widthGdLM2));

// color palette
const colorGdLM2 = d3.scaleOrdinal()
.range([‘#B3B3B3′,’#B3B3B3′,’#B3B3B3′,’#B3B3B3′,’#B3B3B3′,’#B3B3B3′,’#B3B3B3′,’#B3B3B3′,’#B3B3B3′,’#B3B3B3’,
‘#B3B3B3′,’#B3B3B3′,’#B3B3B3′,’#B3B3B3′,’#B3B3B3′,’#B3B3B3′,’#B3B3B3′,’#B3B3B3′,’#B3B3B3′,’#B3B3B3’,
‘#63AFED’,’#B3B3B3′,’#B3B3B3′,’#B3B3B3′,’#B3B3B3′,’#FF5F5D’])

// Draw the line
svgGdLM2.selectAll(“.line”)
.data(sumstatGdLM2)
.join(“path”)
.attr(“fill”, “none”)
.attr(“stroke”, function(d){ return colorGdLM2(d[0]) })
.attr(“stroke-width”, 3)
.attr(“d”, function(d){
return d3.line()
.x(function(d) { return xGdLM2(d.Ano); })
.y(function(d) { return yGdLM2(+d.Ocorrências); })
(d[1])
})

svgGdLM2.append(“g”)
.attr(‘class’, ‘eje-x’)
.attr(“transform”, `translate(0, ${heightGdLM2})`)
.call(d3.axisBottom(xGdLM2).ticks(5, ”)
//.tickFormat(d3.timeFormat(‘%Y’))
.tickSizeOuter(0));

svgGdLM2.append(“text”)
.attr(‘class’, ‘logo-ic’)
.attr(“x”, widthGdLM2)
.attr(“y”, yGdLM2(205000))
.attr(“text-anchor”, “end”)
.text(‘insightcrime.org’)

svgGdLM2.append(“text”)
.attr(‘class’, ‘etiquetas’)
.attr(“x”, 0)
.attr(“y”, yGdLM2(106000))
.attr(“text-anchor”, “start”)
.style(“fill”, “#FF5F5D”)
.text(‘São Paulo’)

svgGdLM2.append(“text”)
.attr(‘class’, ‘etiquetas’)
.attr(“x”, 0)
.attr(“y”, yGdLM2(20500))
.attr(“text-anchor”, “start”)
.style(“fill”, ‘#63AFED’)
.text(‘Rio de Janeiro’)

svgGdLM2.append(“text”)
.attr(‘class’, ‘etiquetas’)
.attr(“x”, 0)
.attr(“y”, yGdLM2(31000))
.attr(“text-anchor”, “start”)
.style(“fill”, ‘#b3b3b3’)
.text(‘Other states’)

Stolen cars in Brazil mostly contribute to the broader industry of contraband vehicle parts. Thieves tend to avoid luxury vehicles, for which there is limited black market demand. Instead, they focus on popular but inexpensive models whose parts will be in high demand. Small groups of thieves, or even individuals, bring them to chop shops where they’re bought and stripped for parts. Their new owners then undercut market prices with cheaper, contraband products. In São Paulo, these illegal chop shops – like most criminal economies – are controlled by Brazil’s most powerful criminal group, the First Capital Command (Primeiro Comando da Capital – PCC).

SEE ALSO: Brazil’s PCC Wades into Municipal Contracts Game

The PCC, a prison gang from São Paulo, expanded beyond prison walls to become an international criminal organization. The group now dominates several criminal industries in its home state, where it has pushed out all criminal competition. With chop shops dotted around São Paulo, there is little preventing would-be thieves from offloading stolen cars in stores likely run by the PCC.

“The vehicle already has a set destination, the car is going to be stripped and the parts are going to be sent to these illegal chop shops,” Aline de Lima e Lins Rocha, a São Paulo police delegate, told InSight Crime.

Why Car Theft Stalled

The spike in car theft comes after a period of decline that followed the passing of Brazil’s chop shop law in 2014. The law prohibits the dismantling of vehicles and reselling of their parts, unless it is done in an authorized shop registered with the state. The legislation also requires vehicle parts to be registered and allows authorities to inspect a shop without prior notice. 

São Paulo’s state government went a step further in 2015, announcing that all car parts must have a QR code tracing their history. Anyone with a smartphone could see where the part came from, and shops had to update the system with every part they sold. “All these regulations from the chop shop law deter and end up reducing – in particular – car robberies,” PCC expert Janaina Maldonado told InSight Crime. 

She added that robberies – cars stolen using force –- are generally reported to the police faster than non-violent vehicle thefts, so the parts show up in the system as stolen. With chop shops registered and monitored by the government, many owners did not want to risk getting caught with stolen parts. This left robbers with fewer locations to flog stolen cars. As a result, vehicle robberies became a less appealing criminal economy, Maldonado told InSight Crime.

Vehicle thefts plummeted from 110,690 in 2015 to just 65,724 in 2020, according to SINESP’s data. São Paulo recorded an even sharper drop in car robberies during the same period, decreasing from 78,659 in 2015 to only 31,893 in 2020.

Vehicle robberies and thefts crashed after Brazil passed its chop shop law, but thefts are rising again

Number of vehicle thefts and robberies in São Paulo state, Brazil (2015-2023)

June 2024 | Sources: SINESP and São Paulo’s Secretariat of Public Security
const marginGdLM3 = {top: 15, right: 30, bottom: 30, left: 55},
widthGdLM3 = 640 – marginGdLM3.left – marginGdLM3.right,
heightGdLM3 = 400 – marginGdLM3.top – marginGdLM3.bottom;

const svgGdLM3 = d3.select(“#gráfico-de-líneas-múltiples3”)
.append(“svg”)
.attr(“viewBox”, `0 0 640 400`)
.append(“g”)
.attr(“transform”,`translate(${marginGdLM3.left},${marginGdLM3.top})`);

const dataGdLM3 = [{“year”:2015,”crime”:”furto”,”value”:110690},{“year”:2015,”crime”:”roubo”,”value”:78659},{“year”:2016,”crime”:”furto”,”value”:110932},{“year”:2016,”crime”:”roubo”,”value”:77949},{“year”:2017,”crime”:”furto”,”value”:104829},{“year”:2017,”crime”:”roubo”,”value”:67964},{“year”:2018,”crime”:”furto”,”value”:97653},{“year”:2018,”crime”:”roubo”,”value”:58355},{“year”:2019,”crime”:”furto”,”value”:84099},{“year”:2019,”crime”:”roubo”,”value”:46513},{“year”:2020,”crime”:”furto”,”value”:65724},{“year”:2020,”crime”:”roubo”,”value”:31893},{“year”:2021,”crime”:”furto”,”value”:79670},{“year”:2021,”crime”:”roubo”,”value”:33041},{“year”:2022,”crime”:”furto”,”value”:92868},{“year”:2022,”crime”:”roubo”,”value”:40727},{“year”:2023,”crime”:”furto”,”value”:94258},{“year”:2023,”crime”:”roubo”,”value”:37471}]
// group the data: I want to draw one line per group
const sumstatGdLM3 = d3.group(dataGdLM3, d => d.crime); // nest function allows to group the calculation per level of a factor

// Add X axis –> it is a date format
const xGdLM3 = d3.scaleLinear()
.domain(d3.extent(dataGdLM3, function(d) { return d.year; }))
.range([ 0, widthGdLM3 ]);

// Add Y axis
const yGdLM3 = d3.scaleLinear()
.domain([0, d3.max(dataGdLM3, function(d) { return +d.value; })])
.range([ heightGdLM3, 0 ]);
svgGdLM3.append(“g”)
.attr(‘class’, ‘eje-y’)
.call(d3.axisLeft(yGdLM3)
.tickSizeInner(-widthGdLM3));

// color palette
const colorGdLM3 = d3.scaleOrdinal()
.range([‘#FF5F5D’, ‘#002b84’])

// Draw the line
svgGdLM3.selectAll(“.line”)
.data(sumstatGdLM3)
.join(“path”)
.attr(“fill”, “none”)
.attr(“stroke”, function(d){ return colorGdLM3(d[0]) })
.attr(“stroke-width”, 3)
.attr(“d”, function(d){
return d3.line()
.x(function(d) { return xGdLM3(d.year); })
.y(function(d) { return yGdLM3(+d.value); })
(d[1])
})

svgGdLM3.append(“g”)
.attr(‘class’, ‘eje-x’)
.attr(“transform”, `translate(0, ${heightGdLM3})`)
.call(d3.axisBottom(xGdLM3).ticks(5, ”)
//.tickFormat(d3.timeFormat(‘%Y’))
.tickSizeOuter(0));

svgGdLM3.append(“text”)
.attr(‘class’, ‘logo-ic’)
.attr(“x”, widthGdLM3)
.attr(“y”, yGdLM3(2000))
.attr(“text-anchor”, “end”)
.text(‘insightcrime.org’)

svgGdLM3.append(“text”)
.attr(‘class’, ‘etiquetas’)
.attr(“x”, 0)
.attr(“y”, yGdLM3(112000))
.attr(“text-anchor”, “start”)
.style(“fill”, “#FF5F5D”)
.text(‘Yearly vehicle thefts’)

svgGdLM3.append(“text”)
.attr(‘class’, ‘etiquetas’)
.attr(“x”, 0)
.attr(“y”, yGdLM3(80000))
.attr(“text-anchor”, “start”)
.style(“fill”, ‘#002b84’)
.text(‘Yearly vehicle robberies’)

Around the same time the chop shop law was passed, Brazil started importing lots of cheap, legal car parts from China. With the government cracking down on contraband, and legal auto parts becoming cheaper and increasingly available, illegal chop shops began to make less sense. The PCC, which ran most of these illegal shops in São Paulo, was focused on other illicit economies that it monopolized in the state, such as the drug trade, according to a 2023 study co-authored by Maldonado.

With illegal chop shops shutting down and legal businesses losing interest in stolen parts, stealing vehicles became less profitable. “As soon as we started tackling the chop shops, thefts automatically fell,” Rocha told InSight Crime.

How the Pandemic Kick-Started the Market

Then came the COVID-19 pandemic. Brazil was first hit in February 2020, when car thefts had bottomed out. Supply chains halted, and imports of cars and parts dropped. New cars became scarce, so the demand for used vehicles shot up – as did prices. With rising demand, the sale of contraband car parts reemerged as a lucrative economy.

Vehicle thefts began to rise soon after COVID-19 hit Brazil

Number of vehicle thefts in São Paulo state, Brazil (Jan 2015-March 2024)

June 2024 | Sources: SINESP and São Paulo’s Secretariat of Public Security
const marginGdL = {top: 10, right: 30, bottom: 30, left: 45},
widthGdL = 640 – marginGdL.left – marginGdL.right,
heightGdL = 450 – marginGdL.top – marginGdL.bottom;

const svgGdL = d3.select(“#gráfico-de-líneas”)
.append(“svg”)
.attr(“viewBox”, `0 0 640 450`)
.append(“g”)
.attr(“transform”,`translate(${marginGdL.left},${marginGdL.top})`);

// function(data) {
var dataGdL = [{“date”:”2024-03-01″,”value”:7600},{“date”:”2024-02-01″,”value”:7199},{“date”:”2024-01-01″,”value”:7665},{“date”:”2023-12-01″,”value”:7523},{“date”:”2023-11-01″,”value”:8094},{“date”:”2023-10-01″,”value”:8177},{“date”:”2023-09-01″,”value”:7494},{“date”:”2023-08-01″,”value”:7901},{“date”:”2023-07-01″,”value”:7882},{“date”:”2023-06-01″,”value”:7774},{“date”:”2023-05-01″,”value”:8353},{“date”:”2023-04-01″,”value”:7522},{“date”:”2023-03-01″,”value”:8848},{“date”:”2023-02-01″,”value”:6974},{“date”:”2023-01-01″,”value”:7716},{“date”:”2022-12-01″,”value”:7811},{“date”:”2022-11-01″,”value”:8806},{“date”:”2022-10-01″,”value”:8689},{“date”:”2022-09-01″,”value”:8525},{“date”:”2022-08-01″,”value”:7545},{“date”:”2022-07-01″,”value”:7193},{“date”:”2022-06-01″,”value”:7677},{“date”:”2022-05-01″,”value”:7580},{“date”:”2022-04-01″,”value”:6831},{“date”:”2022-03-01″,”value”:8296},{“date”:”2022-02-01″,”value”:6870},{“date”:”2022-01-01″,”value”:7045},{“date”:”2021-12-01″,”value”:6692},{“date”:”2021-11-01″,”value”:7396},{“date”:”2021-10-01″,”value”:7631},{“date”:”2021-09-01″,”value”:6984},{“date”:”2021-08-01″,”value”:7078},{“date”:”2021-07-01″,”value”:6827},{“date”:”2021-06-01″,”value”:6328},{“date”:”2021-05-01″,”value”:6470},{“date”:”2021-04-01″,”value”:5982},{“date”:”2021-03-01″,”value”:6301},{“date”:”2021-02-01″,”value”:6232},{“date”:”2021-01-01″,”value”:5749},{“date”:”2020-12-01″,”value”:5373},{“date”:”2020-11-01″,”value”:5914},{“date”:”2020-10-01″,”value”:5442},{“date”:”2020-09-01″,”value”:5180},{“date”:”2020-08-01″,”value”:5097},{“date”:”2020-07-01″,”value”:5617},{“date”:”2020-06-01″,”value”:4801},{“date”:”2020-05-01″,”value”:4525},{“date”:”2020-04-01″,”value”:3946},{“date”:”2020-03-01″,”value”:5792},{“date”:”2020-02-01″,”value”:6610},{“date”:”2020-01-01″,”value”:7427},{“date”:”2019-12-01″,”value”:6458},{“date”:”2019-11-01″,”value”:7642},{“date”:”2019-10-01″,”value”:8083},{“date”:”2019-09-01″,”value”:7345},{“date”:”2019-08-01″,”value”:1361},{“date”:”2019-07-01″,”value”:7868},{“date”:”2019-06-01″,”value”:7333},{“date”:”2019-05-01″,”value”:8052},{“date”:”2019-04-01″,”value”:7782},{“date”:”2019-03-01″,”value”:7669},{“date”:”2019-02-01″,”value”:7232},{“date”:”2019-01-01″,”value”:7274},{“date”:”2018-12-01″,”value”:6761},{“date”:”2018-11-01″,”value”:8338},{“date”:”2018-10-01″,”value”:8558},{“date”:”2018-09-01″,”value”:7894},{“date”:”2018-08-01″,”value”:8275},{“date”:”2018-07-01″,”value”:8168},{“date”:”2018-06-01″,”value”:7965},{“date”:”2018-05-01″,”value”:8140},{“date”:”2018-04-01″,”value”:8436},{“date”:”2018-03-01″,”value”:8787},{“date”:”2018-02-01″,”value”:8057},{“date”:”2018-01-01″,”value”:8274},{“date”:”2017-12-01″,”value”:7510},{“date”:”2017-11-01″,”value”:9099},{“date”:”2017-10-01″,”value”:9069},{“date”:”2017-09-01″,”value”:8662},{“date”:”2017-08-01″,”value”:9033},{“date”:”2017-07-01″,”value”:8468},{“date”:”2017-06-01″,”value”:8227},{“date”:”2017-05-01″,”value”:9411},{“date”:”2017-04-01″,”value”:8741},{“date”:”2017-03-01″,”value”:9872},{“date”:”2017-02-01″,”value”:8272},{“date”:”2017-01-01″,”value”:8465},{“date”:”2016-12-01″,”value”:7911},{“date”:”2016-11-01″,”value”:9101},{“date”:”2016-10-01″,”value”:9083},{“date”:”2016-09-01″,”value”:9448},{“date”:”2016-08-01″,”value”:9572},{“date”:”2016-07-01″,”value”:9448},{“date”:”2016-06-01″,”value”:9750},{“date”:”2016-05-01″,”value”:9518},{“date”:”2016-04-01″,”value”:9292},{“date”:”2016-03-01″,”value”:9787},{“date”:”2016-02-01″,”value”:9067},{“date”:”2016-01-01″,”value”:8955},{“date”:”2015-12-01″,”value”:8043},{“date”:”2015-11-01″,”value”:9576},{“date”:”2015-10-01″,”value”:9394},{“date”:”2015-09-01″,”value”:9021},{“date”:”2015-08-01″,”value”:9152},{“date”:”2015-07-01″,”value”:9313},{“date”:”2015-06-01″,”value”:8598},{“date”:”2015-05-01″,”value”:9149},{“date”:”2015-04-01″,”value”:9397},{“date”:”2015-03-01″,”value”:10518},{“date”:”2015-02-01″,”value”:8966},{“date”:”2015-01-01″,”value”:9563}]

// Add X axis –> it is a date format
const xGdL = d3.scaleTime()
.domain(d3.extent(dataGdL, function(d) { return d3.timeParse(“%Y-%m-%d”)(d.date); }))
.range([ 0, widthGdL ]);
svgGdL.append(“g”)
.attr(“class”, “eje-x”)
.attr(“transform”, `translate(0, ${heightGdL})`)
.call(d3.axisBottom(xGdL)
.tickSizeOuter(0));

// Add Y axis
const yGdL = d3.scaleLinear()
.domain([0, d3.max(dataGdL, function(d) { return +d.value; })])
.range([ heightGdL, 0 ]);
svgGdL.append(“g”)
.attr(“class”, “eje-y”)
.call(d3.axisLeft(yGdL)
.tickSizeInner(-widthGdL));

// Add the line
svgGdL.append(“path”)
.datum(dataGdL)
.attr(“fill”, “none”)
.attr(“stroke”, “#FF5F5D”)
.attr(“stroke-width”, 3)
.attr(“d”, d3.line()
.x(function(d) { return xGdL(d3.timeParse(“%Y-%m-%d”)(d.date)) })
.y(function(d) { return yGdL(d.value) })
)

// añadir el logo de IC
svgGdL.append(“text”)
.attr(‘class’, ‘logo-ic’)
.attr(“x”, xGdL(d3.timeParse(“%Y-%m-%d”)(“2015-04-01”)))
.attr(“y”, yGdL(400))
.attr(“text-anchor”, “start”)
.text(‘insightcrime.org’)

svgGdL.append(‘line’)
.attr(‘x1’, xGdL(d3.timeParse(“%Y-%m-%d”)(“2020-02-26”)))
.attr(‘y1’, 0)
.attr(‘x2’, xGdL(d3.timeParse(“%Y-%m-%d”)(“2020-02-26”)))
.attr(‘y2’, heightGdL)
.attr(‘stroke’, ‘#3B3B3B’)
.style(“stroke-dasharray”, (“3, 3”))

svgGdL.append(“text”)
.attr(‘class’, ‘annotation-group’)
.attr(“x”, xGdL(d3.timeParse(“%Y-%m-%d”)(“2020-05-02”)))
.attr(“y”, yGdL(2500))
.attr(“text-anchor”, “start”)
.text(“Brazil’s first case of COVID-19”)

“There was a boom in the used car market. And as soon as there’s a boom in the used car market, there’s also a boom in the used car parts market,” said Rocha. “Theft has increased because the car dealers want more parts.”

SEE ALSO: Firearms, Disappearances, Prison Overcrowding: Brazil’s Problems Are Getting Worse

The PCC likely spurred the 2020 rise in São Paulo, given its hegemony in the area plus its history with chop shops. An international cocaine trafficking juggernaut, the PCC also controls much of the local drug trade in the city of São Paulo. The PCC may now be leveraging that control to lure drug abusers into stealing cars on the group’s behalf.

“People who had never committed theft or robbery started stealing and robbing vehicles to take them to the chop shop because they knew they would get money to buy drugs,” Rocha told InSight Crime. “These are people…who weren’t criminals, but became addicted to drugs and ended up committing theft and robbery in order to get money.”

Car thefts have risen much faster than robberies, suggesting that elements of the chop shop law that previously deterred criminal groups from forcibly stealing cars may still be working. And in the first few months of 2024, thefts seemed to have leveled off. 

“So far, the most relevant [factors influencing rates of vehicle thefts and robberies] are the chop shop law and shifts within the PCC,” Maldonado said.

The post DataInSights: Chop Shops Make a Comeback in São Paulo appeared first on InSight Crime.