Pular para o conteúdo principal

Sistema de Renda Familiar e Identificação de Baixa Renda

Visão Geral​

O sistema possui funcionalidade completa para registro e análise de renda familiar dos candidatos, permitindo identificação automática de candidatos em situação de baixa renda e geração de relatórios específicos para políticas públicas de inclusão social.

Objetivos​

  • Identificar candidatos em situação de vulnerabilidade social
  • Priorizar candidatos de baixa renda em programas sociais
  • Gerar relatórios para órgãos públicos
  • Facilitar políticas de inclusão produtiva
  • Monitorar impacto de programas de empregabilidade

Cadastro de Renda Familiar​

Campos do Sistema​

interface FamilyIncome {
monthly_income: number;
family_members_count: number;
per_capita_income?: number;
is_low_income?: boolean;
}
CampoTipoObrigatórioDescrição
monthly_incomeDecimalSimRenda familiar mensal total (R$)
family_members_countIntegerSimNúmero de membros no grupo familiar
per_capita_incomeDecimalNão (calculado)Renda per capita (R$)
is_low_incomeBooleanNão (calculado)Indicador de baixa renda

Validações​

Renda Mensal:

  • Valor mínimo: R$ 0,00
  • Valor máximo: R$ 99.999.999,99
  • Aceita centavos (2 casas decimais)
  • Obrigatório quando preenchendo dados de renda

Membros da Família:

  • Valor mínimo: 1 (o próprio candidato)
  • Valor máximo: 99
  • Apenas números inteiros
  • Obrigatório quando preenchendo dados de renda

Cálculo Automático​

Renda Per Capita​

per_capita_income = monthly_income / family_members_count

Exemplo:

  • Renda familiar: R$ 2.400,00
  • Membros da família: 4
  • Renda per capita: R$ 600,00

Identificação de Baixa Renda​

O sistema identifica automaticamente candidatos de baixa renda com base no critério oficial:

SALARIO_MINIMO = 1412.00

is_low_income = per_capita_income <= (SALARIO_MINIMO / 2)

Critério Atual (2024):

  • Salário mínimo: R$ 1.412,00
  • Linha de corte: R$ 706,00 (meio salário mínimo)
  • Candidato é considerado baixa renda se: renda per capita ≤ R$ 706,00

Exemplos:

Renda FamiliarMembrosPer CapitaBaixa Renda?
R$ 1.200,002R$ 600,00✅ Sim
R$ 2.800,004R$ 700,00✅ Sim
R$ 3.000,004R$ 750,00❌ Não
R$ 2.000,003R$ 666,67✅ Sim

API de Renda Familiar​

Atualizar Dados de Renda​

PATCH /api/candidates/me/

Atualiza dados de renda do candidato autenticado.

{
"monthly_income": "2400.00",
"family_members_count": 4
}

Response:

{
"id": 123,
"user": {
"full_name": "João Silva"
},
"monthly_income": "2400.00",
"family_members_count": 4,
"per_capita_income": "600.00",
"is_low_income": true
}

Buscar Dados do Candidato​

GET /api/candidates/me/

Retorna dados completos do candidato, incluindo informações de renda.

Response:

{
"id": 123,
"user": {
"cpf": "123.456.789-00",
"full_name": "João Silva",
"email": "joao@email.com"
},
"birth_date": "1990-05-15",
"monthly_income": "2400.00",
"family_members_count": 4,
"per_capita_income": "600.00",
"is_low_income": true,
"address": {...},
"contact": {...}
}

Visualização no Sistema​

Perfil do Candidato​

No perfil do candidato, as informações de renda são exibidas com formatação apropriada:

Informações Socioeconômicas
├─ Renda Familiar: R$ 2.400,00
├─ Membros da Família: 4 pessoas
├─ Renda Per Capita: R$ 600,00
└─ Status: 🏷️ Baixa Renda

Badge de Baixa Renda​

Candidatos identificados como baixa renda recebem uma badge visual:

  • Cor: Azul (#2196F3)
  • Texto: "Baixa Renda"
  • Ícone: 🏷️
  • Posicionamento: Ao lado do nome do candidato

Currículo do Candidato​

As informações de renda aparecem formatadas no currículo:

Situação Socioeconômica
├─ Renda Familiar Mensal: R$ 2.400,00
├─ Quantidade de Membros: 4
├─ Renda Per Capita: R$ 600,00
└─ Classificação: Baixa Renda ✓

Relatórios e Análises​

Relatório de Baixa Renda​

O sistema gera relatórios específicos sobre candidatos de baixa renda para órgãos públicos.

Endpoint: /api/public-agency/reports/low-income/

Métricas Disponíveis:

  • Total de candidatos de baixa renda
  • Percentual em relação ao total
  • Distribuição por região
  • Distribuição por faixa etária
  • Taxa de empregabilidade
  • Comparativo temporal

Análise de Impacto​

Indicadores Calculados:

  1. Taxa de Candidatos Baixa Renda
taxa = (candidatos_baixa_renda / total_candidatos) * 100
  1. Renda Média Per Capita
media = sum(per_capita_income) / total_candidatos_com_renda
  1. Taxa de Colocação Baixa Renda
taxa = (colocacoes_baixa_renda / candidatos_baixa_renda) * 100

Filtros em Relatórios​

Os relatórios permitem filtros específicos:

interface LowIncomeFilters {
is_low_income?: boolean;
max_per_capita_income?: number;
min_family_members?: number;
max_family_members?: number;
state?: string;
city?: string;
date_from?: string;
date_to?: string;
}

Integração com Processos Seletivos​

Priorização de Candidatos​

Empresas e órgãos públicos podem priorizar candidatos de baixa renda:

Filtro no Ranking:

{
"filters": {
"is_low_income": true
}
}

Exibição em Candidaturas​

Nas listas de candidatos recomendados, o status de baixa renda é destacado:

João Silva (87% match) 🏷️ Baixa Renda
├─ Experiência: 3 anos
├─ Formação: Ensino Médio
└─ Renda Per Capita: R$ 600,00

Programas Especiais​

O sistema permite criar processos seletivos exclusivos para baixa renda:

{
"title": "Programa de Inclusão Social",
"requirements": {
"is_low_income": true
}
}

Privacidade e Segurança​

Controle de Acesso​

Tipo de UsuárioPermissões
CandidatoVisualizar e editar apenas próprios dados
EmpresaVisualizar apenas indicador de baixa renda
Órgão PúblicoAcesso completo para relatórios
AdministradorAcesso completo ao sistema

Dados Sensíveis​

  • Valores exatos de renda são sensíveis
  • Empresas veem apenas indicador booleano
  • Relatórios agregados não expõem dados individuais
  • Logs de acesso são mantidos

LGPD Compliance​

interface DataProtection {
consent_given: boolean;
consent_date: Date;
data_usage_purpose: string;
retention_period: string;
}

Práticas Implementadas:

  • Consentimento explícito para uso de dados
  • Finalidade específica (políticas públicas)
  • Minimização de dados coletados
  • Direito de retificação e exclusão

Casos de Uso​

Candidato Preenchendo Dados​

  1. Candidato acessa "Editar Perfil"
  2. Navega para seção "Dados Socioeconômicos"
  3. Preenche renda familiar mensal: R$ 2.400,00
  4. Informa número de membros: 4
  5. Sistema calcula automaticamente:
    • Renda per capita: R$ 600,00
    • Baixa renda: Sim
  6. Badge "Baixa Renda" aparece no perfil

Empresa Visualizando Candidato​

  1. Empresa acessa lista de candidatos recomendados
  2. Visualiza candidato com badge "Baixa Renda"
  3. Acessa perfil detalhado
  4. Vê apenas indicador de baixa renda (não valores exatos)
  5. Pode priorizar candidato em programa social

Órgão Público Gerando Relatório​

  1. Agente acessa "Relatórios"
  2. Seleciona "Relatório de Baixa Renda"
  3. Aplica filtros (estado, período)
  4. Sistema gera análise com:
    • Total de candidatos baixa renda
    • Distribuição geográfica
    • Taxa de empregabilidade
    • Comparativo temporal
  5. Exporta para PDF/Excel

Métricas e KPIs​

Indicadores Principais​

interface LowIncomeMetrics {
total_low_income: number;
percentage_low_income: number;
avg_per_capita_income: number;
placement_rate: number;
avg_family_size: number;
}

Exemplo de Métricas:

{
"total_low_income": 1250,
"percentage_low_income": 42.5,
"avg_per_capita_income": "485.00",
"placement_rate": 18.3,
"avg_family_size": 3.8
}

Dashboards​

Visualizações Disponíveis:

  • Gráfico de evolução temporal
  • Distribuição geográfica (mapa)
  • Pirâmide de faixas de renda
  • Taxa de empregabilidade comparativa
  • Impacto de programas sociais

Configurações do Sistema​

Atualização do Salário Mínimo​

O valor do salário mínimo deve ser atualizado anualmente:

SALARIO_MINIMO = 1412.00
LOW_INCOME_THRESHOLD = SALARIO_MINIMO / 2

Localização: backend/settings/base.py ou variável de ambiente

SALARIO_MINIMO=1412.00

Personalização de Critérios​

É possível personalizar o critério de baixa renda:

LOW_INCOME_MULTIPLIER = 0.5

threshold = SALARIO_MINIMO * LOW_INCOME_MULTIPLIER

Opções:

  • 0.5 - Meio salário mínimo (critério padrão)
  • 0.25 - Um quarto de salário mínimo (extrema pobreza)
  • 1.0 - Um salário mínimo completo (vulnerabilidade)

Validações e Formatação​

Formatação de Valores​

Backend (Python):

def format_currency(value):
return f"R$ {value:,.2f}".replace(',', 'X').replace('.', ',').replace('X', '.')

Frontend (TypeScript):

const formatCurrency = (value: number): string => {
return new Intl.NumberFormat('pt-BR', {
style: 'currency',
currency: 'BRL'
}).format(value);
};

Exemplos:

  • Input: 2400.00 → Output: R$ 2.400,00
  • Input: 15000.50 → Output: R$ 15.000,50

Validação Client-Side​

const validateFamilyIncome = (data: FamilyIncomeData) => {
const errors = {};

if (data.monthly_income < 0) {
errors.monthly_income = "Renda não pode ser negativa";
}

if (data.family_members_count < 1) {
errors.family_members_count = "Deve ter ao menos 1 membro";
}

return errors;
};

Roadmap​

Funcionalidades Futuras​

  • ✅ Cálculo automático de renda per capita
  • ✅ Identificação automática de baixa renda
  • ✅ Exibição em perfil e currículo
  • ✅ Relatórios para órgãos públicos
  • 🔜 Integração com CadÚnico para validação
  • 🔜 Histórico de evolução de renda
  • 🔜 Alertas de mudança de situação
  • 🔜 Programas sociais específicos
  • 🔜 Gamificação para superação de vulnerabilidade

Referências​