Desenvolvimento de uma API para previsão de faturamento para clientes de uma empresa de software: uma abordagem com machine learning

Veiga, Guilherme Valdo (2023)

tcc

RESUMO: Este trabalho apresenta o desenvolvimento de uma API, implementada através da linguagem de programação Python e o framework Flask para prever o faturamento semanal de três clientes de uma empresa de software ERP. O desafio central concentrou-se na modelagem de séries temporais de faturamento, uma área estatística que abrange diversas técnicas analíticas. A pesquisa empregou técnicas de machine learning, apresentando modelos como regressão linear, ARIMA, Perceptron Multicamadas, LSTM, BiLSTM, e CNN, totalizando um modelo de regressão linear, um modelo clássico de séries temporais e quatro de deep learning. É importante destacar que os modelos de deep learning foram treinados em paralelo, combinando a série temporal de faturamento com os dados fixos referentes aos meses, usando a biblioteca TensorFlow. O paralelismo usado é um viés indutivo, no qual este trabalho se propôs a investigar em busca de uma hipótese mais adequada dentro de um espaço de possíveis soluções, visando auxiliar os modelos a generalizar de maneira eficaz a partir dos dados de treinamento. Todos os modelos foram desenvolvidos e treinados usando Python como linguagem de programação. Os resultados comparativos revelam que o modelo de regressão linear demonstrou desempenho superior, alcançando os menores erros de RMSE por cliente e sMAPE de 12,55%, 11,79%, e 16,80% para os Clientes 1, 2 e 3, respectivamente. Além disso, sua relativa simplicidade resultou em um menor tempo de processamento, treinando em apenas 0,003 segundos. A aplicação prática destes modelos destaca sua relevância na otimização da previsão financeira em empresas, fornecendo dados essenciais para aprimorar a tomada de decisões estratégicas.

ABSTRACT: This work presents the development of an API, implemented through the Python programming language and the Flask framework to predict the weekly revenue of three clients of an ERP software company. The central challenge focused on the modeling of revenue time series, a statistical area that encompasses various analytical techniques. The research employed machine learning techniques, presenting models such as linear regression, ARIMA, Multilayer Perceptron, LSTM, BiLSTM, and CNN, totaling one linear regression model, one classical time series model, and four deep learning models. It is important to highlight that the deep learning models were trained in parallel, combining the revenue time series with fixed monthly data, using the TensorFlow library. The parallelism used is an inductive bias, in which this work proposed to investigate in search of a more suitable hypothesis within a space of possible solutions, aiming to help the models generalize effectively from the training data. All models were developed and trained using Python as the programming language. Comparative results reveal that the linear regression model demonstrated superior performance, achieving the lowest RMSE errors per client and sMAPE of 12.55%, 11.79%, and 16.80% for Clients 1, 2, and 3, respectively. Additionally, its relative simplicity resulted in a shorter processing time, training in just 0.003 seconds. The practical application of these models highlights their relevance in optimizing financial forecasting in companies, providing essential data to enhance strategic decision-making.


Collections: