Este projeto visa gerar dados fictícios para simular um ambiente de análise de dados contendo informações de: leads, clientes e transações.
Esta tabela contém dados de possíveis clientes. São pessoas que, de alguma maneira, entraram em contato conosco ou abordamos de forma ativa. Este processo de lead possui algumas etapas e segue um workflow: prospecção -> qualificação -> proposta -> fechamento, podendo haver o abandono/desistência a qualquer momento. Quando o lead chega em fechamento ele se torna um cliente.
lead_id: Identificador único do lead.data_entrada: Data de entrada do lead no funil.data_transicao_prospecao: Data de transição para a etapa de Prospecção.data_transicao_qualificacao: Data de transição para a etapa de Qualificação.data_transicao_proposta: Data de transição para a etapa de Proposta.data_transicao_fechamento: Data de transição para a etapa de Fechamento.etapa_atual: Etapa atual do lead no funil.
Esta tabela contém dados de clientes. São pessoas que de fato efetuaram uma compra.
cliente_id: Identificador único do cliente.data_aquisicao: Data da primeira compra.receita_mensal: Valor da mensalidade paga.data_cancelamento: Data de cancelamento do cliente (se aplicável).industria: Segmento do cliente.
Esta tabela contém dados de pagamentos dos clientes referente o serviço prestado. O serviço em si, possui recorrência mensal de pagamento (mensalidades).
transacao_id: Identificador único da transação.cliente_id: Identificador do cliente relacionado à transação.tipo_transacao: Tipo de transação (nova venda, upsell, downsell, cross-sell, recorrente).valor_transacao: Valor da transação.data_transacao: Data da transação.
Sobre o atributo tipo_transacao:
Este atributo qualifica a transação, sendo:
nova venda: primeira compra do cliente.upsell: aumento (R$) de plano de um produto contratado.downsell: redução (R$) de plano de um produto contratado.cross-sell: aquisição de um novo produto.recorrente: mensalidade comum (no caso, manteve o mesmo formato de contratação do mês anterior.)
Para executar este projeto, foi utilizado a versão 3.12.3 do Python e você precisará das seguintes bibliotecas:
- pandas
- numpy
- faker
Essas bibliotecas estão listadas no arquivo requirements.txt e podem ser instaladas conforme explicado nas seções seguintes.
- Clone o repositório:
git clone https://github.com/franc-felipe/fakercom.git
cd fakercom- Crie e ative um ambiente virtual:
python -m venv .venv
source .venv/bin/activate # No Windows, use `.venv\Scripts\activate`- Instale as dependências:
pip install -r requirements.txtSão 4 arquivos python que encontram-se na pasta app.
app
├── clientes.py
├── leads.py
├── ingest.py
└── transacoes.pyPara gerar os dados fictícios e salvá-los em arquivos CSV, siga os passos abaixo:
- Execute o arquivo
leads.py:
python leads.py- Execute o arquivo
clientes.py:
python clientes.py- Execute o arquivo
transacoes.py:
python transacoes.py- Este passo é opcional. O objetivo do arquivo
ingest.pyé fazer a carga destes dados em csv, num banco de dados. Para isso, você necessita editar os dados de acesso no arquivo (linhas 6 à 10).
Após a edição, execute:
python ingest.py