Introducing Arauto: an interactive tool for Time Series Forecasting | by Paulo Vasconcellos | Towards Data Science

Time series forecasting has been an outstanding field to apply machine learning and statistical models, although many data scientists might not see it as a field as sexy as computer vision or NLP, to name a few. The fact is that many companies depend on time series forecasting and analysis to understand the future of the business, like predict revenue, active clients, average ticket, and so on.
Today, I would like to introduce a tool that has been helping me to optimize and increase my productivity when building time series models: Arauto, an open-source application made with Python that aims to bring an interactive and intuitive way to build mixed autoregressive moving average models (AR, MA, ARMA, ARIMA, SARIMA, ARIMAX, SARIMAX).
In my current job, I’m responsible for creating and maintain multiple time series models running in production. Hotmart is one of the biggest platforms for digital products in the world and our C Levels, investors, managers, and leadership need to understand what we can expect for some key business metrics in future, like how much revenue we’ll earn, how much money we’ll spend in infrastructure, or how many active users we can expect for the next months.
However, I’ve noticed that I had two main problems while I was building models:
Most of my time was wasted building repeatedly processes and code: things that surely could be automated;
It was not so productive to iterate and experiment over different models and parameters for my models.
These points lead me to build a tool that could help me — and surely more people that are facing a similar problem — to be more agile and productive in my projects. The result of this project was Arauto.
Arauto is an open-source tool that combines an interactive and intuitive web application that guides you through the analysis and building of your time series models. Arauto aims to give you a predictive model in just a couple of minutes and, at the end of the process, it generates the code used to transform and train the model, so you can copy and modify it on Jupyter Notebook or Python script. Here are some features that you will find on Arauto:
Support for exogenous regressors;
Seasonal decompose that lets you know the Trend, Seasonality, and Resid of your data;
Stationarity Test using Augmented Dickey-Fuller test;
Customization of data transforming for stationarity: you can use from First Difference to Seasonal Log to transform your data;
ACF (Autocorrelation function) and PACF (Parcial correlation function) for terms estimation;
Customize ARIMA terms or let Arauto choose the best for you based on your data;
Grid search feature for parameters tuning;
Code generation: at the end of the process, Arauto returns the code used to transform the data and train the model
It’s pretty easy to get started with Arauto. If are curious about what you can do, there’s a live web version that you can access by clicking on this link. Please keep in mind that this is a lightweight version made for demonstration purposes since it’s using a Heroku’s free tier instance.
Arauto can be easily installed using Docker. By running three commands, you will be ready to use Arauto on your own infrastructure.
# Clone the repositorygit clone https://github.com/paulozip/arauto.gitcd arauto# Run the docker composedocker-compose up --build
There’s another option to install Arauto by using Conda’s environment. Please, refer to the Github repository for further information.
Arauto was made to be as intuitive as possible, even for those who don’t have deep knowledge in Statistics. However, we made a complete tutorial for you getting started with Arauto in a couple of minutes. Please, refer to Arauto’s documentation to know more.
Currently, this project is maintained by just one person. It would be great to have more people collaborating and contributing to this open-source project. If you want to collaborate with Arauto, here’s what you can do:
Documentation and tutorial: it’s really important to make users get into Arauto as soon as they open the browser. Tutorials and deeper documentation could help us to achieve it.
New algorithms: there are many different algorithms that we could add to Arauto, like ARCH, VAR, and Tree-based algorithms, to name a few. All you need to do is fork the repository, build the feature and open a PR to merge it.
Bug fixes: something might be broken. We need good people to fix it.
Tests: Arauto doesn’t contain tests, and this is wrong.
Request features: You can suggest new ideas and features using our issue tracking. Requests will be prioritized by thumbs up emoji (👍)
New features will be added to Arauto. If you want to know when a new version arrives, please, subscribe to Arauto’s newsletter to get informed about new things. We will NOT send spams or share your email. Only content related to Arauto will be sent.
I hope you are excited to build new things with Arauto. I’m Paulo Vasconcellos, Data Scientist at Hotmart and co-founder of Data Hackers: the biggest data science and machine learning community in Brazil. Feel free to follow me on Linkedin or Twitter (tweets and posts are in PT-BR) to know more about Arauto and data science. See ya!