Pular para o conteúdo principal

Pisos Protegidos, Dependentes e Vínculos de Trabalho 🛡️

A inteligência orçamentária do Monvix não trata todos os usuários da mesma forma. O motor adapta restrições rígidas baseadas na composição familiar e na volatilidade da renda.


👨‍👩‍👧‍👦 Separação Rigorosa de Dependentes

No modelo de dados do Monvix, há uma distinção cirúrgica entre quem mora sob o mesmo teto e quem recebe apoio financeiro externo:

Composição Familiar

┌──────────────────────────┴──────────────────────────┐
▼ ▼
Dependentes que Coabitam Filhos com Pensão Externa
(residentDependents) (paysAlimony + alimonyAmount)
│ │
▼ ▼
Escala custos variáveis da casa Isolado como Obrigação Fixa
(Alimentação, Saúde, Apoio Familiar) (Blindado antes da evolução do AG)

Regras de Cálculo no Código (optimizer.py):

# Residentes afetam despesas variáveis da residência:
resident_dependents = max(0, questionnaire.residentDependents)

# Alimentação:
food = min(0.38, 0.22 + resident_dependents * 0.035)

# Saúde:
health = min(0.22, 0.08 + resident_dependents * 0.02 + (0.03 if questionnaire.age > 50 else 0))

# Apoio familiar direto:
family_support = min(0.16, resident_dependents * 0.035)

Se o usuário paga pensão alimentícia (alimonyAmount), esse valor é protegido previamente pelo módulo app/domain/obligations.py, impedindo qualquer inflação indevida no balde de alimentação da residência.


🛒 Alimentação como Piso Inviolável

Quando o usuário fornece o valor real gasto em supermercado (groceriesAmount), o sistema ativa a proteção de piso:

if details and details.paysGroceries and details.groceriesAmount > 0:
food = min(0.60, details.groceriesAmount / flexible)
food_floor = min(0.08, food)
w_food = 30.0 # Rigidez máxima na função de fitness

Essa lógica assegura que a recomendação do algoritmo nunca rebaixe o padrão nutricional da família para forçar aportes financeiros artificiais.


💼 Vínculo de Trabalho e Reserva de Emergência

A estabilidade do vínculo profissional define a magnitude e o peso relativo do balde de Reserva de Emergência:

Vínculo Empregatício (employmentType)Meses de Reserva AlvoPeso Relativo (em_weight)Racional de Risco
PJ / Autônomo / Freelancer8 meses0.35Inexistência de FGTS, seguro-desemprego ou estabilidade. Exige colchão robusto.
Contrato Temporário7 meses0.30Risco iminente de descontinuidade contratual.
CLT (Carteira Assinada)5 meses0.25Suportado por rescisão contratual, aviso prévio, multa de 40% do FGTS e seguro.
Servidor Público Concursado3 meses0.18Altíssima previsibilidade de fluxo; permite maior alocação em investimentos de longo prazo.

💳 Tratamento de Dívidas Críticas (Modo Avalanche)

Se questionnaire.debtLevel == "CRITICAL" ou se o modo de planejamento for DEBT_PAYOFF:

if questionnaire.debtLevel == "CRITICAL":
debt = 0.55 # 55% do saldo flexível direcionado a dívidas
investments = min(0.04, investments) # Investimentos limitados a no máx 4%
emergency = min(0.07, emergency) # Reserva mantida no mínimo preventivo
lifestyle = max(0.02, remaining - investments - emergency)

if questionnaire.planningMode == PlanningMode.DEBT_PAYOFF and questionnaire.debtLevel != "NONE":
debt = max(debt, remaining * 0.85) # 85% do saldo disponível para aniquilar juros
emergency = remaining * 0.08
investments = remaining * 0.02
lifestyle = max(0.02, remaining * 0.05)

Essa modelagem matematicamente força a supressão de ativos com rendimentos inferiores ao custo do endividamento, executando o efeito avalanche.

👉 Consulte a Referência Completa da API →