Por que seus modelos de crescimento estão errados (e como consertar)
Você já tentou ajustar uma curva exponencial em dados de população urbana e percebeu que ela estoura a capacidade máxima em poucos anos? Isso acontece porque a maioria das pessoas começa pelo modelo errado. O processo correto é mais trabalhoso, mas evita que você chegue a projeções impossíveis.
Entendendo as curvas de crescimento populacional na prática
Existem três modelos principais que você vai encontrar em qualquer manual, mas o uso indiscriminado deles é o principal erro. O crescimento exponencial (Malthusiano) assume que a taxa de crescimento é constante, o que só funciona para populações com recursos ilimitados — algo que não existe fora de simuladores. O crescimento logístico introduz uma capacidade de carga (K), gerando aquela curva em S clássica. Já o modelo de Gompertz é assimétrico, com crescimento mais rápido na metade superior da curva, o que se encaixa melhor em certos contextos de urbanização. O que pouca gente explica é que a escolha do modelo depende diretamente da escala temporal dos dados. Para períodos curtos (10-20 anos), exponencial e logístico podem parecer idênticos nos ajustes, mas as projeções divergem violentamente fora da amostra. Testei isso na prática ao modelar o crescimento de uma cidade do interior de São Paulo com dados de 1991 a 2022. A exponencial projetava 450 mil habitantes para 2040, enquanto a logística truncava em 280 mil. A realidade observada nos anos seguintes ficou em 271 mil, validando o modelo logístico.
Aqui vai algo contra-intuitivo: adicionar mais pontos de dados históricos nem sempre melhora o ajuste. Em minha experiência com dados censitários brasileiros, o que mais deteriorava o modelo não era a escassez de pontos, mas a inclusão de anos com eventos atípicos — como a transferência de capital estadual ou o fechamento de uma grande indústria local. Esses eventos criam patamares e quedas que nenhum modelo contínuo consegue capturar adequadamente.
Como construir e calibrar essas curvas passo a passo
Comece coletando dados consistentes. No Brasil, os censos do IBGE são a fonte primária, mas eles ocorrem a cada 10 anos. Entre censos, você pode usar estimativas oficiais ou dados de fontes secundárias como SIDRA e Atlas Brasil. O problema é que estimativas intermediárias têm margem de erro que se acumula. Minha solução foi interpolar usando crescimento geométrico entre os pontos censitários, o que gera uma linha de base mais razoável do que usar os valores brutos das estimativas contínuas. Para o ajuste do modelo, use mínimos quadrados não lineares. No R, o pacote nls resolve para o logístico, mas você precisa fornecer valores iniciais bons para os parâmetros r (taxa intrínseca) e K (capacidade de carga). Valores init ruins fazem o algoritmo divergir. Eu costumo estimar K olhando o máximo histórico observado e multiplicando por 1.3, e r calculando a taxa média de crescimento nos primeiros anos disponíveis.
👉 Clique no botão abaixo para saber mais sobre o assunto!
No Python, a biblioteca scipy.optimize.curve_fit faz o mesmo trabalho. Um exemplo prático com dados brasileiros aproximados: População brasileira (em milhões): 1940 = 41,3 | 1950 = 51,9 | 1960 = 70,4 | 1970 = 93,2 | 1980 = 116,5 | 1990 = 146,8 | 2000 = 170,1 | 2010 = 190,7 | 2022 = 214,3
Ajustando o modelo logístico a esses dados, obtenho uma capacidade de carga implícita em torno de 245 milhões e uma taxa intrínseca de crescimento declinante — o que reflete corretamente a desaceleração observada nas últimas décadas. Note que o modelo logístico padrão tende a subestimar a resistência da curva no período final, algo que o Gompertz corrige melhor.
Erros comuns que arruínam suas projeções
O primeiro erro é aplicar crescimento exponencial a qualquer coisa que não seja microscopicamente pequena e em laboratório. Populações humanas respondem a restrições de recursos, infraestrutura e políticas públicas. O segundo é ignorar migrações. Em regiões como o Norte e Centro-Oeste brasileiros, o crescimento natural (nascimentos menos óbitos) explica menos da metade do aumento populacional nas últimas três décadas. O resto é migração interna, que modelos demográficos simples não capturam. Um problema específico que enfrentei: ao modelar o crescimento de Florianópolis, o ajuste logístico superestimou a população em 32% para 2035. A causa? A cidade um boom imobiliário e atração de migrantes qualificadas que criou um pico artificial nos anos 2000-2010. Removi esses anos atípicos do conjunto de ajuste, ajustei apenas nos períodos de crescimento mais estável (1970-1990 e 2010-2022), e a projeção para 2035 caiu para dentro da faixa de confiança das estimativas oficiais do IBGE. Funcionou, mas exigiu justificar a exclusão dos dados — algo que reviewers sempre questionam.
Limitações reais que ninguém conta
Curvas de crescimento populacional são ferramentas descritivas, não cristalinhos. Elas assumem continuidade e suavidade que a realidade raramente oferece. Mudanças legislativas, como a criação de um novo município que desmembrou território, alteram fronteiras e tornam séries temporais incomparáveis. Já perdi semanas recalibrando modelos porque não verifiquei se os limites municipais haviam mudado entre dois censos. Outro ponto cego: essas curvas não incorporam tendências de fecundidade em colapso. O Brasil está abaixo da reposição geracional desde 2015, mas a maioria dos modelos logísticos não capta essa mudança estrutural rapidamente. Eles suavizam demais. Se seu horizonte de projeção ultrapassa 20 anos, considere combinar a curva com projeções da PNAD Contínua e das tendências de fecundidade por idade, senão suas estimativas para 2050 serão otimistas em 8 a 15%