AI Hints
Home›MLOps Tutorial›Alerts, Dashboards, Slices
MLOps · Lesson 79 of 80

Model Dashboards

One screen of truth.

⏱ 2 min read▶ Video at 3:02:27🎓 Free
Watch this lesson in the MLOps courseWatch on YouTube ↗Full MLOps course

When something seems wrong with a model, people ask, can you show me? A good dashboard answers that in seconds. It puts the few numbers that matter on one screen, with thresholds drawn in, so that anyone can tell, at a glance, whether the model is healthy. Let's build one, with real code, and see what belongs on it.

Model Dashboards
From the video: Model Dashboards
  • Can you show me?
  • A few numbers, one screen
  • Thresholds drawn in

A health dashboard in code

Here is a small dashboard, drawn with code. Two panels share a time axis, the weeks. The top panel plots the model's accuracy, with the alert threshold as a dashed line. The bottom panel shows the drift score of the charges feature, as bars, coloured green while it is low, and orange once it passes the limit. The picture tells the story at once. In week four, drift starts to climb. Accuracy follows, and, from week five, it falls below the threshold. Drift gave the early warning, and accuracy confirmed the damage.

dashboard.pypython
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt

weeks = list(range(1, 9))
accuracy = [0.88, 0.87, 0.87, 0.81, 0.73, 0.65, 0.63, 0.62]
psi = [0.01, 0.02, 0.02, 0.18, 0.42, 0.66, 0.70, 0.71]

fig, (top, bottom) = plt.subplots(2, 1, figsize=(9, 6), sharex=True)
top.plot(weeks, accuracy, marker="o", color="#19c3a6")
top.axhline(0.80, color="#ff5c8a", linestyle="--", label="alert threshold")
top.set_ylabel("accuracy")
top.set_title("Churn model: weekly health")
top.legend()
bottom.bar(weeks, psi, color=["#19c3a6" if v < 0.25 else "#ffb86b" for v in psi])
bottom.axhline(0.25, color="#ff5c8a", linestyle="--")
bottom.set_ylabel("PSI of charges")
bottom.set_xlabel("week")
plt.tight_layout()
plt.savefig("dashboard.png", dpi=110)
print("saved dashboard.png")
Output
saved dashboard.png

What belongs on the dashboard

What should such a dashboard contain? The service layer, request rate, errors, and latency percentiles. The data layer, drift scores for the key features, and the share of missing values. The model layer, prediction distribution, and, when labels arrive, accuracy or F one over time. The business layer, the outcome the model exists to improve. And the freshness of data, and of the model, in days. Keep it to one screen. A dashboard that needs scrolling, is a report, not a dashboard.

LayerPanels
Servicerequests, errors, p50 and p99 latency
Datadrift per key feature, missing values
Modelprediction mix, accuracy over time
Businessthe outcome the model serves
Freshnessage of data and of the model

Summary

Wonderful. A good dashboard fits one screen, shows service, data, model, and business health, and draws the thresholds in. Drift gives early warning, and quality confirms damage. One more habit, checking quality not only overall, but in slices.

Key takeaways
  • One screen, four layers
  • Thresholds drawn on charts
  • Drift warns, accuracy confirms
Next up: Slice-Based Evaluation — averages hide problems