What AI Is Actually Good At (and What It Is Not)
Let me be direct about the split, because it saves you hours. AI assistants are excellent at generating code, explaining a function you do not recognize, and writing the skeleton of a report. They are unreliable at arithmetic, at remembering the exact structure of your data, and at anything where one wrong assumption silently corrupts the result. The practical rule I use: AI for the writing and the code, you for the checking and the decisions. That single rule keeps you fast without letting the machine quietly ship you wrong numbers.
The other thing to know: the free tools and the paid tools use different models with different strengths. ChatGPT and Claude are strong at reasoning through a messy prompt. Copilot is convenient because it lives inside Excel and VS Code. For data work I would not over-index on which one is 'best.' The workflow in this guide works on all three. What matters is how you structure your prompts and how you verify the output, not the brand.
A warning before we start: never paste confidential or customer data into a public AI tool. If your company has a policy against it, respect that — many do. Use anonymized sample data when you are testing a prompt, and only run the final version on real data if your employer allows it. This is not paranoia; it is a compliance issue you can lose a job over.
Step 1: Prepare Your Data Before You Touch an AI
The single biggest mistake I see people make is dumping a raw, messy spreadsheet into an AI and expecting magic. It does not work. AI models read text, and a spreadsheet full of merged cells, blank rows, and weird column names is just noise to them. Ten minutes of cleanup before you start makes every prompt you write ten times more useful.
Open your spreadsheet and do a quick pass: remove blank rows and columns, unmerge any merged cells, and make sure every column has a clear header in row 1. Then File > Save As > CSV. A single clean CSV is the most reliable thing you can hand to any AI tool. If you have multiple tabs, save each relevant table as its own CSV — mixing them confuses the model.
For ChatGPT and Claude, uploading the CSV works, but a screenshot of the first 20 rows with headers is often clearer because the model can 'see' the structure and the formatting. For large files, never upload the whole thing. Upload a 50-row sample plus a one-line description of what the full file contains. This keeps the context clean and the answer fast.
Before you ask anything, describe your data in plain English: 'This is a sales log with columns OrderID, CustomerID, Amount, Region, OrderDate. Each row is one order. Amount is in USD. There are no missing values in these columns.' This brief is the difference between a vague guess and a precise answer. I always write this first; it forces me to understand my own data before I ask for help.
If you work in Excel and want the AI to see the live table instead of a CSV, Copilot can reference the table directly. The tradeoff is that Copilot is weaker at complex multi-step reasoning than ChatGPT or Claude. My advice: use Copilot for 'format this column' and 'write a formula for this' tasks, and use ChatGPT or Claude for 'here is my problem, design the approach' tasks. Different tools, different strengths.
Step 2: Write Prompts That Actually Get Useful Answers
Most people write prompts like 'analyze my sales data.' That prompt returns a generic essay about how to analyze sales data — not an analysis of yours. The fix is to give the AI a role, a task, a constraint, and an output format. A good prompt is a mini-specification. It tells the AI what you have, what you want, and how you want it delivered.
Part one: give the AI its role ('You are a data analyst who writes clean, commented SQL'). Part two: describe the data ('I have a table called orders with columns order_id, amount, region, order_date'). Part three: state the task ('Write a query that shows revenue by region for the last 12 months'). Part four: specify output ('Return only the SQL, with a one-line comment at the top explaining what it does'). Four parts, in that order. It works every time.
Tell the AI exactly how you will use the answer. If you want SQL, say 'return only the SQL in a code block, no explanation.' If you want an Excel formula, say 'give me the formula and a plain-English description of what each argument does.' If you want a table of findings, say 'present the answer as a markdown table.' When you specify the format, you stop getting walls of text you have to dig through.
The first answer is often close but not right. That is normal. Instead of getting frustrated, reply with a correction: 'This query returns NULLs for regions with no orders — how do I handle that?' or 'Add a column for month-over-month growth.' The best data professionals treat AI like a very fast junior analyst: you still have to review, correct, and re-prompt until the output is right. Budget three to five rounds for anything non-trivial.
Save your best prompts. I keep a file called prompts.txt with my ten most-used templates — one for SQL by month, one for Excel formula explanations, one for cleaning a dataset. When you reuse a good prompt, you do not have to rebuild it from scratch every Monday. A small library of tested prompts is the highest-leverage thing you can build with AI tools.
Step 3: Use AI to Clean Data Faster (with Checks)
Data cleaning is the most tedious part of analysis and the part where AI genuinely saves the most time — because the patterns (duplicates, inconsistent casing, date formats) are repetitive and well-known. But cleaning is also where the biggest risk of silent corruption lives. An AI can rename a column or drop rows in a way that looks right and is subtly wrong. So the workflow is: let AI write the cleaning logic, but always verify the row count and the totals before and after.
Tell the AI exactly what is wrong: 'Column customer_email has mixed case and some entries with leading spaces. Column order_date is stored as text like 01/15/2024. Column amount has some entries with $ signs and commas.' Ask it to write a Python pandas script or an Excel formula sequence that fixes all of it. The more specific you are about the mess, the better the fix.
Before you run any cleaning, note the row count. A cleaned dataset should have the same number of rows unless you explicitly removed duplicates. If the AI's script drops rows you did not ask it to drop, that is a red flag — something is wrong. I run this check every single time. It catches the majority of silent data corruption in under a minute.
After cleaning, pick three columns the AI changed and eyeball 20 random values in each. Did the dates come out as actual dates? Did the amounts lose their decimal places? Did the email casing look consistent? This manual spot-check is your safety net. A common mistake is trusting the AI's summary — 'fixed all inconsistencies' — without checking that the fix is actually correct in the data.
When an AI writes a pandas cleaning script, always ask it to add assertions: 'assert df.shape[0] == 12000, "row count changed"' and 'assert df["amount"].notna().all()'. These assertions fail loudly if something breaks, instead of letting corrupted data flow silently into your analysis. This one habit has saved me from at least one embarrassing error a month.
Step 4: Write SQL with AI (Without Trusting It Blindly)
SQL is where AI shines the most for analysts, because SQL is a small, well-defined language and AI has seen millions of examples. You can describe a business question in plain English and get a working query back in seconds. The catch is that the query may be logically correct but wrong for your specific schema, your specific column names, or your specific business rules. You still have to read it and test it.

Instead of asking for 'a JOIN query,' describe what you need in business terms: 'I need monthly revenue for each region, including regions with zero revenue, from the orders and regions tables. Order by year and month.' The AI will translate that into the right query structure, including the LEFT JOIN you probably forgot you needed. Describing the business question is also a better check on whether you actually understand what you are asking.
The most common reason an AI query fails is that you described generic column names (id, name, total) but your real table has order_id, customer_name, amount_usd. Paste the actual schema: 'orders(order_id int, customer_id int, amount_usd decimal, region text, order_date date)'. When the AI sees real names, it writes real queries. When it sees generic names, it writes queries you have to rewrite by hand.
Never run an AI-generated query directly against your production database the first time. Run it against a copy, a test database, or a small sample first. Check the row counts and a few values. Does the revenue number look plausible? Does the date range look right? Only after it passes on the copy do you run it for real. This one rule prevents a lot of late-night 'did I just delete something?' calls.
A great verification trick: after the AI writes a query, ask it to explain, line by line, what the query does. If the explanation does not match what you intended, the query is wrong even if it runs. This forces you to actually understand the logic you are about to run, instead of blindly trusting a black box. I do this for any query that is longer than about ten lines.
For recurring reports, save the AI-generated query in your query library with a comment describing the business question it answers. Next month, when someone asks 'can we see this broken down by product too?', you have a tested starting point instead of starting from a blank editor. AI speeds up the first draft; your library is what makes it fast the tenth time.
Step 5: Use AI to Draft Reports and Summaries
The last big win is drafting the written output — the summary, the bullet points, the 'what changed and why' narrative that goes in front of the numbers. AI is excellent at this once you give it the actual findings. The key is to feed it your real numbers, not ask it to invent insights. You are the analyst who knows the story; AI is the writer who turns your bullet points into clean prose.
Before you open the AI, write five to eight bullet points of what the data actually showed: 'Revenue up 12% MoM in Q3, driven by the East region. Churn down 3 points after the pricing change. Conversion on the new checkout is 4.1% vs 3.2% before.' These are your facts. Do not ask AI to find insights in the data — that is how you get confident-sounding nonsense.
Paste your bullets and ask: 'Turn these into a two-paragraph executive summary for a non-technical audience. Keep the numbers, lead with the most important finding, and keep it under 150 words.' The AI will produce a clean draft you can edit. Editing a draft is much faster than writing from a blank page, and because you supplied the numbers, the AI cannot invent facts that are not there.
This is the critical step. Read the AI's draft and verify that every figure in it matches your original bullets. AI rewrites sometimes drop a number, round one oddly, or shift a comparison. I have caught '12%' becoming '20%' in an AI draft. Never skip this check. The draft is for language, not for facts — you own the numbers.
Tell the AI your audience. 'For the CFO, who cares about margin and cash' produces a different summary than 'for the marketing team, who cares about leads and conversion.' The same findings, two very different summaries. A one-line audience note is the cheapest way to make AI output sound like it was written by someone who knows your business.
Where AI Fails (and How to Catch It)
You need to know the failure modes so you can build your checks around them. I have seen all of these in real work, and they are the reason the workflow in this guide includes verification steps at every stage. The good news: every one of them is catchable if you check row counts, check a few values, and understand your own data.
AI models can produce a number that looks plausible and is simply wrong — a misread digit, a wrong formula, a rounding error. The fix is to never accept a calculated number from AI without running it yourself or verifying against a known total. If the AI says 'total revenue is $1.2M' and you know last quarter was $980K, that 22% jump is your signal to check the calculation.
When you ask for SQL, the AI might invent a column that does not exist in your schema — a common one is adding a 'category' column you never mentioned. The fix is the schema check from step 4: give it real column names and run the query on a copy. If the query fails because 'column does not exist,' that is the AI hallucinating, not your database being broken.
An AI cleaning script can drop rows, collapse duplicates, or reformat in a way that changes meaning. The fix is the row count check from step 3: compare before and after, and spot-check the columns AI touched. A cleaned file with the right row count and recognizable values is trustworthy; anything else needs investigation before you use it.
AI will confidently recommend a whole strategy ('you should focus all marketing on email') based on thin data. It does not know your business constraints. The fix is to treat AI recommendations as inputs to your judgment, not as decisions. Ask it for options and tradeoffs instead of a single 'best' answer, and make the call yourself with your business context.
Build a short verification checklist and run it before you share any AI-assisted output: (1) row counts match, (2) three columns spot-checked, (3) every number in the report matches your source bullets, (4) query ran on a copy first. Four checks, two minutes, and it catches the vast majority of AI-induced errors.
Putting It Together: Your 30-Minute AI Workflow
Here is the whole loop as a single repeatable process. This is what I run whenever I get a new dataset. It is not the fastest possible way to touch a file once; it is the way that is fast and safe to repeat fifty times without shipping a wrong number.
Describe the mess, get the cleaning script, run it, and check the row count stayed the same (or only dropped explicitly-removed duplicates). Spot-check the columns AI changed. Ten minutes.
Ask for summary stats and a few breakdowns. Run the numbers yourself in a pivot or a quick query to confirm the totals match. Ten minutes.
For the actual analysis (trends, comparisons, segment differences), ask AI for the approach and the code, then read the code and the logic. If it is SQL, explain it back to yourself. Five minutes.
Give the AI your real findings as bullets, get a draft, then verify every number survived. Add the audience note. Five minutes.
Time yourself the first few times. The cleanup and exploration steps shrink fast once you have your prompts saved and your checklist memorized. Within a week you should be moving through the whole loop in under 30 minutes for a standard file — and, more importantly, trusting the output, because you checked it.
What NOT to Automate with AI (Yet)
There are places where I deliberately keep AI out of the loop, and you should too. Not because AI is bad, but because the downside of a subtle error is too high. These are the judgment calls and the financial numbers where you want full control and full visibility.
For numbers that go to finance, to regulators, or into the official books, do the calculation yourself and use AI only for the narrative. The stakes of a wrong number in a financial report are too high to trust a model's arithmetic. I have seen it happen; the error gets caught eventually, but 'eventually' is not good enough when it is your name on the report.
Any operation that deletes, overwrites, or renames something in a system of record (a production database, a CRM, an HR system) should be done by a human review, not handed to an AI. A one-way change cannot be undone easily. If you let AI write the change script, that is fine — but you run it, and you back up first.
As we covered in step 1, never put personal data, customer records, or confidential company data into a public AI tool. Check your company's AI policy. If there is any doubt, use anonymized sample data for testing and keep the real data in your own tools. This is a hard line I do not cross, and neither should you.
The safe-use boundary is simple: AI for generating and drafting, you for deciding and verifying. Whenever the cost of a wrong answer is high (money, compliance, irreversible change), you stay in control. Whenever the cost of a wrong answer is low (a draft, a formatting fix, an exploratory query), let AI move fast.


