Especificação da Automação do Planejamento Financeiro
Problema
Qual problema você está tentando resolver?
Os clientes do Planfy devem ter sua vida financeira planejada e os Planejadores parceiros do Planfy precisam de apoio para planejar a vida de seus clientes. Nesse contexto, a automação do planejamento financeiro deve levar em consideração a situação financeira do cliente e seus objetivos para sugerir um plano financeiro otimizado. O plano também deve considerar as categorias de produtos financeiros essenciais da metodologia Planfy de planejamento. As categorias de produtos possíveis são: Independência financeira, Segurança e Objetivos financeiros.
Objetivos
O que deve ser verdadeiro após a implementação deste projeto?
- Otimizar o plano financeiro para o cliente considerando os objetivos cadastrados e os objetivos considerados essenciais pelo Planfy
- Otimizar o atingimento dos objetivos do cliente
- Tornar mais segura a vida do cliente por meio do plano financeiro
- Calcular os valores adequados para independência financeira
- Calcular os valores adequados de segurança
Não-objetivos
O que não está explicitamente no escopo e por quê?
- Não é objetivo desse projeto indicar/sugerir objetivos personalizados baseados no perfil do cliente
- Não é objetivo decidir quais objetivos são mais úteis ou importantes para o cliente. Isso pode ser feito através de um modelo de utilidade ou input direto do cliente. Para esse projeto, assume-se que a utilidade dos objetivos já é dada
- Por enquanto, não é objetivo indicar, dentro das categorias de produtos, os produtos específicos
Solução Proposta
Independência Financeira
Reserva de Emergência
Calcular o período e o valor ideal para a Reserva de Emergência baseada no perfil do cliente. Que deve seguir a fórmula:
m = 3 + i + v + d
Onde $m$ é o período da reserva de emergência em meses e:
i =
\begin{cases}
1,& \text{se a renda é instável}\\
0, & \text{caso contrário}
\end{cases}
v =
\begin{cases}
1,& \text{se a renda é variável}\\
0, & \text{caso contrário}
\end{cases}
d =
\begin{cases}
1,& \text{se possui dependentes}\\
0, & \text{caso contrário}
\end{cases}
O valor ideal para a reserva de emergência $v$ é dado por:
v = m \times f
Onde $f$ é o valor das despesas fixas mensais do cliente
Renda passiva
Calcular o valor mensal de contribuição ($PMT$) dado o valor alvo e o prazo
PMT = PV \frac{(1 + i)^n \times i}{(1 + i)^n - 1}
Onde $PV$ é o valor alvo atual, $n$ é o prazo em meses e $i$ é a taxa.
Segurança
Seguro de Vida
Idade acima de 55 anos não dá para fazer.
Indicado a todos exceto quem possui aversão ao seguro de vida.
Se não possuir dependentes, indicar cobertura mínima ou não indicar. Default: não indicar.
- (i) Despesas fixas mensais / 0.8% range (0,8 a 1,2%) (se for servidor público → 1,2%)
- (ii) Despesas esporádicas / 1% range(1% a 1,5%) (se for servidor público → 1,5%)
- (iii) Patrimônio imobilizado * 15%
- (iv) Valor do objetivo de educação dos filhos, se possuir.
- (iv) Patrimônio Financeiro * 85%
- Cálculo valor cobertura (i) + (ii) + (iii) + (iv) - (v)
Seguro Invalidez
Idade acima de 55 anos não dá para fazer.
- (i) Despesas fixas mensais / 0.7% range(0,7 a 1%)
- (ii) Despesas esporádicas / 1% range(1 a 1,5%)
- (iii) Previdência privada
- Cálculo parâmetro de despesa = (i) + (ii) - (iii)
- Cálculo valor cobertura: encaixar o parâmetro de despesa na tabela:
Despesas Fixas | Valor mínimo |
---|---|
<2000 | 0 |
≥2000 e <7000 | 50000 |
≥7000 e <1500 | 250000 |
≥15000 | 500000 |
Seguro Doenças Graves
Idade acima de 55 anos não dá para fazer.
- O valor mínimo do seguro é obtido ao comparar a faixa de renda ($R$) com a tabela:
Despesas Fixas | Valor mínimo |
---|---|
R <2000 | 0 |
R ≥2000 e R <7000 | 50000 |
R ≥7000 e R <1500 | 250000 |
R ≥15000 | 500000 |
Objetivos
- Realizar otimização combinatória para selecionar o conjunto de objetivos que maximizem a utilidade para o cliente. Usar Programação Dinâmica. Ver Knapsack problem
- Otimização da escolha dos objetivos
- valor para atingir (máx)
- prazo (min)
- modalidade de compra (variável) (ex: consórcio vs compra à vista)
- aporte inicial (restrição)
- poupança mensal (restrição)
- taxa de retorno (restrição)
Geral
- Avaliar os itens de planejamento baseado no fluxo de caixa. Selecionar o que obtiver a melhor evolução patrimonial
- Realizar otimização dos objetivos após submissão destes no Planfy
- Havendo liquidez, sempre completar a reserva de emergência
- Priorizar a segurança. Nesse ponto os valores de segurança podem variar, mas é obrigatório que os itens de segurança estejam presentes, com exceção dos casos de clientes acima de 55 anos e clientes que tenha aversão a esse tipo de produto
- Limitar número máximo de Objetivos Financeiros
- Para as primeiras versões, não serão feitas a escolha dos ativos de seguros
Quais são as mudanças arquiteturais de alto nível?
- Um novo serviço para a criação de planos financeiros deve ser criado
- Uma API deve ser disponibilizada
Quais são as principais mudanças no modelo de dados?Essas mudanças devem incluir quaisquer alterações no esquema do banco de dados ou quaisquer alterações em campos estruturados, por exemplo, uma coluna JSON existente.
- Para cada objetivo, deve haver um campo indicando a sua utilidade.
- Deve-se armazenar as sugestões de planejamento financeiro e suas modificações
Quais são as principais mudanças na interface do usuário?
- Deve haver uma forma para inferir, ou o cliente indicar, a utilidade dos objetivos que ele cadastrou e apresentar esses valores
- Região para edição dos objetivos e submissão para análise. A submissão pode ser para a análise automatizada ou para o planejador
Riscos
Quais riscos podem ser introduzidos por este conjunto de mudanças?
Existem mudanças incompatíveis com versões anteriores?
Não. As mudanças em questão adicionam novos comportamentos, mas não modificam os que já existem
Este projeto tem implicações especiais para segurança e privacidade de dados?
Sim. Esse projeto usa dados financeiros dos clientes que são considerados pessoais e sensíveis pela LGPD. Será preciso indicar ao cliente que as suas informações poderão ser usadas para realizar seu planejamento financeiro e a política de armazenamento e exclusão. Também será necessário estabelecer uma política de acesso às informações armazenadas
Esta mudança poderia aumentar significativamente a carga em algum de nossos sistemas de backend?
Sim. A otimização combinatória pode ser um processo relativamente demorado e usar recursos significativos de memória
Este projeto tem alguma dependência?
Esse projeto depende da quantificação da utilidade de cada item do planejamento e seus objetivos
Soluções Alternativas
Quais alternativas você considerou? Descreva os critérios de avaliação para como você escolheu a solução proposta
Utilizar a base dos planejamentos já criados para inferir os padrões de planejamento e fazer a sugestão do planejamento.
Essa opção foi descartada por que as regras para a definição dos valores e escolhas das categorias de produtos são bem definidas
Plano de Implementação e Lançamento
Preencha esta seção com base no que é relevante para o tamanho e escopo deste projeto. Esta seção também pode ser TBD à medida que o projeto é iniciado, mas você deve preenchê-la gradualmente à medida que o projeto avança em direção ao lançamento.
Preencher progressivamente à medida que o projeto evolui.
Este projeto requer uma migração?
Se uma migração extensiva for necessária, escreva um tech spec separado para ela e vincule-o aqui. Descreva como reverter no caso de uma migração mal sucedida.
Este projeto está em um experimento ou com recurso de flag?Descreva como suportar um lançamento incremental, se necessário.
Critérios de Sucesso
Como você validará que a solução está funcionando corretamente?
Descreva quais testes automatizados e/ou manuais você fará. Este projeto precisa de testes de carga ou estresse? Isso também pode ser um documento de Plano de Testes separado que é compartilhado com QA e vinculado aqui.
- Testar os cálculos da reserva de emergência
- Testar os cálculos dos seguros
- Testar se a reserva de emergência e os seguros sempre constam no planejamento financeiro
- Testar se os objetivos escolhidos levam a um fluxo de caixa impossível para o cliente. Ex: ficar negativo por um tempo longo
- Testar as sugestões por perfil dos clientes
- Testar se a escolha dos objetivos foi feita de maneira assertiva
- Testar se a comparação de fluxos de caixa ocorre corretamente
- Testar se os meios de compra estão sendo considerados para a aquisição dos objetivos
Que monitoramento e alerta você fará para garantir que este projeto não diminua o desempenho e a confiabilidade?
Por exemplo, aumento de solicitações, latência e taxas de erro.
- Implementação de sistema de feedback pelo cliente
- Estabelecer métricas de qualidade
- Implementar ferramenta para monitorar as métricas definidas