ECON 8310: Business Forecasting (with AI)

University of Nebraska at Omaha · Department of Economics
Last updated: October 31, 2026

Forecasting tools and applications for business settings. The first half of the course covers traditional econometric forecasting; the second half turns to predictive analytics and machine learning. Everything is implemented in Python.

Course documents

About this course — what it teaches, what it assumes you already know, and the books it reads from.

Enrolled at UNO? Canvas has what this site does not

This site carries the course materials — every slide deck, lab, assignment, the book and the workbook — and nothing specific to one university, term or section. It has no calendar dates, no grading scale, no lecture recordings and no course policies.

If you are enrolled, Canvas is authoritative for all of those: your syllabus, the term calendar and due dates, the lecture videos, the academic-integrity and accessibility policies, and how work is submitted and graded. Where the two ever disagree, Canvas wins.

The rest of the course documents:

DocumentWhat it covers
Setup & Quarto guide Installing Python, Quarto and an editor; how to work in a .qmd
Homework quickstart Getting the data, doing an assignment, checking it, submitting
Using AI on homework Which tools are allowed, the prompt log, what you must write yourself
Troubleshooting When something will not install, render or run — read this before emailing
Course datasets What each dataset is and why it is in the course — read before Homework 1
Final project rubric How points are awarded

Textbooks

All are free online. None needs to be purchased.

BookUsed for
FPP-Py — Forecasting: Principles and Practice, the Pythonic Way Lectures 1–3; the primary text
FPP3 — the R edition Same material, R code. Chapter 12 is numbered differently — both numbers are always given
ISLP — An Introduction to Statistical Learning with Applications in Python Lectures 4–6. FPP covers no tree methods and no regularization; this fills that gap
BMCP — Bayesian Modeling and Computation in Python Lectures 10–12. PyMC and ArviZ throughout, which is what we use

Before the first lab

Every lab and homework in this course reads from prepared data files that are not in the repository. Run these three commands once, from the repository root, before Week 1:

python scripts/prep_m5.py            # M5 / Walmart — the course spine
python scripts/prep_fred.py          # FRED macro series — Lecture 2
python scripts/prep_electricity.py   # hourly electricity demand — Lecture 3

Each downloads from a public source, needs no login or API key, and writes to data/processed/. Once they have run, nothing in this course needs the network again.

macOS users: one extra step before Week 5

XGBoost will not import on macOS without the OpenMP runtime. Install it once with brew install libomp, then pip install xgboost. Do this before Lab 5 rather than during it.

New to Quarto? Start here

Setup and Quarto guide — installing Python, Quarto and an editor (VS Code or Positron), what a .qmd file is, and the four errors you will hit. Google Colab will not work — it cannot open .qmd files.

When something breaks later — a package that will not install, a render that fails, a lab that errors halfway — go to Troubleshooting first. It covers the failures this course actually produces.

You will also need: jupyter, pandas, numpy, matplotlib, statsmodels, scikit-learn, prophet, pygam, xgboost, torch, pymc, and arviz. jupyter is not optional — Quarto runs your Python through a Jupyter kernel. Assignment submission, the AI workflow, and the prompt log live in the course environment repository.

Weekly schedule

The sixteen teaching weeks, in order, with the lecture each one covers. There are no calendar dates here: those belong to a particular term and section, and a break week falls in a different place each semester. Enrolled students get the dated calendar — including breaks and due dates — from Canvas, where the week numbers match these.

Week 1Lecture 1
Introduction, Exponential Smoothing & Forecast Evaluation
Reading: FPP Ch. 1, Ch. 2, §5.1–5.10, Ch. 8
Assignment 1 Part 1 — due Week 2
Week 2Lecture 2Assignment 1 Part 1 due
ARIMA, VAR & Multivariate Models
Reading: FPP Ch. 9, §10.1–10.3, §10.6, §12.3
Assignment 1 Part 2 — due Week 3
Week 3Lecture 3Assignment 1 Part 2 due
Generalized Additive Models
Reading: FPP §7.4, §7.7, §12.1–12.2
Assignment 2 — due Week 4
Week 4Lecture 4Assignment 2 dueProject groups due
Decision Trees
Reading: ISLP §8.1
Week 5Lecture 5
Tree Ensembles — Random Forests & Boosted Trees
Reading: ISLP §8.2; XGBoost “Introduction to Boosted Trees”; FPP §12.4 (Python ed.) / §12.5 (R ed.) for the bagging intuition
Assignment 3 — due Week 6
Week 6Lecture 6Assignment 3 due
Regularization & Model Selection
Reading: ISLP Ch. 6; FPP §7.5
Assignment 4 — due Week 7
Week 7Lecture 7Assignment 4 due
Introduction to Neural Networks
Reading: FPP-Py §14.1–14.2, §14.4–14.5, §14.7 (Python edition only)
Week 8Lecture 8
CNN Architectures
Reading: FPP-Py §14.3
Assignment 5 Part 1 — due Week 9
Week 9Lecture 9 Part 1Assignment 5 Part 1 due
RNNs and LSTMs
Reading: FPP-Py §14.3, §14.6
Final project proposal due.
Week 10Lecture 9 Part 2
Transformers
Reading: FPP-Py Ch. 15
Assignment 5 Part 2 — due Week 11
Week 11Lecture 10Assignment 5 Part 2 due
Bayesian Statistics I — Foundations
Reading: BMCP Ch. 1 (inference, priors, prior predictive checks) and Ch. 2 (MCMC diagnostics); FPP §5.5, §5.9 for framing
Assignment 5 Part 3 — due Week 12
Week 12Lecture 11 Part 1Assignment 5 Part 3 due
Bayesian Statistics II — Time Series
Reading: BMCP §6.2, §6.4 (time series as regression; state space and Bayesian structural time series)
Assignment 6 Part 1 — due Week 13
Week 13Lecture 11 Part 2Assignment 6 Part 1 due
Bayesian Statistics II — Hierarchical Models
Reading: BMCP §4.5–4.6 (pooling, multilevel and hierarchical models)
Assignment 6 Part 2 — due Week 14
Not this: FPP Ch. 11 is also titled “hierarchical,” but it covers forecast reconciliation — a different topic from partial pooling.
Week 14Lecture 12Assignment 6 Part 2 due
Bayesian Statistics III — Bayesian Linear Regression
Reading: BMCP §3.2–3.3 (linear and multiple regression, counterfactuals); FPP Ch. 7 as the frequentist benchmark
Assignment 7 — due Week 15
Week 15Lecture 13Assignment 7 due
Synthesis — What the Semester Measured
Reading: FPP Ch. 13
No lab this week. The session is the course synthesis and project work time.
Week 16
Final project presentations
The final project report is due after the presentations.

Assignments

AssignmentCoversDuePrompts
Assignment 1, Part 1 Exponential smoothing, forecast evaluation Week 24
Assignment 1, Part 2 ARIMA, VAR, Granger causality Week 38
Assignment 2 Prophet, pyGAM, component decomposition Week 410
Assignment 3 Decision trees, random forests, feature importance Week 612
Assignment 4 XGBoost tuning, LASSO paths, Elastic Net Week 712
Assignment 5, Part 1 Windowing datasets, FFN, 1D CNN Week 99
Assignment 5, Part 2 RNN, LSTM, Transformer, positional encoding Week 1110
Assignment 5, Part 3 Five-architecture comparison and reflection Week 123
Assignment 6, Part 1 Beta-Binomial, prior predictive, structural TS Week 1310
Assignment 6, Part 2 Exchangeability, pooling, shrinkage, divergences Week 149
Assignment 7 DAGs, Bayesian regression, ROPE, scenarios Week 1516
Each assignment has a prompt budget

Every assignment carries a prompt budget and an initial context prompt that does not count against it. Any AI assistant is fine — ChatGPT, Claude, Gemini, Copilot — in an editor or a browser tab. UNO's ChatGPT Edu workspace does not include Codex, so nothing here requires it. You submit a PROMPT_LOG.md alongside your rendered work, listing every prompt you sent in order.

The budget is a target, not a limit. It exists to make you decide what is worth asking, and you may go over it — log the extra prompts and say where you got stuck. What does cost you is a log that does not match the work you submit.

The course as a book

Every lecture, in one continuous document you can read, search and quote from — the slides and what was said about them, assembled into fifteen numbered chapters. Useful for revision, for reading ahead, and for finding the lecture where a method was introduced without opening five decks.

Read the book →

The labs and assignments as a workbook

The companion volume: all fourteen labs and eleven assignments in one searchable document. Code is shown rather than run, so it opens instantly — each lab links to its executable version for when you are actually working. Every step carries a collapsible walkthrough of what was said about it in class, and every lab ends with the output your own run should produce.

Open the workbook →

It is generated, not written separately

The book is assembled from the decks themselves, so a table, figure or number in it cannot disagree with the lecture it came from. If a deck is corrected, the book carries the correction the next time it is built.