Descrição Completa – Desafio 2021

Neste post, serão apresentadas informações gerais sobre o Desafio UniSoma 2021, incluindo o cronograma e a descrição do problema da Fundação Eufraten. O início do Desafio se deu em 20/09/2021, com a publicação deste post.

Cronograma Geral

Seguem abaixo as datas do Desafio 2021

  • Início: 20/09/2021, com divulgação do problema;
  • Serão realizados seis checkpoints, um por semana, via live no YouTube, em 23/09, 30/09, 07/10, 14/10, 21/10 e 28/10 sempre às 18h. A presença dos grupos nos checkpoints não é obrigatória;
  • Enviaremos por e-mail o link para a live minutos antes de iniciarmos cada uma;
  • Todas as perguntas podem ser feitas no Fale Conosco do Site do Desafio ou através do e-mail [email protected] Responderemos as perguntas entre 24 e 48 horas. No dia seguinte ao Checkpoint, colocaremos no site do Desafio um post com um compilado das perguntas da semana;
  • Cabe destacar que alguma eventual demanda pode ser solicitada pelo Cliente no decorrer do Desafio como, por exemplo, relatórios ou algo relacionado à usabilidade. Todas as informações serão previamente colocadas no site do Desafio;
  • Todos os grupos devem entregar até as 23h59 do dia 02/11/2021 um relatório contendo no máximo 5 (cinco) páginas. Este relatório deve conter a descrição da modelagem (algoritmos testados, métricas avaliadas, tratamento dos dados, etc) e da solução encontrada (modelo escolhido, justificativa da escolha, etc). Também deve haver uma breve descrição da aplicação criada. É interessante que o relatório contenha problemas encontrados durante o processo e como foram contornados.
  • Todos os grupos devem enviar também até as 23h59 do dia 02/11/2021 o programa contendo a aplicação, a especificação de tudo que foi utilizado como, por exemplo, as versões das linguagens e pacotes, e um manual de como fazer as instalações necessárias e utilizar a aplicação;
  • O e-mail para entrega do relatório e da aplicação é [email protected];
  • No dia 12/11/2021 serão divulgados no site do Desafio os grupos selecionados para a fase final;
  • No mesmo dia da divulgação, os grupos finalistas receberão um e-mail com feedback sobre a solução encontrada, tendo a possibilidade de fazer ajustes que forem necessários;
  • Os grupos finalistas devem enviar até as 23h59 do dia 22/11/2021 as novas versões do relatório e da aplicação, caso tenham feito alguma alteração;
  • Os grupos finalistas que não enviarem novas versões de relatório e solução terão as primeiras versões consideradas para a avaliação final;
  • No dia 27/11/2021, no período da manhã, ocorrerá a final do Desafio e os grupos farão a apresentação da solução e do sistema de forma online em uma plataforma ainda a ser divulgada;
  • Todas as informações sobre horário e cronograma da Final serão previamente colocadas no site do Desafio.

Sobre a ONG

A Eufraten é uma instituição que funciona há 40 anos ajudando pessoas através da Pedagogia Heulosófica, utilizando exemplos da natureza para interagir, transmitir (aprender e ensinar) conhecimentos e virtudes para despertar o ser à sua realidade interna, focando no Comportamento Humano, educando com limites sem repressão. É pautada no questionamento, na reflexão e nas possibilidades de educar para a vida, estimulando e promovendo a construção do pensamento lógico e da ética.

 

A Fundação Eufraten teve seu início na busca pelo autoconhecimento de seu fundador, Paulo Zabeu. Desde muito cedo, aos 10 anos, descobriu seu interesse em observar e compreender a natureza, o comportamento dos animais e do ser humano, uma vocação que o transformou em Pesquisador, Educador e Filantropo. Aos 19 anos, realizou incansáveis leituras e pesquisas sobre teosofia, filosofia e metafísica. Nesta idade, estimulado por um artigo lido numa revista, iniciou também a prática do Yoga e da Meditação, buscando aprofundar seus estudos e seu autoconhecimento.

Você pode conhecer mais do trabalho da Instituição e ser voluntário acessando o site: eufraten.org.br/

 

Descrição do Problema

A Fundação Eufraten tem como uma das suas fontes de renda créditos obtidos por meio do Programa Nota Fiscal Paulista (NFP). Este programa retorna parte do ICMS recolhido em um determinado estabelecimento comercial do Estado de São Paulo para quem adquiriu produtos neste estabelecimento, contanto que a pessoa coloque seu CPF na nota fiscal emitida. A pessoa pode também optar por não colocar o CPF na nota e deixá-la no estabelecimento, para que ONGs recolham e recebam os créditos.

A Fundação Eufraten tem cerca de 200 estabelecimentos parceiros na cidade de Campinas. Semanalmente, voluntários da Fundação passam pelos vários locais, recolhendo as notas deixadas pelos clientes. Essas notas são, então, triadas e lançadas no sistema do NFP. O trabalho de recolhimento toma bastante tempo, normalmente o dia inteiro, e, muitas vezes, é necessário que voluntários saiam um segundo dia na semana para visitar os estabelecimentos que ficaram faltando. E nem sempre o trabalho é bem recompensado! Muitos estabelecimentos têm poucas notas ou notas que rendem poucos créditos.

O Desafio deste ano é criar uma ferramenta que auxilie a Fundação a priorizar estabelecimentos no momento do recolhimento de notas. O sistema deve ranquear os estabelecimentos, indicando os melhores para visitar a cada mês. Além disso, espera-se que ele faça recomendações de perfis de estabelecimentos com os quais seria vantajoso ter uma parceria (por exemplo, qual atividade econômica é mais interessante ou qual bairro tem os melhores estabelecimentos).

O valor em créditos obtido de cada nota varia com uma série de fatores, como a atividade econômica do estabelecimento. Como os estabelecimentos podem ter mais de uma atividade econômica (identificada pela CNAE), o que é considerado para esse cálculo é a CNAE principal. Os créditos gerados pelas notas só são conhecidos no momento em que são liberados no sistema do NFP. Essa liberação ocorre apenas quatro meses depois da emissão da nota.

Além dos créditos, outra forma de arrecadar renda pelo NFP é através de sorteios realizados mensalmente. Para esses sorteios, são gerados números levando em conta o valor total das notas, mas a Fundação não sabe bem como é calculado o número de bilhetes a que tem direito. Os bilhetes são liberados junto com os créditos.

No sistema do NFP, a Fundação consegue verificar os créditos obtidos por nota fiscal de cada estabelecimento. As notas que estão registradas nesse sistema têm duas origens. A primeira são as notas recolhidas e lançadas pelos voluntários, como explicado até aqui. A segunda são notas doadas por pessoas físicas: na hora da compra, mesmo que a pessoa opte por colocar o CPF na nota, ela pode, ainda, doar os créditos para uma ONG, via sistema NFP. Essas notas não são de interesse para avaliação do potencial de um estabelecimento, pois elas não entram no processo de recolhimento, que é o foco do Desafio. Por outro lado, podem auxiliar a Fundação a identificar novos parceiros.

Um bom estabelecimento é aquele que rende muitos créditos e muitos bilhetes em um determinado mês. Assim, foi definido um score (entre 0 e 100) que combina esses dois critérios, com a possibilidade de dar pesos diferentes para eles. O peso dos créditos será dado pelo usuário (entre 0 e 1) e o peso dos bilhetes é (1 – peso dos créditos). Para o cálculo desse score, primeiramente, cada critério deve ser normalizado para ficar entre 0 e 100 (quanto maior, melhor). O score é dado, então, pela soma dos critérios normalizados ponderados segundo seus pesos.

 

Dados

Os dados para desenvolvimento da modelagem serão disponibilizados em banco SQLite . Os grupos podem criar novas tabelas e colunas nas tabelas existentes, se julgarem necessário, mas a estrutura geral do banco e as colunas já criadas nas tabelas devem ser mantidas.

Os dados disponíveis para modelagem são:

  • Informações sobre a nota
    • data de emissão: data em que foi emitida
    • data de registro: data em que foi registrada pelo estabelecimento
    • valor: valor total (R$)
    • crédito: valor (R$) creditado para a ONG pelo programa NFP

 

  • Informações sobre os estabelecimentos
    • tipo (matriz ou filial)
    • natureza jurídica
    • porte
    • ano de abertura
    • UF
    • município
    • bairro
    • número(s) da CNAE
    • se a CNAE é principal ou secundária
    • agrupamentos dos códigos CNAE
    • se é visitado ou não pela Fundação

Os grupos podem criar novas variáveis a partir dessas. Também podem usar outros dados que julgarem relevantes. Neste caso, ficam responsáveis por fornecê-los em banco, bem como criar mecanismos de atualização, se necessários.

Produto Esperado

A ferramenta desenvolvida deve ser capaz de receber um novo conjunto de informações, combiná-las com as já existentes em banco, refazer/atualizar o modelo preditivo e retornar o resultado para o usuário.

O novo conjunto de dados conterá as informações mais recentes de valores de notas e créditos liberados para a Fundação. Além disso, o usuário deve ser capaz de solicitar a análise para um novo estabelecimento, mediante a entrada das informações deste estabelecimento, ainda que não haja histórico de notas recolhidas. O formato de entrada dessas informações é XLSX, e o template pode ser encontrado junto ao banco de dados. Além da entrada de novas informações, deve ser possível para o usuário:

  • Indicar que um determinado estabelecimento não é mais parceiro da Fundação e, portanto, deve ser excluído da análise;
  • Informar qual o peso quer dar para créditos para o ranqueamento dos estabelecimentos
  • Informar para qual mês deseja obter os resultados – caso não seja possível gerar resultados para o referido mês, a aplicação deve avisar ao usuário.

 

Os novos conjuntos de dados devem ser salvos nas respectivas tabelas do banco. Caso o usuário indique que algum estabelecimento não é mais parceiro, essa informação deve ser alterada na respectiva tabela.

Os dados da ABT (Analytical Base Table), ou seja, o conjunto resultante do tratamento de dados e feature engineering, que será usado como entrada da modelagem, incluindo a variável resposta, devem ser salvos na tabela resultados_abt_modelagem. Da mesma forma, a ABT para previsão de scores deve ser salva em resultados_abt_previsoes, juntamente com os scores previstos.

  1. Cinco melhores estabelecimentos, com score previsto e total de créditos no último mês de histórico
  2. Cinco piores estabelecimentos, com score previsto e total de créditos no último mês de histórico
  3. Gráfico da média móvel (6 meses) do total de créditos arrecadados por mês, nos últimos 6 meses, com filtro para escolha de exibição de um estabelecimento específico

 

Além disso, a Fundação também tem interesse em receber indicações de perfis de estabelecimentos para parcerias. Eles também gostariam de saber quais estabelecimentos, dentre aqueles para os quais há apenas doações individuais, podem ser bons pontos de recolhimento de notas.

Outros KPIs e insights são muito bem-vindos sempre! Aqui vale a criatividade do grupo!

Além do dashboard, a ferramenta deve gerar um arquivo XLSX com o ranqueamento gerado, score, nome, endereço e contato de cada estabelecimento (template junto ao banco de dados).

O passo a passo do processo deve ser logado na tabela resultados_log. Cada entrada dessa tabela deve conter uma mensagem sobre o passo em que se encontra o script (por exemplo, “início da inserção das informações em banco”, “início da modelagem”, “fim da modelagem”) e o tempo desde a última mensagem. Caso a aplicação pare de rodar, o erro encontrado deve ser logado nessa tabela.

O conjunto de dados será fornecido anonimizado – os estabelecimentos serão identificados por IDs e terão outras informações (nome, endereço, contato) fakes. No momento da implementação, os IDs poderão ser trocados pelos CNPJs das empresas. Assim, a ferramenta deve contemplar a possibilidade de entrada de dados do tipo texto, além de tratá-la para que se torne numérica.

 

Avaliação

Os grupos que cumprirem todas as normas descritas no Site do Desafio serão avaliados pela banca examinadora, escolhida a livre critério da UniSoma.

Serão avaliados pela banca examinadora aspectos como:

  1. solução apresentada,
  2. interação do grupo com a UniSoma e a ONG parceira,
  3. resultados e relatórios,
  4. arquitetura e implementação da solução,
  5. interface (facilidade de uso),
  6. apresentação (slides, organização, clareza),
  7. comunicação.

Cada membro da banca examinadora atribuirá uma nota a cada item avaliado, podendo considerar o conjunto do trabalho. Cabe destacar que todos os aspectos serão avaliados de forma igual, ou seja, nenhum deles será mais importante do que os outros.