17 de setembro de 2026
Clusterização de Municípios Brasileiros com Base em Indicadores Socioeconômicos Públicos
Everton da Silva Moraes; Rafael Henrique Roque
DOI: 10.22167/2675-6528-202602506
Artigo derivado de Trabalho de Conclusão de Curso (TCC), com conteúdo baseado no trabalho original do aluno e adaptado ao formato editorial da Revista E&S com apoio da ferramenta ResumeAI, solução de inteligência artificial desenvolvida pelo Instituto Pecege para síntese e organização textual.
Resumo
Um estudo aplicou o algoritmo k-means para agrupar os 5.570 municípios brasileiros com base em indicadores socioeconômicos públicos disponibilizados pelo Instituto Brasileiro de Geografia e Estatística (IBGE), visando apoiar análises comparativas e práticas de benchmarking na gestão pública municipal. Dados de 5.570 municípios, obtidos via Application Programming Interface (API) do IBGE, foram tratados e padronizados com o método z-score. Organizaram-se 24 variáveis em seis grupos de indicadores: dados gerais, população, educação, saúde, economia e infraestrutura. Para cada grupo, o algoritmo k-means foi executado com valores de k variando entre 100 e 500, com incremento de cinco unidades. A qualidade dos agrupamentos foi avaliada por meio da Razão das Variâncias (VRC), Índice de Silhueta, Índice Jaccard e Bayesian Information Criterion (BIC), sendo os resultados normalizados e combinados em um score ponderado para identificar o número ideal de clusters. Os resultados evidenciaram padrões distintos de agrupamento entre os grupos de indicadores, com o grupo economia mostrando maior capacidade de distinção e o grupo população, menor. A clusterização final identificou similaridades gerais entre municípios, com o melhor k determinado em 100. Concluiu-se que a técnica de clusterização foi viável para identificar perfis municipais semelhantes. A abordagem proposta demonstrou potencial como ferramenta analítica para apoiar a comparação entre municípios e subsidiar processos de planejamento e tomada de decisão na gestão pública.
Palavras-chave: Clusters; IBGE; Indicadores socioeconômicos; K-means; Métricas de validação.
1. Introdução
O Brasil é caracterizado por uma vasta diversidade territorial, racial, climática e socioeconômica, conforme amplamente reconhecido por estudos oficiais e acadêmicos (Carmo, 2025). Embora essa multiplicidade confira vantagens em diferentes dimensões, como a diversidade de atividades econômicas e um amplo mercado consumidor, ela também resultou em um desenvolvimento socioeconômico heterogêneo e desigual entre as regiões, estados e os 5.570 municípios brasileiros (IBGE, 2022).
Nesse cenário, um desafio central para a gestão pública municipal reside na identificação de municípios com perfis socioeconômicos similares, que possam servir como referência para a adoção de boas práticas. Essa abordagem alinha-se ao conceito de benchmarking, que envolve a comparação sistemática entre unidades organizacionais ou territoriais com o objetivo de identificar oportunidades de melhoria a partir de experiências bem-sucedidas em contextos análogos (Albertin et al., 2021). A relevância do benchmarking na gestão pública é inegável, desde que se considerem as especificidades e as condições locais de cada unidade territorial.
A obtenção de dados e informações para o benchmarking pode vir de fontes diversas, incluindo dados públicos (Albertin et al., 2021). No Brasil, o Instituto Brasileiro de Geografia e Estatística (IBGE) é uma fonte primária, com o Censo Demográfico (IBGE, 2025) fornecendo indicadores socioeconômicos detalhados sobre a população residente. Contudo, a simples disponibilidade desses dados não resolve a questão de como comparar municípios com realidades socioeconômicas muito distintas de forma estruturada e baseada em dados.
Para superar essa lacuna metodológica, a técnica de clusterização, ou agrupamento, surge como uma ferramenta analítica promissora. Trata-se de um método de aprendizado de máquina não supervisionado que visa identificar padrões de similaridade entre objetos, agrupando-os com base em suas características (Sousa, 2019). Conceitualmente, elementos mais semelhantes tendem a apresentar menores distâncias entre si em um espaço multidimensional de dados, enquanto elementos menos similares se afastam, formando grupos distintos.
Entre as técnicas de clusterização, o algoritmo k-means destaca-se por sua simplicidade computacional, eficiência no processamento de grandes bases de dados e ampla aplicabilidade em estudos socioeconômicos e de gestão pública (Jake, 2025). Ele opera particionando os dados em um número pré-determinado de agrupamentos, definindo centroides que representam o centro de cada cluster com base na média aritmética das observações atribuídas a ele, ajustando-os iterativamente até que o algoritmo atinja estabilidade.
A aplicação da clusterização permite organizar os municípios em grupos homogêneos, viabilizando comparações mais adequadas e fomentando a aplicação do benchmarking, o que se justifica pela necessidade de uma ferramenta analítica para apoiar a comparação entre municípios e subsidiar processos de planejamento e tomada de decisão na gestão pública. Diante desse contexto, o objetivo geral da presente pesquisa foi aplicar o algoritmo k-means para agrupar municípios brasileiros com base em indicadores públicos, a fim de identificar perfis socioeconômicos semelhantes que possam subsidiar práticas de benchmarking em gestão pública.
2. Material e Métodos
A presente pesquisa adotou uma abordagem metodológica quantitativa, de natureza exploratória, focada na aplicação de técnicas de aprendizado de máquina não supervisionado. O estudo foi organizado em etapas sequenciais: levantamento bibliográfico, extração e modelagem de dados, desenvolvimento da clusterização, avaliação das configurações de agrupamento e, por fim, a clusterização final. O objetivo central foi agrupar os 5.570 municípios brasileiros com base em indicadores socioeconômicos públicos.
Os dados foram coletados por meio de requisições de Application Programming Interface (API) do Instituto Brasileiro de Geografia e Estatística (IBGE), utilizando informações oficiais. A coleta concentrou-se em indicadores socioeconômicos referentes ao ano de 2022. Para a extração e tratamento dos dados, empregou-se a linguagem de programação Python, com bibliotecas como `pandas` e `requests`.
A etapa de extração envolveu a obtenção de agregados e metadados do IBGE para o período de 2022, com foco nos registros de nível de localidade N6. Para a validação da metodologia, o município de Mogi das Cruzes (Id Localidade 3530607) foi selecionado, considerando sua relevância e dados disponíveis. Inicialmente, 38 indicadores representativos foram selecionados, provenientes do Censo Demográfico, Cadastro Central de Empresas e Pesquisa Estatísticas do Registro Civil.
Na modelagem dos dados, as informações, originalmente em formato JSON, foram convertidas para um modelo relacional (Banhara et al., 2023; Cardoso et al., 2012). Dentre os indicadores selecionados, 24 variáveis principais foram definidas para a clusterização, sendo organizadas em seis grupos temáticos: Dados Gerais, População, Educação, Saúde, Economia e Infraestrutura. Verificou-se a presença de valores ausentes e a existência de diferentes escalas entre as variáveis.
O processo de padronização iniciou-se com o preenchimento dos valores ausentes, utilizando a mediana de cada variável para mitigar a influência de *outliers*. Posteriormente, as variáveis foram padronizadas por meio do método z-score, utilizando a função `StandardScaler` da biblioteca `scikit-learn` em Python, resultando em dados com média zero e desvio padrão um (Hair Jr et al., 2009; Silva, 2024).
Para evitar redundâncias, realizou-se uma análise de correlação de Pearson entre as variáveis padronizadas (Figueiredo Filho e Silva Jr, 2009). Pares de variáveis com correlação absoluta superior a 0,99 foram identificados, e uma das variáveis de cada par foi desconsiderada para a etapa de clusterização.
A clusterização foi desenvolvida utilizando o algoritmo k-means, uma técnica de aprendizado de máquina não supervisionado implementada com a função `kmeans` da biblioteca `scikit-learn` (Sousa, 2019; Jake, 2025). Para cada um dos seis grupos de indicadores, o algoritmo foi executado com um número de clusters (k) variando de 100 a 500, com incrementos de cinco unidades. Este procedimento visou gerar agrupamentos factíveis para análises comparativas.
O refinamento da clusterização incluiu a avaliação da qualidade dos agrupamentos por meio de quatro métricas de validação: Razão das Variâncias (VRC), Bayesian Information Criterion (BIC), Índice de Silhueta e Índice Jaccard (Fontana e Naldi, 2009; Naldi, 2011). Essas métricas foram calculadas utilizando as bibliotecas `numpy` e `scikit-learn`, e o BIC foi determinado por um Modelo de Mistura Gaussianada (GMM).
As métricas foram padronizadas por normalização min-max, invertendo-se o BIC por ser métrica de minimização. Para determinar o k ideal, atribuíram-se pesos distintos às métricas normalizadas, com base em prioridades como afinidade interna, dispersão e estabilidade. Calculou-se um score ponderado para cada k, e o maior score indicou o k mais adequado, utilizando `pandas` e `scikit-learn`.
Finalmente, uma clusterização “final” dos municípios brasileiros foi executada, seguindo os mesmos parâmetros de variação de k (100 a 500, com incrementos de cinco unidades), utilizando os clusters mais adequados por grupo de indicador, buscando identificar padrões gerais de similaridade.
3. Resultados e Discussão
A presente seção detalha os resultados obtidos na aplicação do algoritmo k-means para agrupar os municípios brasileiros, com base nos indicadores socioeconômicos públicos, e discute o significado desses achados. A pesquisa iniciou-se com a extração de dados por meio de requisições de Application Programming Interface (API) do Instituto Brasileiro de Geografia e Estatística (IBGE), utilizando a linguagem de programação Python. Foram extraídas 38 combinações finais de variáveis e classificações, que foram subsequentemente tratadas e modeladas. Dessas, 14 variáveis foram consideradas auxiliares, enquanto 24 foram definidas como principais, organizadas em grupos de indicadores: dados gerais, população, educação, saúde, economia e infraestrutura.
Durante a etapa de tratamento dos dados, verificou-se a existência de valores ausentes para algumas variáveis em parte dos 5.570 municípios analisados. Além disso, constatou-se que as variáveis apresentavam escalas e amplitudes distintas, o que poderia distorcer os resultados da clusterização. Para mitigar essas questões, implementou-se um processo de padronização. Primeiramente, os valores ausentes foram preenchidos com a mediana da respectiva variável, uma escolha justificada pela menor sensibilidade da mediana a valores extremos e outliers, comuns em indicadores socioeconômicos municipais, garantindo uma representação mais robusta e menos distorcida dos dados.
Após o preenchimento das lacunas, as variáveis foram padronizadas utilizando o método z-score, que transformou todos os dados para uma média igual a zero e desvio padrão igual a um. Essa etapa foi crucial para assegurar que o algoritmo k-means não atribuísse pesos desproporcionais a variáveis com diferentes escalas, como área territorial em quilômetros quadrados e percentuais. Em seguida, realizou-se uma análise de correlação de Pearson para identificar pares de variáveis com correlações elevadas, ou seja, acima de 0,99 ou abaixo de -0,99. Essa análise visou mitigar a redundância de informações e evitar a distorção do desempenho do algoritmo de clusterização.
A partir dessa análise de correlação, identificou-se que algumas variáveis apresentavam alta redundância. Consequentemente, foram desconsideradas as variáveis VAR_05_PADR, VAR_09_PADR e VAR_19_PADR, que correspondiam, respectivamente, ao percentual de mulheres na população, ao percentual de população rural e ao salário médio mensal em reais dos trabalhadores formais. Essa remoção foi feita para otimizar o conjunto de dados e garantir que cada variável contribuísse de forma mais independente para a formação dos clusters, melhorando a qualidade dos agrupamentos subsequentes.
Com o conjunto de dados preparado e padronizado, procedeu-se à clusterização dos municípios por grupo de indicadores. O algoritmo k-means foi executado para cada um dos seis grupos de indicadores, com o número de clusters (k) variando de 100 a 500, com incrementos de cinco unidades. Essa abordagem permitiu explorar diferentes granularidades de agrupamento, buscando identificar a configuração mais adequada para cada conjunto de variáveis. A qualidade dos agrupamentos foi avaliada por meio de quatro métricas de validação: Razão das Variâncias (VRC), Bayesian Information Criterion (BIC), Índice de Silhueta e Índice Jaccard.
Os resultados da clusterização para o grupo de indicadores “Dados Gerais” demonstraram uma capacidade de diferenciar municípios em níveis mais agregados. No entanto, essa capacidade diminuiu à medida que o número de clusters (k) aumentou, indicando que a distinção se tornava menos evidente em agrupamentos mais detalhados. Os valores iniciais do critério de silhueta foram elevados, mas reduziram-se com o incremento de k, enquanto a Razão das Variâncias (VRC) aumentou. O BIC, por sua vez, apresentou valores menos negativos, sugerindo um aumento da complexidade do modelo sem um ganho proporcional na qualidade, e o Índice Jaccard exibiu uma variação moderada entre 0,3136 e 0,9550, indicando estabilidade aceitável. O melhor k para este grupo foi determinado em 120.
O grupo de indicadores “População” revelou uma baixa capacidade de distinção entre os municípios. Os valores do critério de silhueta mantiveram-se baixos, variando entre 0,2037 e 0,2141, e a Razão das Variâncias (VRC) apresentou pouca variação ao longo dos diferentes valores de k. O Bayesian Information Criterion (BIC) mostrou uma tendência crescente, indicando que o aumento da complexidade do modelo não resultava em melhorias significativas na clusterização. O Índice Jaccard também se manteve em níveis moderados, confirmando que não houve ganhos expressivos de estabilidade com o incremento de k. Para este grupo, o melhor k foi identificado em 115.
Em contraste, o grupo de indicadores “Educação” demonstrou uma boa capacidade discriminatória. O critério de silhueta apresentou valores moderados, com uma leve tendência de crescimento à medida que k aumentava, sugerindo uma melhoria na separação entre os clusters. A Razão das Variâncias (VRC) também acompanhou esse comportamento de crescimento consistente, indicando um aumento na diferenciação entre os grupos. O Bayesian Information Criterion (BIC) mostrou uma melhora relativa, com valores menos negativos, o que aponta para um equilíbrio razoável entre ajuste e complexidade. O Índice Jaccard se manteve em níveis moderados, com alguns pontos elevados, indicando estabilidade consistente nos agrupamentos. O melhor k para este grupo foi 495.
O grupo de indicadores “Saúde” comprovou possuir capacidade de diferenciação, embora de forma limitada. O critério de silhueta apresentou valores intermediários, entre 0,2491 e 0,2747, indicando uma separação moderada dos clusters. A Razão das Variâncias (VRC) permaneceu relativamente estável, enquanto o Bayesian Information Criterion (BIC) mostrou uma tendência crescente, sugerindo um aumento da complexidade do modelo sem ganhos significativos de qualidade. O Índice Jaccard também apresentou valores moderados, confirmando uma estabilidade aceitável dos agrupamentos, mas sem grandes avanços na distinção. O melhor k para este grupo foi 465.
O grupo de indicadores “Economia” destacou-se por sua forte capacidade de distinção, sendo um dos grupos mais relevantes para a clusterização. O critério de silhueta apresentou valores mais elevados, indicando uma boa separação entre os clusters. A Razão das Variâncias (VRC) mostrou uma tendência crescente, e os valores do Bayesian Information Criterion (BIC) foram progressivamente melhores, ou seja, menos negativos, o que sugere um ótimo equilíbrio entre separação e ajuste do modelo. Além disso, o Índice Jaccard apresentou valores elevados em diversos pontos, indicando alta estabilidade dos clusters. O melhor k para este grupo foi 380.
Por fim, o grupo de indicadores “Infraestrutura” demonstrou um comportamento similar ao do grupo “Educação”. A diferenciação observada ocorreu mais por uma reorganização interna dos grupos do que por uma separação efetiva entre eles. O critério de silhueta foi moderado, a Razão das Variâncias (VRC) decrescente e o Bayesian Information Criterion (BIC) crescente com o incremento de k, confirmando que não houve melhora significativa na separação entre os clusters. O Índice Jaccard apresentou níveis moderados, comprovando estabilidade, porém sem ganhos estruturais relevantes. O melhor k para este grupo foi 480.
Após a análise individual dos grupos de indicadores, foi realizada uma clusterização final utilizando todas as variáveis principais, com o algoritmo k-means executado novamente para valores de k entre 100 e 500, com incremento de cinco unidades. Esta clusterização final conseguiu capturar padrões gerais de similaridade entre os municípios, mas com limitações para análises muito granulares. A interpretação dos clusters deve ser entendida como uma aproximação de similaridade, e não como segmentações rigidamente definidas, o que é corroborado pelos valores das métricas de validação.
Os critérios de silhueta para a clusterização final apresentaram valores baixos, variando de 0,1501 a 0,1589, o que indica uma separação moderada a baixa entre os clusters. A Razão das Variâncias (VRC) mostrou uma tendência decrescente com o incremento de k, evidenciando uma queda na capacidade de diferenciação entre os clusters. O Bayesian Information Criterion (BIC) apresentou tendência crescente, indicando que modelos mais complexos não resultaram em melhores ajustes. O Índice Jaccard, por sua vez, manteve-se em níveis moderados, sugerindo uma estabilidade consistente dos agrupamentos.
Com base no cálculo do score ponderado das métricas de validação, o melhor k para a clusterização final foi determinado em 100. Este valor de k indica o melhor equilíbrio entre a coesão interna dos clusters, a separação entre eles e a complexidade do modelo, evitando um agrupamento excessivo que poderia levar à fragmentação desnecessária dos dados. A Razão de Variâncias (VRC) de 430,369, embora não possua um valor ideal fixo, sugere uma boa diferenciação entre os grupos em comparação com outros valores de k.
O Bayesian Information Criterion (BIC) de 400.479 para k=100 indica um nível adequado de complexidade do modelo frente às demais configurações testadas, uma vez que valores menores de BIC são preferíveis. O Critério de Silhueta de 0,158933, que varia de -1 a 1, aponta para uma separação baixa, um valor abaixo de 0,2. Contudo, este valor é considerado aceitável dada a natureza contínua e a elevada complexidade dos dados socioeconômicos analisados. O Índice de Jaccard não foi aplicável para o primeiro k analisado, pois é utilizado para comparar a estabilidade dos clusters em diferentes execuções.
Em síntese, os resultados demonstram a viabilidade da aplicação do algoritmo k-means para agrupar os 5.570 municípios brasileiros com base em indicadores socioeconômicos públicos. A clusterização por grupos de indicadores revelou padrões distintos de capacidade de distinção, com o grupo Economia apresentando a maior e o grupo População a menor. A clusterização final, com um k ideal de 100, permitiu identificar perfis municipais semelhantes, fornecendo uma ferramenta analítica promissora para apoiar análises comparativas e práticas de benchmarking na gestão pública, apesar das limitações inerentes à natureza dos dados e à sensibilidade do algoritmo.
4. Conclusão
O estudo aplicou o algoritmo k-means para agrupar os 5.570 municípios brasileiros com base em indicadores socioeconômicos públicos, buscando identificar perfis semelhantes que pudessem subsidiar práticas de benchmarking em gestão pública. Verificou-se a viabilidade da técnica de clusterização para organizar os municípios, utilizando 24 variáveis distribuídas em seis grupos de indicadores. Os resultados evidenciaram padrões de agrupamento distintos entre os grupos, com o grupo Economia apresentando maior capacidade de distinção e o grupo População, menor. A clusterização final, com o melhor k determinado em 100, permitiu identificar similaridades gerais entre os municípios. Embora o critério de silhueta tenha indicado uma separação moderada a baixa entre os clusters, este valor foi considerado aceitável dada a complexidade dos dados socioeconômicos, e as métricas de Razão das Variâncias e Bayesian Information Criterion corroboraram um equilíbrio adequado entre coesão e complexidade do modelo.
A principal contribuição deste estudo reside na proposição de uma ferramenta analítica para apoiar análises comparativas e práticas de benchmarking na gestão pública municipal, subsidiando processos de planejamento e tomada de decisão. Contudo, o trabalho reconhece limitações inerentes ao uso de dados públicos, que podem estar sujeitos a diferenças de atualização e possíveis subnotificações. A sensibilidade do algoritmo k-means à escolha do número de clusters (k) e a utilização da distância euclidiana em dados socioeconômicos também representam aspectos que demandam consideração. Sugere-se, para estudos futuros, a aplicação da metodologia com dados atualizados e a exploração de outras métricas de distância ou algoritmos de clusterização para refinar a identificação de perfis municipais.
Referências Bibliográficas
Albertin, M.R.; Elias, S.J.B.; JR., Dmontier P. A. 2021. Benchmarking Para Um Desempenho Superior. Editora Alta Books, Rio de Janeiro, RJ, Brasil. Disponível em: https://app.minhabiblioteca.com.br/reader/books/9786555201635. Acesso em: 04 out. 2025.
Banhara, N.; Duarte, D.; Schreiner, G. 2023. Extração de Esquemas de Documentos JSON: O que há de Novo?. In: Anais da XVIII Escola Regional de Banco de Dados, 2023, Palmas, PR, Brasil. Anais… p. 11-20
Cardoso, G.C..; Cardoso, V.M. 2012. Sistemas de Banco de Dados, 1ª Edição. Saraiva, Rio de Janeiro, RJ, Brasil. Disponível em: https://app.minhabiblioteca.com.br/reader/books/9788502162839. Acesso em: 07 out. 2025.
Carmo, N. C.; Nunes, F G.; Santos, A. M. 2025. Território, Sociedade e Desigualdade: Uma Revisão de Literatura. Revista Verde Grande: Geografia E Interdisciplinaridade 6(01): 31-51.
Figueiredo Filho, D. B.; Silva Jr. J. A. 2009. Desvendando os Mistérios do Coeficiente de Correlação de Pearson (r), Revista Política Hoje 18(01): 115-146
Fontana, A.; Naldi, M.C. 2009. Estudo e Comparação de Métodos para Estimação de Números de Grupos em Problemas de Agrupamento de Dados. Disponível em: https://web.icmc.usp.br/SCATUSU/RT/Relatorios_Tecnicos/BIBLIOTECA_113_RT_340.pdf. Acesso em 12 out. 2025.
Hair Jr., Joseph F.; Black, William C.; Babin, Barry J.; et al. 2009. Análise multivariada de dados. 6. ed. Bookman, Porto Alegre, RS, Brasil. Disponível em: https://app.minhabiblioteca.com.br/reader/books/9788577805341. Acesso em: 08 out. 2025.
Instituto Brasileiro de Geografia e Estatística [IBGE]. 2023. Cidades e Estados do Brasil: Mogi das Cruzes (SP). Disponível em: https://cidades.ibge.gov.br/brasil/sp/mogi-das-cruzes/panorama. Acesso em: 02 out 2025
Instituto Brasileiro de Geografia e Estatística [IBGE]. 2025. Censo Demográfico 2022: Unidades de conservação: principais características das pessoas residentes e dos domicílios, por recortes territoriais e grupos populacionais específicos: resultados do universo. Disponível em: https://biblioteca.ibge.gov.br/visualizacao/livros/liv102192.pdf, Acesso em: 04 out 2025
Jake, V. 2025. Guia Do Python para Data Science – Tradução da Segunda Edição: ferramentas essenciais para trabalhar com dados. Alta Books, Rio de Janeiro, RJ, Brasil. Disponível em: https://app.minhabiblioteca.com.br/reader/books/9788550821795/. Acesso em: 12 out. 2025.
Naldi, C. M. 2011, Técnicas de combinação para agrupamento centralizado e distribuídos de dados. Tese de Doutorado em Ciências da Computação, Instituto de Ciências Matemáticas de Computação – ICMC-USP, São Carlos, SP, Brasil
Silva, E. N. 2024. Aplicação de aprendizado de máquina na identificação de reações de pragas a compostos semioquímicos. Trabalho de Conclusão de Curso de Bacharelado em Ciência da Computação. Universidade Federal de Alagoas, Maceió, AL, Brasil.
Sousa, M.C. C. 2019. Uma análise do algoritmo k-means como introdução ao aprendizado de máquinas. Trabalho de Conclusão de Curso do Curso de Matemática. Universidade Federal do Tocantis, Araguaína, TO, Brasil.
Artigo oriundo de Trabalho de Conclusão de Curso da Especialização em Data Science e Analytics do MBA USP/Esalq
Para saber mais sobre o curso, clique aqui e acesse a plataforma MBX Academy

