ISOM 835 · SESSION 1
Suffolk University · Sawyer Business School · Fall 2026

ISOM 835: Predictive Analytics
& Machine Learning

Session 1 — From Data to Decisions: Your First Predictive Model

Prof. Hasan Arslan · Mondays 5:00–7:30 PM
The premise

Every business question about the future
is a prediction problem

Telecom
Who churns next month?

Score every customer; offer retention to the right ones.

Lending
Who defaults?

Approve, price, or decline — with an expected loss attached.

Retail
How many units next week?

Stock the shelf, staff the store, book the truck.

Real estate
What is this house worth?

A list price with an honest error bar.

Payments
Is this transaction fraud?

Block, review, or approve in 50 ms.

Healthcare
Who misses the appointment?

Overbook the slot, call the patient.

Why this matters

Two numbers to carry all semester

Netflix · churn
$1B+ / year

What Netflix's research group credits its recommendation models with saving in reduced churn. A churn model, at planetary scale.

Stripe · fraud
~1/3 less fraud

What Stripe reports its Radar models remove for the average business. Every decision: a threshold on a probability, in about 100 ms.

Neither is a better algorithm. Both are a good model plus a decision rule nobody skipped.

The analytics map

Where this course sits

Descriptive
What happened?

Dashboards, reports, churn rate by region last quarter.

Predictive · ISOM 835
What will happen — and to whom?

A probability or a number for every unit, next month. This course.

Prescriptive · ISOM 839
What should we do?

Optimize the decision the prediction feeds: budgets, schedules, prices.

A prediction is only valuable when a decision changes because of it.

The prediction lifecycle

Seven steps, one loop

Frame Data Features Model Evaluate Decide Monitor models rot — retrain, re-frame, repeat

Netflix, Capital One, and your local hospital all run the same loop. Only the data changes.

Step one: frame it

Four lines before you touch a keyboard

Unit
One row = one what?

Tonight: one customer.

Target
What are we predicting?

Churn — did they leave? Yes / No.

Horizon
How far ahead?

Next month.

Decision
What changes if we're right?

Who gets the retention offer.

Meet the data · IBM Telco Customer Churn

7,043 customers · 21 columns · 26.5% churned

42.7%Month-to-month
11.3%One year
2.8%Two year

Churn rate by contract type. The signal is already visible — before any model.

Your first model

Twelve lines of Python

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression

df = pd.read_csv('…/telco_churn.csv')
X = pd.get_dummies(df[['tenure', 'MonthlyCharges', 'Contract']], drop_first=True)
y = (df['Churn'] == 'Yes').astype(int)

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, stratify=y, random_state=835)   # the most important line

model = LogisticRegression(max_iter=1000).fit(X_train, y_train)
pred  = model.predict(X_test)                            # customers it has never seen
Why hold out data

Train on 5,634 · Test on 1,409

Training set · 80%
The model learns here

Coefficients are fit to these customers only.

Test set · 20%
The model is judged here

Customers it has never seen. Its score here is a forecast of next month, not a memory of last month.

stratify=y keeps the churn rate identical in both halves — 26.5% on each side.

The result
79.1%

model accuracy

73.5%

"nobody churns" baseline

0.83

ROC-AUC

Is 79% good?

The confusion matrix

Four cells, four business meanings

predicted: stayspredicted: churns
actually stays914 · left alone, correctly121 · wasted offer
actually churns173 · missed — customer lost201 · caught

The model catches 201 of 374 churners — 54%. Accuracy never told you that.

Why accuracy lies

Three questions for any accuracy number

Preview · Session 6

The same model, a different cutoff,
tens of thousands more in profit

predict() at 0.5
201 caught · 173 missed

Nobody chose 0.5. It assumes both mistakes cost the same.

threshold ≈ 0.1
most churners caught

More offers sent, far fewer $1,500 customers lost. The arithmetic picks the cutoff.

The semester

Nine modules, thirteen Mondays

S1 · Sep 14Foundationsfirst model, why accuracy lies
S2–3 · Sep 21, 28Data & Featureswrangling, leakage, pipelines
S4 · Oct 5Regressionprices, ridge & lasso
S5–6 · Oct 19, 26Classification & Decisionsodds, ROC, thresholds, profit
S7–8 · Nov 2, 9Trees & Ensemblesforests, boosting, TabPFN
S9 · Nov 16TrustCV, SHAP, conformal, fairness
S10 · Nov 23Unsupervisedsegments, PCA, anomalies
S11–12 · Nov 30, Dec 7Time & Textforecasting, embeddings, LLMs
S13 · Dec 14Finaleship it + presentations

No class Mon Oct 12 (October Break). Session 13 meets in the exam-week slot.

How you'll be graded

No final exam — the project is the final

15%
Participation & labs

Every session has a live notebook.

25%
Five homeworks

Python notebooks on real data.

20%
Midterm Model Competition

Kaggle-style, teams of 2–3, launches Oct 26.

40%
Your Prediction Story

Notebook + 2-page memo + 8-min talk, Dec 14.

Tools

Nothing to install

Before next Monday · nothing to submit

Three things before next Monday

ISOM 835

Find the signal.

Next Monday: data wrangling, EDA, and the anatomy of leakage.