Review Publically — Header (standalone)
AI in Data Science Workflows: What to Trust, What to Verify
📊 Data Science

AI in Data Science Workflows: What to Trust, What to Verify

Data science projects rarely begin with a clean dataset and a perfectly defined question. Coding assistants and generative AI tools can now draft a SQL query, explain a Python function, or generate documentation in seconds. But an AI-generated answer is not automatically a correct one, and this piece follows one worked example from question to model to show exactly where that gap shows up.

AI tools in data science workflows: SQL, Python, and human review
by Mariam Jabbar Published Aug 26, 2026 🕐 10 min read

Quick Answer: What Does AI Actually Get Right in Data Science?

▶ Direct Answer

AI tools in data science workflows are genuinely useful for a first draft: SQL queries, Python cleaning code, documentation, exploratory questions. They are not automatically correct. A worked customer-retention example below shows an AI-generated one-line calculation that ran without a single error and still measured the wrong business metric. The safe pattern is Ask, Review, Test, Validate, Document, treating AI as an assistant inside the workflow, not the final decision-maker.

5
steps in the Ask → Review → Test → Validate → Document loop
Covered in "Where AI helps with Python and ML"
0
errors thrown by the AI-generated line that still got the metric wrong
See "The AI-generated error"
7
best practices for AI-assisted data science
See "Best practices"

The Query That Ran Perfectly

A data analyst asks an AI assistant to calculate average revenue per customer. The code runs. No errors, no red text, no crash. The number even looks reasonable.

It's also wrong, because the dataset has one row per order, not one row per customer, and the AI had no way of knowing that distinction mattered to this particular business question. This is the shape of nearly every real risk in AI-assisted data science. Not a crash, but a plausible number that quietly measures the wrong thing.

A Worked Example: Investigating Customer Retention

Imagine an e-commerce company wants to answer a simple business question: which customers are becoming inactive, and what patterns appear before they stop purchasing? The company has several tables: customers, orders, products, and customer_support.

A data scientist might begin by defining a measurable version of "inactive," for example, a customer who hasn't placed an order in the last 90 days. Before using any AI tool, the analyst needs to pin down that business definition. AI cannot reliably decide this on its own, because the right threshold depends on the company's business model, purchasing cycle, and retention strategy. Once the definition is clear, AI can help accelerate the technical work that follows.

Drafting the SQL Query

An analyst might ask an AI coding assistant to write a query identifying customers who ordered before but not in the last 90 days. A reasonable starting point:

SELECT
    c.customer_id,
    c.customer_name,
    MAX(o.order_date) AS last_order_date
FROM customers c
JOIN orders o
    ON c.customer_id = o.customer_id
GROUP BY
    c.customer_id,
    c.customer_name
HAVING MAX(o.order_date) < CURRENT_DATE - INTERVAL '90 days';

This is a useful starting point, not a production-ready query. Several questions still need checking:

  • Does the database use this exact date syntax?
  • Should cancelled orders be included?
  • Are test customers present in the table?
  • Does the company define inactivity as exactly 90 days?
  • Are there customers with no valid orders at all?

The assistant can generate syntax, but it doesn't automatically understand the business rules behind the data. A query can run successfully and still answer the wrong question.

Cleaning the Data in Python

After extracting the data, the analyst works with it in Python. Suppose the dataset has duplicate customer records and missing values in last_order_date:

import pandas as pd

df = pd.read_csv("customer_activity.csv")

# Check the dataset
print(df.info())
print(df.isnull().sum())

# Remove duplicate rows
df = df.drop_duplicates()

# Convert the date column
df["last_order_date"] = pd.to_datetime(
    df["last_order_date"],
    errors="coerce"
)

# Check missing values again
print(df.isnull().sum())

An AI assistant can generate code like this quickly, and explain what errors="coerce" does. But automatically removing duplicates may be wrong if two rows represent genuinely separate transactions that happen to look similar, and converting invalid dates to missing values can hide a real data-quality problem instead of fixing one. The analyst needs to investigate why the values are invalid, not just make the error disappear.

The AI-Generated Error

Consider an analyst who asks an AI assistant to calculate the average revenue per customer. The assistant produces:

# What the AI assistant produced first
average_revenue = df["revenue"].mean()

The code is syntactically valid. It may not answer the intended question. If the dataset has one row per order rather than one row per customer, this line calculates average revenue per order, not per customer. A better approach:

customer_revenue = (
    df.groupby("customer_id")["revenue"]
      .sum()
)

average_revenue = customer_revenue.mean()

print(average_revenue)
Why this matters

The first answer looked reasonable and executed without a single error, and it still produced the wrong metric. A data professional catches this by asking what each row represents, what level of aggregation the business question requires, and whether the result can be independently verified. AI can write the code. Understanding the data remains a human responsibility.

Want more breakdowns like this one?

Mark Review Publically as a preferred source to see more deep dives like this, prioritized in your Google results and Discover feed.

Exploring the Data

Exploratory data analysis helps analysts understand a dataset before drawing conclusions. For this example, useful questions might include which customer segments have the highest inactivity rate, whether inactivity increases after a pricing change, and whether inactive customers are more likely to have unresolved support issues. AI can help generate a list of possible questions and an initial visualization:

import matplotlib.pyplot as plt

regional_activity = (
    df.groupby("region")["is_active"]
      .mean()
      .sort_values()
)

regional_activity.plot(kind="bar")
plt.title("Average Customer Activity by Region")
plt.xlabel("Region")
plt.ylabel("Activity Rate")
plt.show()

The chart itself isn't the final analysis. The analyst still has to ask whether the comparison is fair. One region might have a handful of customers while another has thousands, and a percentage without the underlying sample size can be misleading. AI can generate the visualization; interpreting it takes statistical and business judgment. For a deeper look at building charts like this one, see our guide to data visualization in Python.

Where AI Helps With Python and Machine Learning Work

Python is widely used for data preparation, analysis, and automation, and AI coding assistants are genuinely useful for explaining unfamiliar functions, generating repetitive cleaning code, writing unit-test ideas, spotting possible syntax errors, converting logic between languages, and drafting comments and documentation. Our Python for Data Science guide covers the fundamentals these assistants build on top of.

A good workflow keeps a human in the loop at every stage:

Ask Review Test Validate Document

Instead of copying generated code directly into an important project, run it on an appropriate test dataset, inspect the output, and confirm the logic matches the actual requirement.

The same discipline applies to machine learning work. An AI assistant might suggest a baseline classifier for a churn model, and the analyst can compare performance using precision, recall, F1, or whatever metric fits the problem.

The important point

A model shouldn't be selected simply because an AI tool recommended it. The analyst still needs to consider what type of prediction is required, whether the dataset is representative, whether important features are missing, whether there's data leakage, which errors are most costly, and whether the model performs consistently across relevant groups. AI can speed up experimentation. It can't remove the need for proper evaluation.

Our SQL for Data Science guide covers the query fundamentals worth knowing before handing drafting work to an assistant.

Documentation Is Another Useful Area

Documentation often gets postponed during busy projects, and a data science project can accumulate SQL queries, Python scripts, notebooks, assumptions, and experiment results that become hard for another person to reproduce or review without notes. AI tools can draft a first version: summarizing a function, explaining a query, or turning technical notes into clearer prose.

That draft still needs review. If an AI tool misunderstands what a function actually does, inaccurate documentation becomes part of the permanent record. Good documentation describes what the code actually does, not what an AI system assumed it does.

Data Privacy and Security Considerations

Before sharing anything

A dataset can contain customer information, internal financial records, confidential business information, or credentials. Convenience should never override data protection requirements, so check your organization's data-handling policy before pasting anything into an external AI tool.

A safer approach generally includes:

  • Removing unnecessary identifying information
  • Using approved enterprise tools
  • Avoiding sharing passwords, credentials, or confidential data
  • Following organizational data-governance policies
  • Using synthetic or anonymized examples when possible

Best Practices for AI-Assisted Data Science

1

Use AI for a first draft, not the final decision

AI can generate a useful starting point for code, documentation, or exploratory questions. The final decision should rest on verified evidence.

2

Understand the data before trusting the output

Before accepting a generated query or calculation, check what each row represents, what the columns mean, and whether the output matches the business question.

3

Test generated code

Run the code and inspect the result. Compare it with a manually verified calculation or a small test dataset where possible.

4

Check for logical errors

Code doesn't need to crash to be wrong. A successful program can still calculate the wrong metric or apply the wrong business rule.

5

Protect sensitive information

Don't assume every dataset can safely go into every AI tool. Follow applicable organizational and data-governance requirements.

6

Maintain reproducibility

Track data sources, code versions, assumptions, transformations, and analytical decisions so important work can be reviewed independently.

7

Keep human accountability

AI can assist with the work. The analyst remains responsible for validating conclusions and communicating limitations.

Frequently Asked Questions

Can AI write accurate SQL queries for data analysis?

It can produce syntactically valid SQL quickly, but accuracy depends on business context it doesn't automatically have, like whether cancelled orders should count or how the company defines an inactive customer. Those need human input before the query is trusted.

Why does AI-generated code sometimes give the wrong answer even when it runs?

Code can be syntactically correct and still measure the wrong thing, for example calculating an average across rows when the business question actually requires averaging across customers first. The program executes cleanly either way, so the error is silent rather than a crash.

Should data scientists trust AI-generated code without review?

No. AI-generated code is a useful first draft, not a final decision. It should be reviewed, tested on real data, and validated against the actual business question before it's used for anything important.

How do you review AI-generated Python and SQL code?

Check what each row and column actually represents, run the code on a test dataset, compare the result to an independently verified calculation where possible, and confirm the logic matches the level of aggregation the business question requires.

Is it safe to share company data with AI tools?

Not by default. Datasets can contain customer information, credentials, or confidential business data, so organizations should remove unnecessary identifying information, use approved enterprise tools, and follow their own data-governance policies before sharing anything with an external AI service.

What is the biggest risk of using AI in data science?

Treating a plausible-looking, error-free result as automatically correct. AI can accelerate drafting code and documentation, but understanding the data and validating the output remains a human responsibility.

The Real Change Is in How Work Is Distributed

The most useful impact of AI in data science may not be complete automation. Instead, it can reduce time spent on repetitive activity: writing boilerplate code, explaining common errors, generating initial documentation, drafting routine SQL. That can free data professionals to spend more time on work that needs deeper judgment: defining the right business question, understanding data quality, testing assumptions, investigating unexpected results, and communicating uncertainty.

The practical examples above point to one limitation worth remembering: AI-generated code can be technically valid while still answering the wrong question. The most effective approach isn't to treat AI as an automatic source of truth. It's to use it as a productivity assistant inside a workflow that still includes human review, testing, domain knowledge, and accountability.