
Security News
CVE Volume Surges Past 48,000 in 2025 as WordPress Plugin Ecosystem Drives Growth
CVE disclosures hit a record 48,185 in 2025, driven largely by vulnerabilities in third-party WordPress plugins.
forecastga
Advanced tools
A Python tool to forecast GA data using several popular timeseries models.
ForecastGA is a tool that combines a couple of popular libraries, Atspy and googleanalytics, with a few enhancements.
am.forecast_insample(), any kwargs included (e.g. learning_rate) are passed to the train method of the model.data dict with GA config options or a Pandas Series as the input data.forecastga.print_model_info().data dict or uploaded as a JSON file named identity.json.forecastga.plot_colab(forecast_in, title="Insample Forecast", dark_mode=True) that formats nicely and also handles Dark Mode!ARIMA : Automated ARIMA ModellingProphet : Modeling Multiple Seasonality With Linear or Non-linear GrowthProphetBC : Prophet Model with Box-Cox transform of the dataHWAAS : Exponential Smoothing With Additive Trend and Additive SeasonalityHWAMS : Exponential Smoothing with Additive Trend and Multiplicative SeasonalityNBEATS : Neural basis expansion analysis (now fixed at 20 Epochs)Gluonts : RNN-based Model (now fixed at 20 Epochs)TATS : Seasonal and Trend no Box CoxTBAT : Trend and Box CoxTBATS1 : Trend, Seasonal (one), and Box CoxTBATP1 : TBATS1 but Seasonal Inference is Hardcoded by PeriodicityTBATS2 : TBATS1 With Two Seasonal Periodsforecastga.print_model_info()
data = { 'client_id': '<google api client_id>',
'client_secret': '<google api client_secret>',
'identity': '<google api identity>',
'ga_start_date': '2018-01-01',
'ga_end_date': '2019-12-31',
'ga_metric': 'sessions',
'ga_segment': 'organic traffic',
'ga_url': 'https://analytics.google.com/analytics/web/?authuser=2#/report-home/aXXXXXwXXXXXpXXXXXX',
'omit_values_over': 2000000
}
model_list = ["TATS", "TBATS1", "TBATP1", "TBATS2", "ARIMA"]
am = forecastga.AutomatedModel(data , model_list=model_list, forecast_len=30 )
# CSV with columns: Date and Sessions
df = pd.read_csv('ga_sessions.csv')
df.Date = pd.to_datetime(df.Date)
df = df.set_index("Date")
data = df.Sessions
model_list = ["TATS", "TBATS1", "TBATP1", "TBATS2", "ARIMA"]
am = forecastga.AutomatedModel(data , model_list=model_list, forecast_len=30 )
forecast_in, performance = am.forecast_insample()
forecast_out = am.forecast_outsample()
all_ensemble_in, all_ensemble_out, all_performance = am.ensemble(forecast_in, forecast_out)
forecastga.plot_colab(forecast_in, title="Insample Forecast", dark_mode=True)
Windows users may need to manually install the two items below via conda :
conda install pystanconda install pytorch -c pytorch!pip install --upgrade git+https://github.com/jroakes/ForecastGA.gitotherwise,
pip install --upgrade forecastga
This repo support GPU training. Below are a few libraries that may have to be manually installed to support.
pip install --upgrade mxnet-cu101
pip install --upgrade torch 1.7.0+cu101
The goal of this repo is to grow the list of available models to test. If you would like to contribute one please read on. Feel free to have fun naming your models.
/src/forecastga/models folder there is a model called template.py. You can use this as a template for creating your new model. All available variables are there. Forecastga ensures each model has the right data and calls only the train and forecast methods for each model. Feel free to add additional methods that your model requires./src/forecastga/models/__init__.py file to add your model's information. Follow the format of the other entries. Forecastga relies on loc to find the model and class to find the class to use.requirments.txt with any additional libraries needed to run your model. Keep in mind that this repo should support GPU training if available and some libraries have separate GPU-enabled versions.If you enjoyed this tool consider buying me some beer at: Paypalme
FAQs
A Python tool to forecast GA data using several popular timeseries models
We found that forecastga demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
CVE disclosures hit a record 48,185 in 2025, driven largely by vulnerabilities in third-party WordPress plugins.

Security News
Socket CEO Feross Aboukhadijeh joins Insecure Agents to discuss CVE remediation and why supply chain attacks require a different security approach.

Security News
Tailwind Labs laid off 75% of its engineering team after revenue dropped 80%, as LLMs redirect traffic away from documentation where developers discover paid products.