Repository navigation
Train - Test - Forecast - Explain
Machine Learning, Econometrics and Causality in one free app. No coding needed, Python when you want it.
4Cast Lab is a free research and teaching laboratory for machine learning, econometrics and causal analysis, built for students, instructors and researchers. Load an Excel or CSV file, or download data from the World Bank, Eurostat, the ECB, the OECD or the FDIC (every US bank), and train, compare and explain models, estimate econometric, panel, structural VAR and difference-in-differences models, find patterns and test causality, all without writing code. When you want code, the Python Workbench and a Python script of every run are built in.
Everything runs on your own computer. Your data never leaves it.
Quick start videos: YouTube playlist (Machine Learning, Econometrics, AutoML and the Python Workbench). The Quick Start Guide, the Model Selection Guide and the User Manual (PDF) are attached below.
(c) Periklis Gogas - EMEF Lab - Department of Economics - Democritus University of Thrace
Comments, suggestions, corrections and issues: Contact Form or perrygogas+4castlab@gmail.com
Built with WebExeBuilder by ezWareLab.
Why 4Cast Lab
| Machine learning | 10 model types, honest validation, statistical tests of every comparison, full interpretability. |
| Econometrics | OLS, logit/probit, IV, quantile, Poisson, negative binomial and Tobit (new), ARIMA, ARDL, ECM, VAR/VECM, GARCH, panel models (pooled OLS, fixed and random effects, Hausman, dynamic panel GMM (new)), structural VAR and difference-in-differences with Callaway-Sant'Anna, with all the standard tests. |
| Patterns | k-means, hierarchical clustering and principal components, with the groups and components added to your data in one click. |
| Causality tests | ML Granger causality, Double/Debiased ML treatment effects, and refutation checks. |
| AutoML | For non-experts and newcomers: four steps, one honest verdict. |
| Data from the internet | World Bank, Eurostat, ECB and OECD series, call-report data of every US bank from the FDIC, or any CSV / Excel link, joined by date and refreshed in one click. |
| Python Workbench | Write and run Python inside the app: for experts, and for teaching Python. |
| Python script of every run | The whole pipeline exported as Python; it repeats every step and checks 4Cast Lab's numbers. |
| No coding | A complete graphical interface: every method, setting and chart is a click away, with Undo / Redo for data changes. |
| Everything explained | "How to read this" notes, "In plain words" verdicts, Help on every result, a full Glossary, and every model written as an equation. |
| Full reports | Methods and Results reports, ready for a thesis or a paper, with references, in HTML and Word, plus a replication package. |
| Private and free | Runs offline on your computer; free academic software, citable with a DOI. |
New in v5.8
Dynamic panel GMM
Arellano-Bond (difference GMM) and Blundell-Bond (system GMM) in Estimation mode: one-step or two-step with the Windmeijer correction, collapsed instruments, time dummies, and each regressor exogenous, predetermined or endogenous. The Arellano-Bond AR(1) and AR(2) tests, the Hansen and Sargan tests, and a warning when the instruments outnumber the units. Checked against pydynpd.
Quantile, Poisson, negative binomial and Tobit regression
Quantile regression with several quantiles side by side with OLS and a chart of each coefficient across the quantiles; Poisson and negative binomial for counts, with incidence rate ratios, an exposure variable and an overdispersion test; Tobit for censored data, with lower and upper limits and average marginal effects. Checked against statsmodels and scipy.
Breusch-Godfrey test and leakage warning
The Compare the lags table has the Breusch-Godfrey test of serial correlation, valid when lags of the target are predictors; Ljung-Box now uses the right degrees of freedom. A predictor that alone separates the classes of the target is flagged as possible leakage, on the Data tab and after a run.
Large data and sessions
The automatic copy stores the data in a compact form, and only when they change, so it no longer freezes the window; restoring it or opening a large session is much faster, and a crash with tens of thousands of rows is fixed. A reopened session keeps a numeric Year column as numbers.
Python scripts download the data again
With data from the World Bank, Eurostat, the ECB, the OECD or a link, the Python scripts and the replication package contain a function that downloads the same table again and compares it with the data used.
The .exe updates itself
From this version on, Download on the new-version bar downloads the next version, checks it against the SHA-256 published on GitHub and, after Restart now, puts it in place of the old one and starts it. If that is not possible on a computer, the download page opens as before. (This time, download v5.8 by hand.)
Also
MASE in the CV column and the Train All table for time series; AutoML shows its verdict before the forecast; a refused estimation clears the old output; the first style is now called Original.
New in v5.7
FDIC bank data
Load from the internet has a new source: FDIC (US banks), the call reports of every FDIC-insured bank from the FDIC's BankFind Suite, free and with no key. Choose the banks (all banks by state, size, type and status, including the banks that closed or merged, so there is no survivor bias; or banks by name), the variables (39 main ones with plain names: size, profitability such as ROA, ROE and the net interest margin, asset quality, capital ratios, liquidity, loan mix, income and expense; or any of the 2,322 FDIC variables), and the period, quarterly or annual. Add the change of a variable and an up / down column (for example, does next year's ROA go up), and keep only the banks observed in every period if you want a balanced panel. The data arrive as a bank panel, ready for the panel econometrics and for forecasting; Refresh data adds the newest quarters, the reports cite the FDIC, and the Python script contains a function that downloads the same data again.
New in v5.6
Structural VAR
An Identification choice in the VAR settings: recursive (Cholesky), short-run restrictions (A/B model), long-run restrictions (Blanchard-Quah) or sign restrictions. Structural impulse responses with bands, the variance decomposition, the historical decomposition (how much each shock moved each variable at each date) and the LR test of the restrictions. Checked against statsmodels.
Difference-in-differences
The two-way fixed-effects regression, the event study with a parallel-trends test, and Callaway and Sant'Anna (2021) for units treated at different dates, with the Goodman-Bacon decomposition showing why the plain regression can be biased. Results in plain words. Checked against csdid (the Python port of R's did) and linearmodels. New example: Minimum wage (simulated panel).
Equation preview
The model you are building, written as an equation and updated as you change the settings, and the estimated equation after every run. Copy for Word pastes a real Word equation; the Word reports contain the equations.
Undo / Redo and Preferences
Undo / Redo for data changes on the Data tab (Ctrl+Z / Ctrl+Y). Preferences (the gear in the header): Style, Font and Text size.
New in v5.5
Panel econometrics
Pooled OLS, fixed effects (one-way and two-way) and random effects, with standard errors clustered by unit. The F test, Breusch-Pagan LM, Hausman and its robust version say which model the data support, in plain words, and the three models appear side by side and in the Results Table. Checked against linearmodels. New example: the Grunfeld investment data.
Patterns tab
k-means (elbow and silhouette), hierarchical clustering with a dendrogram, and principal components (scree plot, loadings, biplot). Compare the groups with your target classes, and add them, or the components, to your data as new columns. Checked against scikit-learn and scipy. New example: Iris.
Data from the internet
Load from the internet searches the World Bank, Eurostat, the ECB and the OECD, or reads any CSV / Excel link. Several series are joined by date, mixed frequencies are converted, several countries become columns or a panel, Refresh data gets the newest values, and the reports cite every series.
Reports to Word and the replication package
Every report as a Word (.docx) file with Word's own styles, editable tables, sharp figures and numbered tables and figures, ready for your thesis template. The replication package (.zip) holds the data as used, the session, the Python scripts, the reports, the figures and a README, everything another researcher needs to check your work.
Faster and safer
Large files import much faster, with a progress window and Stop. Your work is saved automatically and offered back after a crash. AutoML has a Stop that keeps the models already finished. Search the settings and the Glossary (Ctrl+K), compare runs side by side, choose the number of lags by BIC, AIC or CV, and use the Clean view to see only results, warnings and conclusions. Four new styles.
New in v5.0
AutoML: machine learning for everyone
Four steps: your data, what to forecast, training effort (Fast, Moderate, Full) and, for Yes/No outcomes, which mistake is worse. AutoML fixes common data problems, chooses the predictors inside every cross-validation fold, trains and tunes up to 10 kinds of model and tests the best one once on rows it never saw. You watch it work under the hood, and get an honest verdict in plain words: a useful model, a weak one, or none.
Causality: does X help predict y? Does X change y?
A Causality tab: ML Granger Causality (each predictor with and without, with Clark-West, Diebold-Mariano and Holm), Double ML Effect (Chernozhukov et al. 2018; ATE and ATT for a 0/1 treatment) and Refutation Checks (placebo, subsamples, sensitivity to a hidden confounder). Every number is checked against the doubleml Python package.
Python Workbench: Python inside 4Cast Lab
A third mode next to Forecasting and Estimation, with nothing to install. A Spyder-style editor or a Jupyter-style notebook, your data already loaded, and Load script of this run: Run all repeats every step and prints Python's numbers next to 4Cast Lab's.
Also in 4Cast Lab
- Machine learning: KNN, decision tree, random forest, gradient boosting, neural network, SVM, linear/logistic regression and stacking; regression, two or several classes; cross-sections, time series and panels; Diebold-Mariano, DeLong, McNemar, Reality Check, SPA and the Model Confidence Set; SHAP, partial dependence and conformal forecast intervals.
- Econometrics: robust and clustered standard errors, Wald tests, diagnostics, structural breaks, unit roots and cointegration, panel tests; journal-style Results Table to LaTeX, Word or Excel; every estimator checked against statsmodels, linearmodels and arch.
- Views: Core (the essentials, for teaching), Expert (everything) and AutoML, plus a Clean view that shows only results, warnings and conclusions. The results are identical in every view.
- Reports and sessions: Methods and Results reports in HTML and Word, a replication package, publication-quality figures, sessions (.4cl) with automatic saving, AI interpretation with the provider of your choice, dark mode, twelve styles, and a choice of font and text size.
Every panel and method is explained in the User Manual.
Installing on Windows
4Cast.Lab.exe is a portable app: no installation needed. Download it and double-click to run.
Windows may show "Windows protected your PC". 4Cast Lab is free academic software and is not code-signed. Click More info, then Run anyway. The app runs with normal user rights; only the optional AI interpretation, the update check, Load from the internet and the Python Workbench (the first time) use the internet.
Check that your download is genuine (optional). In PowerShell, in your Downloads folder:
Get-FileHash .\4Cast.Lab.exe
The result must be exactly:
314E9DDA11945A8C880B146CFE67CA96F4D3E369457AB25F8CE409B718221986
No Windows? Use it in the browser: https://perrygogas.github.io/4Cast-Lab/ (Chrome, Edge or Safari; it can be installed as an app).
How to cite
Gogas, P. (2026). 4Cast Lab (Version 5.8) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.22883216