You already have a SQL check list that keeps AI-written queries from embarrassing you. Then a chart needs a redesign, a Python notebook needs a cleaning step, and a stakeholder wants “two bullets and a confident subject line by 4 p.m.” The model helps all three. The failure mode is the same: speed without a personal ops system. This part is not more theory. It is a board you can run every week so AI stays an assistant and never quietly becomes the owner of your numbers, your plots, or your reputation in email.
This is Part 9 of Practical AI for analytics people, and the close of the series. Parts 1 through 8 covered capability limits, tokens and cost, prompt patterns, human evals, RAG, agents and harnesses, paste privacy, and dictionary draft-then-verify. Here we expand the AI-SQL habits you already know from How to Check AI-Written SQL Before You Ship It into charts, Python, and stakeholder email, then recap the whole arc and point you back to the craft stack on the Learn hub.
What you’ll learn
- A personal AI ops checklist board for SQL, charts, Python, and email
- How to reuse one verification mindset across deliverable types
- A fifteen-minute weekly hygiene pass that prevents tool sprawl and paste drift
- When to refuse AI help and do the work by hand
- A full recap of Parts 1 through 9 and next steps on AMS
One mindset, four surfaces
Whether the artifact is a query, a figure, a notebook, or a message, the same spine holds:
- Purpose: what decision or obligation does this serve?
- Constraints: grain, time window, policy, audience, tool path.
- Draft: let AI accelerate typing and options.
- Verify: human checks against reality, not vibes.
- Ship with ownership: your name is on the number, plot, or sentence.
Parts 1 and 4 already said assist, do not replace liability. Part 9 is how that looks in the calendar.

SQL lane (refresh the classic checklist)
Keep the AI SQL post as your deep guide. For the personal board, compress to five gates you never skip:
| Gate | Question | Fail signal |
|---|---|---|
| Grain | One row means what? | You cannot finish the sentence |
| Joins | Every join type justified? | Unexpected row fan-out |
| Filters | Tenant, date, status present? | Open-ended prod scans |
| Names | Tables and columns exist? | Invented fields in the draft |
| Reconcile | Small window matches a known number? | “Looks fine” without comparison |
Prompt habit from Part 3 still wins: show SQL first, explain second, refuse hallucinated columns. Privacy from Part 7: schema and synthetic samples in unapproved tools.
-- Pre-ship micro check (keep next to the AI draft)
-- 1) Grain uniqueness on the business key
-- 2) One-day totals vs trusted dashboard
SELECT COUNT(*) AS rows_n,
COUNT(DISTINCT order_id) AS orders_n,
ROUND(SUM(amount), 2) AS revenue
FROM analytics.certified.weekly_order_facts
WHERE week_end_date = DATE '2026-02-28';Charts lane
AI is good at suggesting chart types and writing plotting code. It is also good at chart crimes with confidence: truncated axes, rainbow heatmaps, dual axes that lie, pies with twelve slices. Your board gates:
- Purpose first: explore vs explain (different clutter budgets).
- Encoding honest: magnitudes on bars start at zero unless you label a rare exception; lines show scale clearly.
- Color with meaning: not decoration noise; accessible enough for your audience.
- Annotation for the takeaway: a title that states the point, not “Chart 1.”
- Data source note: grain, window, and exclusions visible to the reader or in the appendix.
- No secret pastes: synthetic series for redesign help when prod labels are personal.
When AI returns matplotlib or BI steps, run the code or rebuild the chart and ask: would this pass the visualization series bar for honesty? If the model proposes dual axis “to show both stories,” treat that as a smell, not a gift.
# Chart self-check prompt add-on
Before plotting, restate:
- question the chart answers in one sentence
- x encoding, y encoding, mark type
- what would make this misleading
Refuse dual axes unless I explicitly allow them.
Use the synthetic table I provide; do not invent series names from my company.Python lane
Notebooks are where AI shines and where silent bugs hide: wrong join keys, fillna that invents zeros, groupbys that change grain, paths that only work on the author’s machine. Gates:
| Gate | What you do | Pass criteria |
|---|---|---|
| Inputs | Print shape, dtypes, head on real load | Matches expectations before transforms |
| Grain | Assert uniqueness on business keys after merges | No silent fan-out |
| Missingness | Count nulls before/after fill | Fills are intentional and documented |
| Reproducibility | Pin versions or note environment | Someone else can re-run the idea |
| Side effects | No unreviewed writes to prod paths | Exports go to sandbox first |
| Secrets | No keys in notebooks or prompts | Env vars / secret store only |
# Minimal post-AI merge guard
import pandas as pd
left = pd.read_csv("synthetic_orders.csv")
right = pd.read_csv("synthetic_customers.csv")
before = len(left)
merged = left.merge(right, on="customer_id", how="left", validate="m:1")
after = len(merged)
assert after == before, f"fan-out: {before} -> {after}"
assert merged["customer_id"].isna().mean() < 0.05, "too many unmatched customers"
print("merge gate passed", after)If the model wrote the merge, you still own the assert. Part 6’s harness idea applies in miniature: tools and code run with checks, not blind trust.
Stakeholder email lane
This is where good analysts get sloppy because the prose is “just communication.” AI-written updates can invent certainty, bury uncertainty, or restate a wrong number fluently. Gates:
- Number provenance: every headline metric traces to a query, dashboard, or notebook cell you ran.
- Time window explicit: “week ending 28 Feb” beats “recently.”
- Uncertainty labeled: partial weeks, known pipeline delays, definition caveats.
- Ask is clear: what you need from the reader (decision, awareness, unblock).
- No sensitive rows in the thread: aggregates and links to controlled tools, not CSV dumps in email.
- Tone is yours: edit out hype and fake precision (“precisely 12.473%” when the process is noisy).
# Stakeholder update skeleton (AI may draft; you fill numbers)
Subject: Weekly net revenue (week ending 2026-02-28): needs Finance glance on refunds
Body:
1) Headline: net revenue $X (vs $Y prior week, Z%)
2) Drivers: top 2 regions / products with sources
3) Caveats: refunds pipeline delayed 4h Monday; final may move ±0.5%
4) Ask: confirm we still exclude test orders from board pack
5) Links: certified dashboard + dictionary card (not a personal extract)
Numbers source: analytics.certified.weekly_order_facts, run 2026-03-02 09:10 by me
AI used: draft wording only; figures entered by hand from queryYes, the subject line above uses a plain hyphen in the date sense only as punctuation people type daily. The point is ownership metadata: AI drafted words, you typed figures from a run you can defend.
Cross-cutting gates (every lane)
Pin these above the four lanes on your board:
- Tool path approved? Consumer vs enterprise vs internal (Part 7).
- Paste form safe? Schema, synthetic, aggregate, or stop.
- Eval tiny? One golden check or spot-check before scale (Part 4).
- Agent allowed? If tools can write or send, human-in-the-loop for side effects (Part 6).
- Docs updated? If the work changes a certified definition, dictionary verify (Part 8).
Weekly AI hygiene (fifteen minutes)
Daily gates catch bad artifacts. Weekly hygiene catches process drift: new tools, old pastes, rotting golden sets.

| Minute block | Action | Done when |
|---|---|---|
| 0 to 3 | List AI tools you used this week for work | Each has approved/unknown status |
| 3 to 6 | Scan for risky pastes (memory + chat history policy allows) | Deletes or escalations noted |
| 6 to 9 | Re-run one golden SQL or Python check from your set of 10 | Pass/fail logged |
| 9 to 12 | Update one dictionary card or do-not-use rule if anything changed | last_reviewed bumped or N/A |
| 12 to 15 | Pick one improvement for next week (prompt template, assert, chart rule) | Single sticky note, not a manifesto |
# Weekly AI hygiene log (keep in team wiki)
week_of: 2026-03-02
tools_used: [company_enterprise_chat, local_notebook]
unknown_tools: []
risky_pastes_found: 0
golden_check: weekly_net_revenue_2026-02-28 (pass)
dict_updates: none
next_week_focus: "add merge validate=m:1 to churn notebook template"
notes: "refused dual-axis suggestion on exec chart"When to refuse AI help
Checklists are not a command to use AI for everything. Refuse or go offline when:
- The only way to prompt is pasting disallowed data.
- You cannot explain the method if challenged in five minutes.
- The task is a production write, access grant, or legal determination.
- You are too tired to verify and the deadline is political, not real.
- The model keeps inventing schema after two corrections (fix the source context, not the hope).
Refusal is a senior habit. Speed that creates rework or incidents is not speed.
Worked day: one checklist, four artifacts
Morning: AI drafts SQL for regional net revenue. You pass grain, filters, reconcile. Midday: AI suggests a bar chart; you reject a truncated axis, ship a zero-baseline chart with source note. Afternoon: AI sketches pandas to attach plan tier; you assert merge fan-out and export to sandbox only. End of day: AI drafts the stakeholder email; you overwrite every number from the morning query, add the refund caveat, send.
Same spine four times. Different surface checks. That is personal AI ops.
Common mistakes
| Mistake | Why it hurts | Better habit |
|---|---|---|
| SQL checklist only | Bugs move to charts and email | Four-lane board |
| No weekly hygiene | Tool sprawl and paste drift | Fifteen-minute Friday |
| AI numbers in email | Fluent wrong headlines | Hand-entered figures from runs |
| Skipping asserts in Python | Silent join fan-out | validate and count gates |
| Chart cosmetics over honesty | Pretty misleading decks | Encoding and axis checks first |
| Never refusing | Policy and quality failures | Stop rules on the board |
How to practice this week
- Copy the four-lane board into your notes app. Keep it open for five workdays.
- Build a golden set of 10 prompts/checks (mix SQL, one chart, one Python, one email skeleton).
- Run the fifteen-minute hygiene once. Log it even if everything passes.
- Share the board with one teammate. Align on tool paths and paste rules.
- Pick one cross-link: update a dictionary card (Part 8) or a stewardship intake habit (H6) that AI work touched.
Quick recap (this part)
- Personal AI ops is purpose → constraints → draft → verify → own.
- Expand SQL gates to charts, Python, and stakeholder email.
- Cross-cutting: approved tools, safe pastes, tiny evals, human side effects, docs when meaning changes.
- Fifteen minutes weekly prevents drift.
- Refusal is part of the system.
Series recap: Practical AI for analytics people (I1 to I9)
This series is the practice layer of AI for people who already ship analysis. Background vocabulary still lives in older AMS posts on LLMs and vectors. The arc below is the Monday system.
| Part | Focus | Monday habit |
|---|---|---|
| I1 | What AI can and cannot do for analysis; assist vs replace; liability for numbers | State what the model is allowed to draft vs what you must own |
| I2 | Tokens, context windows, cost intuition | Prefer small relevant context; chunk long pastes; watch cost |
| I3 | Prompt patterns for data work | Specs, constraints, SQL-then-explain, refuse invented columns |
| I4 | Evals for humans | Spot-checks, golden questions, a regression set of about 10 prompts |
| I5 | RAG in plain English | Retrieve the right docs; do not pretend the model memorized your wiki |
| I6 | Agents, tools, harnesses | Guardrails, least privilege tools, human-in-the-loop for side effects |
| I7 | Privacy when pasting into chat tools | Never list, risk ladder, synthetic samples, pre-paste card |
| I8 | AI for documentation and data dictionaries | Draft then verify; no certified fiction |
| I9 | Personal AI checklist (ops) | Four-lane board + weekly hygiene |
If you only remember five lines from the whole series:
- AI drafts; you own numbers, plots, and messages.
- Small, structured context beats giant pastes (for quality, cost, and privacy).
- Evals and golden checks beat one-off “looks good.”
- Agents need harnesses; pastes need ladders; dictionaries need human verify.
- A personal ops board keeps the habits alive after the excitement fades.
Where to go next
You do not need another nine parts to start. You need the board, the SQL check post, and the craft stack underneath AI.
- Learn hub for the full path map across SQL, Python, quality, metrics, pipelines, stewardship, and AI
- How to Check AI-Written SQL Before You Ship It for the original query gates
- Data stewardship at work for privacy, access, and Legal/Security habits that make Part 7 real
- Data quality for checks that catch bad drafts before stakeholders do
- Metrics that matter for definitions worth putting in dictionary cards
- What are LLMs? and Vector databases for background vocabulary (RAG’s cousins)
Optional standalones that may follow this series later: choosing a model for work (latency, cost, policy), and multimodal briefly (charts and screenshots into models, with the same paste risks). Until those exist, the I1 to I9 board is enough to work safely and usefully.
Practical AI for analytics people is not about becoming a prompt wizard. It is about keeping judgment while machines type faster. Run the board. Verify the outputs. Protect the people in your data. Publish definitions only after they are true. That is the series. That is the job.
Sources
Research and further reading used for this article:
- NIST AI Risk Management Framework (govern, map, measure, manage as an ops mindset for AI use)
- NIST AI RMF 1.0 publication (core structure for organizational AI risk practices)
- OWASP Top 10 for Large Language Model Applications (overreliance, sensitive disclosure, excessive agency; design stop rules accordingly)
- NIST Privacy Framework (privacy risk outcomes that weekly hygiene and paste rules support)
- IAPP: Glossary of privacy terms (shared language when ops checklists mention personal data)
- EUR-Lex: GDPR official text (high-level personal data principles; not a substitute for counsel)
- ISO/IEC 42001:2023 AI management systems (organizational AI management system concepts for teams that need program language)
- Analytics Made Simple: How to Check AI-Written SQL
- Analytics Made Simple: Learn
- Analytics Made Simple: Data stewardship at work
- Analytics Made Simple: Data quality
Keep going
Same lessons in your feed
Short diagrams and hooks on Instagram, X, and Facebook.
