Prompt Library

ChatGPT Prompts for Data Analysts

30 copy-paste prompts

30 copy-paste prompts that turn ChatGPT into your SQL co-pilot, data-cleaning assistant, and reporting partner — across querying, analysis, visualization, and stakeholder comms.

In short: This page contains 30 copy-paste ready prompts, organized into 6 categories with a description and pro tip for each. The first 5 prompts are free instantly, no signup needed. Drafted with AI writing assistance and checked against our editorial policy.

Louis Corneloup
By Louis Corneloup · Founder, Techpresso
Last updated ·Drafted with AI assistance (how we make prompts)

SQL & Querying

5 prompts

Write a query from a plain-English question

1/30

✨ What it does

ChatGPT writes a commented SQL query in your [TOOL] dialect that answers [YOUR QUESTION IN PLAIN ENGLISH] from the schema you pasted. You run it on a sample, then check the joins before you trust the full result.

<context> I work with a [TOOL] database (e.g. PostgreSQL, BigQuery, Snowflake). The relevant tables and columns are: [PASTE SCHEMA: table names, columns, types, and key relationships] </context> <task> Write a single SQL query that answers: "[YOUR QUESTION IN PLAIN ENGLISH]". 1. Use only the tables and columns I listed — never invent fields. 2. Match [TOOL]'s exact SQL dialect and date/window-function syntax. 3. Add a one-line comment above each non-trivial clause explaining what it does. 4. List any assumptions you made (e.g. how you defined [METRIC], how you handled NULLs). 5. Flag any place where my schema looks ambiguous and ask before guessing. </task>

💡

Pro tip: Paste your real CREATE TABLE statements or an information_schema dump into the context block — ChatGPT writes far more accurate joins when it sees exact column names and types.

Debug a broken or slow query

2/30

✨ What it does

ChatGPT diagnoses why the [TOOL] query is [returning wrong results / erroring / running slowly], returns a corrected faster version, and tells you how to verify it against [PASTE ERROR OR DESCRIBE WHAT IS WRONG]. You run the new query, then compare row counts to [APPROX ROW COUNTS PER TABLE].

<context> This [TOOL] query is [returning wrong results / erroring / running slowly]: [PASTE QUERY] The error message or unexpected output is: [PASTE ERROR OR DESCRIBE WHAT IS WRONG] Table sizes / row counts: [APPROX ROW COUNTS PER TABLE] </context> <task> 1. Diagnose the most likely cause of the problem in plain language. 2. Provide a corrected version of the full query. 3. List the specific changes you made and why each one fixes the issue. 4. If it is a performance problem, suggest indexes, partition pruning, or rewrites and estimate the impact. 5. Give me one quick test query to confirm the fix returns the expected [METRIC]. </task>

💡

Pro tip: Tell ChatGPT to use chain-of-thought ("reason step by step before answering") for tricky bugs — it catches subtle GROUP BY and fan-out join errors it would otherwise miss.

Translate a query between SQL dialects

3/30

✨ What it does

ChatGPT ports [PASTE QUERY] from [SOURCE TOOL] to [TARGET TOOL], replacing dialect-specific functions and flagging every gotcha. You run the new query on [TARGET TOOL], then compare a few rows to the old result.

<context> I need to move this query from [SOURCE TOOL] to [TARGET TOOL]: [PASTE QUERY] </context> <task> 1. Rewrite the query to run natively on [TARGET TOOL]. 2. Replace any dialect-specific functions (date math, string functions, window frames, array/JSON handling) with the [TARGET TOOL] equivalent. 3. Call out any function that has no direct equivalent and propose a workaround. 4. Note any behavioural differences (e.g. NULL ordering, integer vs float division) that could change results for [METRIC]. 5. Keep formatting and aliases identical so I can diff the two versions. </task>

💡

Pro tip: Migrations rarely come one query at a time — once ChatGPT nails one translation, paste the rest in the same chat so it reuses your function-mapping decisions consistently.

Build a reusable parameterized query template

4/30

✨ What it does

ChatGPT writes one parameterized [TOOL] query template against [DATASET] that computes [METRIC] for different dates, segments, and filters. You save that template for the team, then stop copy-pasting one-off SQL.

<context> My team keeps rewriting near-identical queries against [DATASET] for different date ranges, segments, and filters. Schema: [PASTE RELEVANT TABLES/COLUMNS] </context> <task> 1. Write one parameterized [TOOL] query (or CTE-based template) that computes [METRIC] with placeholders for date range, segment, and filter values. 2. Clearly label each parameter and show an example invocation. 3. Structure it with named CTEs so each step is readable and testable. 4. Add inline comments so a junior analyst can adapt it safely. 5. Suggest how to turn this into a saved view or macro in [TOOL]. </task>

💡

Pro tip: Ask ChatGPT to also output the parameters as a small config block (JSON or variables) — handy if you later drop the template into dbt or a scheduled job.

Explain an inherited query line by line

5/30

✨ What it does

ChatGPT walks through the inherited [TOOL] query line by line, names the business question it answers, and states the [METRIC] it produces. You read that walkthrough before you edit, then change only the parts you now understand.

<context> I inherited this [TOOL] query and need to understand it before I change it: [PASTE QUERY] </context> <task> 1. Summarize in 2-3 sentences what business question this query answers and what [METRIC] it produces. 2. Walk through it CTE by CTE (or subquery by subquery) in plain English. 3. Identify the grain of the final output (one row per what?). 4. Flag anything risky: fan-out joins, hardcoded dates, deduplication logic, or filters that silently drop rows. 5. Suggest 2-3 safe improvements without changing the result. </task>

💡

Pro tip: Follow up with "now rename the CTEs to be self-documenting and reformat" to get a cleaned-up version you can commit alongside the explanation.

Data Cleaning & Prep

5 prompts

Profile a dataset and surface quality issues

6/30

✨ What it does

ChatGPT profiles [DATASET] from the sample you pasted, infers each column's type and role, and returns a prioritized quality audit with a cleaning checklist. You work the checklist from the worst issues first, then re-profile when those are gone.

<context> I have a dataset [DATASET] with these columns and sample rows: [PASTE COLUMN NAMES + 10-20 SAMPLE ROWS, OR A DESCRIBE/PROFILE OUTPUT] </context> <task> 1. For each column, infer its likely type, role (id, dimension, measure, date), and expected value range. 2. Flag data-quality risks: missing values, mixed formats, outliers, inconsistent categories, duplicates, suspicious zeros. 3. Rank the issues by how badly they could distort [METRIC]. 4. Recommend a concrete cleaning step for each issue. 5. Give me a short checklist I can run before trusting this data in a report. </task>

💡

Pro tip: Upload the actual CSV with ChatGPT's data-analysis (file upload) mode so it profiles real distributions and null counts instead of guessing from a sample.

Generate cleaning code (SQL/pandas) for known issues

7/30

✨ What it does

ChatGPT writes ready-to-run [TOOL] cleaning code for the issues you listed on [DATASET], with row-count checks after each fix. You run the code on a copy, then accept it only if the counts move as expected.

<context> Dataset: [DATASET]. The issues I need to fix: [LIST ISSUES, e.g. dates in 3 formats, "N/A" used for nulls, trailing whitespace, duplicate ids] I want the cleaning done in [TOOL] (e.g. SQL, pandas, dbt). </context> <task> 1. Write [TOOL] code that fixes each listed issue, one clearly-labeled step per issue. 2. Standardize dates, trim/normalize text, coerce real nulls, and dedupe on the correct key. 3. Preserve a record count before and after each step so I can audit row loss. 4. Add comments explaining each transformation. 5. Warn me about any step that could silently drop or alter rows feeding [METRIC]. </task>

💡

Pro tip: Ask for the cleaning logic as idempotent steps ("safe to re-run") so you can drop it straight into a scheduled pipeline without double-applying transforms.

Standardize messy categorical values

8/30

✨ What it does

ChatGPT proposes a canonical category list for [METRIC or DIMENSION] in [DATASET], plus a mapping table and code to normalize the messy values you pasted. You review the mappings for oddballs, then run the code on the full column.

<context> The column [METRIC or DIMENSION] in [DATASET] has inconsistent free-text values, for example: [PASTE DISTINCT VALUES, e.g. "USA", "U.S.A.", "United States", "us"] </context> <task> 1. Propose a clean canonical set of categories. 2. Build a full mapping table from every raw value to its canonical value. 3. Write [TOOL] code (CASE statement or mapping join) to apply it. 4. Flag any raw values that are genuinely ambiguous and ask me how to map them. 5. Suggest a guardrail to catch new unmapped values in future loads. </task>

💡

Pro tip: Have ChatGPT output the mapping as a two-column table you can store as a lookup file — far more maintainable than a giant CASE statement buried in a query.

Reshape data between wide and long format

9/30

✨ What it does

ChatGPT writes pivot or unpivot code in [TOOL] that reshapes [DATASET] from [wide / long] to [long / wide], with the target schema and a totals check. You run it on [PASTE A FEW ROWS], then confirm the totals still match.

<context> My dataset [DATASET] is currently in [wide / long] format. Sample: [PASTE A FEW ROWS] I need it in [long / wide] format because [REASON, e.g. to chart a time series / to feed a model]. </context> <task> 1. Show the exact target structure (columns and one example row). 2. Write [TOOL] code (pivot/unpivot, melt/pivot_table, or SQL CASE) to reshape it. 3. Explain how each original field maps into the new shape. 4. Handle edge cases: missing combinations, duplicate keys, and aggregation when needed. 5. Verify the reshape didn't change the total of [METRIC]. </task>

💡

Pro tip: Reshaping silently double-counts when keys aren't unique — explicitly tell ChatGPT the grain of your data so it adds the right GROUP BY or aggfunc.

Design validation checks for a pipeline

10/30

✨ What it does

ChatGPT designs automated quality tests for the [DATASET] load into [TOOL] on a [daily/hourly] schedule, with thresholds and runnable code that protect [METRIC]. You add those tests to the pipeline, then fail the run when a threshold trips.

<context> I load [DATASET] into [TOOL] on a [daily/hourly] schedule and feed it into reports that track [METRIC]. Key columns and expected rules: [DESCRIBE KEYS, RANGES, AND BUSINESS RULES] </context> <task> 1. Propose a set of automated data-quality tests (row counts, null thresholds, uniqueness, referential integrity, range checks, freshness). 2. Write each test as runnable [TOOL] code (or dbt tests / assertions). 3. Define a clear pass/fail threshold for each. 4. Recommend which failures should block the pipeline vs. just alert. 5. Suggest how to log results so I can track data quality over time. </task>

💡

Pro tip: If you use dbt, tell ChatGPT so it outputs schema.yml test syntax directly — it will scaffold not_null, unique, relationships, and accepted_values tests for you.

Analysis & Insights

5 prompts

Find the drivers behind a metric change

11/30

✨ What it does

ChatGPT plans a structured decomposition of why [METRIC] [rose/fell] by [AMOUNT] over [TIME PERIOD] in [DATASET], using the dimensions you listed. You run the slices in that order, then report the driver that actually moved the number.

<context> [METRIC] [rose/fell] by [AMOUNT] over [TIME PERIOD] in [DATASET]. Available dimensions to slice by: [LIST DIMENSIONS, e.g. region, plan, channel, device, cohort] </context> <task> 1. Propose a structured approach to decompose the change (e.g. mix vs. rate, segment contribution, before/after). 2. List the specific slices and queries I should run, in priority order. 3. For each, state the hypothesis it would confirm or kill. 4. Tell me how to distinguish a real driver from a composition/Simpson's-paradox effect. 5. Give me a template sentence to report each finding to stakeholders. </task>

💡

Pro tip: Paste your slice results back into the same chat as you run them — ChatGPT will update its hypothesis ranking and tell you which cut to dig into next.

Design a cohort or retention analysis

12/30

✨ What it does

ChatGPT designs a [retention / repeat behavior / LTV] analysis for [DATASET], with cohort grain, the query, and how to read [METRIC]. You run that query, then interpret the curve before you brief anyone.

<context> I want to analyze [retention / repeat behavior / LTV] for [DATASET]. Relevant events and timestamps: [DESCRIBE EVENT TABLE: user id, event type, timestamp, value] We care most about [METRIC]. </context> <task> 1. Define the cohort grain (signup week, first-purchase month, etc.) and recommend the best one for my question. 2. Write the [TOOL] SQL to build the cohort/retention matrix. 3. Explain how to read the resulting table and what a healthy vs. concerning pattern looks like. 4. Suggest 2-3 segment breakdowns that usually reveal the most. 5. Note common pitfalls (survivorship bias, partial last period) and how to handle them. </task>

💡

Pro tip: Ask ChatGPT to exclude the most recent, incomplete period from the matrix — half-finished cohorts make retention look like it's collapsing when it isn't.

Pressure-test a hypothesis with statistics

13/30

✨ What it does

ChatGPT picks the right statistical test for the claim you stated, lists assumptions, writes the code, and interprets significance honestly against the groups and [METRIC] you described. You run the test, then refuse to overclaim a weak result.

<context> Claim to test: "[STATE THE HYPOTHESIS, e.g. the new onboarding lifted activation]". Data available: [DESCRIBE GROUPS, SAMPLE SIZES, AND THE METRIC, e.g. [METRIC] for treatment vs. control]. </context> <task> 1. State the appropriate statistical test and why (t-test, chi-square, Mann-Whitney, etc.). 2. List the assumptions that test makes and how to check them with my data. 3. Tell me exactly what numbers to compute and provide [TOOL] code to do it. 4. Explain how to interpret the result, including effect size, not just the p-value. 5. Warn me about confounders, peeking, and multiple-comparison traps relevant to this claim. </task>

💡

Pro tip: ChatGPT can over-trust p-values — explicitly ask it to report a confidence interval and effect size, then frame the conclusion in business terms, not just "significant or not."

Spot anomalies and explain them

14/30

✨ What it does

ChatGPT ranks anomalies in the [METRIC] series from [DATASET], gives a plausible cause for each, and names the next check, using [ANY EVENTS, LAUNCHES, SEASONALITY, OUTAGES]. You run those checks, then keep only anomalies that still look real.

<context> Here is a time series (or table) of [METRIC] from [DATASET]: [PASTE THE DATA OR UPLOAD THE FILE] Context about the business: [ANY EVENTS, LAUNCHES, SEASONALITY, OUTAGES] </context> <task> 1. Identify points that deviate meaningfully from the trend or seasonal pattern. 2. For each anomaly, give the magnitude and the date/segment. 3. Propose the most plausible explanations, separating likely real signal from likely data issues. 4. Recommend the follow-up query or slice that would confirm each explanation. 5. Tell me which anomalies are worth escalating now vs. monitoring. </task>

💡

Pro tip: Give it the business context (launches, holidays, outages) up front — without it, ChatGPT flags every seasonal dip as an "anomaly" and buries the real ones.

Turn a vague request into an analysis plan

15/30

✨ What it does

ChatGPT turns [PASTE THE VAGUE REQUEST, e.g. why are sales down] into a scoped analysis plan and clarifying questions, given [LIST DATASETS / TABLES] and [WHO + WHAT THEY DECIDE]. You send those questions first, then start only the work that informs the decision.

<context> A stakeholder asked me: "[PASTE THE VAGUE REQUEST, e.g. why are sales down]". Data I have access to: [LIST DATASETS / TABLES]. Audience for the answer: [WHO + WHAT THEY DECIDE]. </context> <task> 1. Restate the underlying decision this analysis should inform. 2. List the 3-5 sharpest questions I should actually answer. 3. For each, specify the [METRIC], the slice, and the data source. 4. Define what "done" looks like and what would change the stakeholder's decision. 5. Draft 3 clarifying questions I should ask the stakeholder before I start. </task>

💡

Pro tip: Run this before touching any data — it stops you spending a day on the wrong cut because nobody pinned down what decision the analysis was meant to drive.

Like these prompts? There are full tutorials behind them.

Learn the workflows, not just the prompts. Easy-to-follow tutorials inside AI Academy, and the library keeps growing.

Try AI Academy Free

Visualization & Dashboards

5 prompts

Pick the right chart for the message

16/30

✨ What it does

ChatGPT recommends one chart for [METRIC] from [DATASET] that proves [STATE THE MESSAGE] to [WHO], with encodings and a takeaway title. You build that chart, then change it if a viewer still misses the message.

<context> I need to visualize [METRIC] from [DATASET]. The point I want the audience to take away is: "[STATE THE MESSAGE]". Audience: [WHO]. The data looks like: [DESCRIBE DIMENSIONS, GRAIN, NUMBER OF SERIES]. </context> <task> 1. Recommend the single best chart type for this message and explain why. 2. Name 1-2 alternatives and when they'd be better. 3. Specify the encodings: x, y, color, sort order, and aggregation. 4. List what to leave OUT to avoid clutter or misleading the viewer. 5. Suggest a clear title and annotation that states the takeaway, not just the data. </task>

💡

Pro tip: Tell ChatGPT your audience's seniority — execs need one annotated number or trend, analysts can handle a denser small-multiple. The "right" chart depends on who's reading it.

Plan a dashboard layout from a goal

17/30

✨ What it does

ChatGPT wireframes a [TOOL] dashboard for [AUDIENCE] to monitor [GOAL], with headline KPIs, layout order, and a filter strategy from [LIST KEY METRICS AND DIMENSIONS]. You build the top row first, then add detail only if they still need it.

<context> I'm building a [TOOL] dashboard (e.g. Tableau, Looker, Power BI, Metabase) for [AUDIENCE] to monitor [GOAL]. Available metrics/dimensions: [LIST KEY METRICS AND DIMENSIONS] </context> <task> 1. Define the 3-5 headline KPIs that belong at the top and why. 2. Propose a layout in reading order: what goes top-left, what supports it below. 3. For each section, specify the chart, the [METRIC], and the default filters/time grain. 4. Recommend which filters belong as global controls. 5. Flag metrics that look useful but would create noise or vanity-metric distraction. </task>

💡

Pro tip: Ask for the layout as a top-to-bottom outline first, approve it, then ask ChatGPT to spec each tile — far faster than redesigning a finished dashboard later.

Generate chart spec / config code

18/30

✨ What it does

ChatGPT writes runnable chart code for a [CHART TYPE] of [METRIC] by [DIMENSION] from [DATASET] in [TOOL/LIBRARY], with defaults and an annotated takeaway. You run the code on [LIST COLUMNS + TYPES], then keep the annotation on the live chart.

<context> I want to build a [CHART TYPE] of [METRIC] by [DIMENSION] from [DATASET] using [TOOL/LIBRARY, e.g. Plotly, matplotlib, Vega-Lite, ECharts]. Data columns: [LIST COLUMNS + TYPES]. </context> <task> 1. Write the full chart code/config for [TOOL/LIBRARY], ready to run. 2. Set sensible defaults: sorted axis, readable number formatting, clear labels, accessible colors. 3. Add the takeaway as a title and annotate the key data point. 4. Make it reusable: pull field names into variables at the top. 5. Note one tweak for a presentation version vs. an exploratory version. </task>

💡

Pro tip: Specify number formats explicitly (e.g. "$ with thousands separators, 0 decimals") — ChatGPT defaults to raw floats that look unpolished in a stakeholder-facing chart.

Critique and improve an existing chart

19/30

✨ What it does

ChatGPT critiques whether the chart of [METRIC] from [DATASET] actually says [MESSAGE], then lists prioritized, specific fixes. You apply the top fixes, then look again to see if the message is now obvious.

<context> Here is a chart I made [PASTE IMAGE OR DESCRIBE IT FULLY: type, axes, colors, what it shows]. It visualizes [METRIC] from [DATASET]. Intended message: "[MESSAGE]". </context> <task> 1. Judge whether this chart actually communicates the intended message. 2. List specific problems: misleading scales, too many series, weak labels, bad color choices, chartjunk. 3. Recommend concrete fixes, ordered by impact. 4. Suggest whether a different chart type would serve the message better. 5. Rewrite the title and key annotation to make the takeaway unmissable. </task>

💡

Pro tip: Use ChatGPT's vision: upload a screenshot of the actual chart and it will catch truncated axes and color problems you stopped noticing after staring at it.

Define metrics consistently for a dashboard

20/30

✨ What it does

ChatGPT proposes one canonical definition of [METRIC] on [DATASET], with the query and a reconciliation check against the conflicting computations you described. You get owners to agree that definition, then point every report at that query.

<context> Different reports built on [DATASET] show different numbers for [METRIC] and stakeholders don't trust the dashboard. Relevant tables/logic: [DESCRIBE HOW THE METRIC IS CURRENTLY COMPUTED IN DIFFERENT PLACES] </context> <task> 1. Propose one canonical definition of [METRIC]: numerator, denominator, filters, grain, and timezone. 2. List the edge cases the definition must settle (refunds, test accounts, late events, nulls). 3. Write the single source-of-truth [TOOL] query/measure that implements it. 4. Explain how to document this so every report references the same logic. 5. Suggest a reconciliation check to prove old reports now agree. </task>

💡

Pro tip: Capture the agreed definition as a short data dictionary entry in the same chat — paste it into your BI tool's description field so the logic travels with the metric.

Reporting & Data Storytelling

5 prompts

Turn analysis results into a narrative

21/30

✨ What it does

ChatGPT writes a decision-focused narrative about [METRIC] from [DATASET] that opens with the takeaway and ends with a recommendation for [WHO] facing [DECISION]. You paste [PASTE KEY NUMBERS, TABLES, OR BULLET FINDINGS] in, then send the narrative instead of the raw tables.

<context> Here are my analysis findings about [METRIC] from [DATASET]: [PASTE KEY NUMBERS, TABLES, OR BULLET FINDINGS] Audience: [WHO]. Decision they need to make: [DECISION]. </context> <task> 1. Open with the single most important takeaway in one sentence. 2. Structure the rest as: what happened, why it happened, what it means, what to do. 3. Translate every statistic into business impact, not jargon. 4. Cut findings that don't change the decision. 5. End with a clear, specific recommendation and the confidence level behind it. </task>

💡

Pro tip: Tell ChatGPT to write "BLUF" (bottom line up front). Analysts bury the headline under methodology — this forces the conclusion into the first line where busy readers will see it.

Write an executive summary of a report

22/30

✨ What it does

ChatGPT writes a 4-6 sentence executive summary of the [TOPIC] analysis on [METRIC] from [DATASET] for [EXEC AUDIENCE] who has 60 seconds, leading with the action and the numbers. You put that summary on top of [PASTE OR SUMMARIZE THE FULL ANALYSIS], then leave the appendix below.

<context> I have a detailed analysis on [TOPIC] using [METRIC] from [DATASET]. Full findings: [PASTE OR SUMMARIZE THE FULL ANALYSIS] This summary is for [EXEC AUDIENCE] who has 60 seconds. </context> <task> 1. Write a 4-6 sentence executive summary. 2. Lead with the result and the recommended action. 3. Include only the 2-3 numbers that matter most, with context (vs. target, vs. last period). 4. State the main risk or caveat in one line. 5. Keep it free of methodology and SQL — pure signal. </task>

💡

Pro tip: Give the exact audience ("CFO", "Head of Growth") — ChatGPT tailors which metrics lead. A CFO wants margin and cost; a growth lead wants funnel and CAC.

Draft a recurring report template

23/30

✨ What it does

ChatGPT designs a reusable [weekly/monthly] report template on [METRIC] for [DATASET] to [AUDIENCE], with headline, movers, and fill-in narrative sentences from [LIST METRICS AND DIMENSIONS]. You fill those sentences each cycle, then stop rewriting the structure.

<context> I send a [weekly/monthly] report on [METRIC] for [DATASET] to [AUDIENCE]. Today it's ad hoc and inconsistent. Metrics I usually include: [LIST METRICS AND DIMENSIONS] </context> <task> 1. Design a reusable report template with clear sections (headline, KPI movers, deep-dive, watchlist, actions). 2. For each KPI, specify the comparison (WoW, MoM, vs. target) and the format. 3. Write fill-in-the-blank sentence templates so the narrative is fast to produce each cycle. 4. Recommend what to automate vs. write by hand each time. 5. Suggest a length/format that fits how [AUDIENCE] actually reads. </task>

💡

Pro tip: Save the approved template as a Custom Instruction or a reusable prompt — then each cycle you just paste the new numbers and ChatGPT fills the narrative in your house style.

Explain a technical finding to non-technical readers

24/30

✨ What it does

ChatGPT restates the technical finding for [NON-TECHNICAL AUDIENCE] in one jargon-free sentence, with an analogy and a clear so-what about [METRIC]. You send that version, then keep the technical note only if they ask.

<context> I need to explain this technical finding to [NON-TECHNICAL AUDIENCE]: [PASTE THE FINDING, e.g. a statistical result, model output, or complex metric about [METRIC]]. </context> <task> 1. Restate the finding in one plain sentence with zero jargon. 2. Use one concrete analogy or example to make it intuitive. 3. Explain why it matters to this audience specifically. 4. State clearly what is certain vs. uncertain, without false precision. 5. End with the one action or decision it should inform. </task>

💡

Pro tip: Ask it to flag any word a non-analyst might misread (e.g. "significant", "correlation") and replace it — these terms quietly mislead business audiences.

Build a data story arc for a presentation

25/30

✨ What it does

ChatGPT outlines a presentation arc for [METRIC] from [DATASET] to [AUDIENCE] deciding [DECISION], with one message per slide and answers to tough questions from [LIST FINDINGS]. You build those slides, then rehearse the answers before you present.

<context> I'm presenting an analysis of [METRIC] from [DATASET] to [AUDIENCE] who needs to decide [DECISION]. Key findings: [LIST FINDINGS] </context> <task> 1. Structure the deck as a story: setup (what we expected), tension (what we found), resolution (what to do). 2. Propose a slide-by-slide outline with the single message of each slide as its title. 3. For each slide, name the one chart or number that proves the message. 4. Identify the emotional/logical turning point that should land the recommendation. 5. Anticipate the 3 toughest questions and draft a one-line answer for each. </task>

💡

Pro tip: Make every slide title a full-sentence claim ("Activation fell because step 2 broke"), not a topic ("Activation"). ChatGPT does this well and it makes the deck self-explaining.

Go from copy-pasting to actually mastering AI.

AI Academy: hands-on tutorials on ChatGPT, Claude, Midjourney, and many other tools. New tutorials are added regularly.

Start Your Free Trial

Stakeholder Communication

5 prompts

Negotiate scope on an analysis request

26/30

✨ What it does

ChatGPT drafts a diplomatic reply to [PASTE REQUEST] due [DEADLINE] on [DATASET] that acknowledges the goal, splits the work into phases, and asks the questions that matter, given [YOUR ESTIMATE]. You send that reply, then start only the first phase they accept.

<context> A stakeholder asked for "[PASTE REQUEST]" by [DEADLINE] using [DATASET]. Realistically it would take [YOUR ESTIMATE] to do well, and parts of it are unclear or low-value. </context> <task> 1. Draft a reply that acknowledges the request and the underlying goal. 2. Offer a faster phase-1 answer (the 80/20) and a fuller phase-2 if needed. 3. Ask the 2-3 clarifying questions that most affect scope. 4. Surface any data limitation that could change expectations, diplomatically. 5. Keep the tone collaborative, not defensive — assume good intent. </task>

💡

Pro tip: Paste your team's real Slack tone into the context and ask ChatGPT to match it — generic "per my last email" phrasing reads as cold and bureaucratic to a peer stakeholder.

Deliver an unwelcome or counterintuitive result

27/30

✨ What it does

ChatGPT drafts a tactful message that respects what [STAKEHOLDER] hoped for, then states the [METRIC] finding from [DATASET] in [STATE IT] at your [confidence level]. You send that message, then offer the next check if they want to push back.

<context> My analysis of [METRIC] in [DATASET] contradicts what [STAKEHOLDER] expected or hoped for. The finding: [STATE IT]. I have [confidence level] in it. </context> <task> 1. Draft a message that leads with respect for their hypothesis, then states the finding clearly. 2. Show the evidence concisely so it's hard to dismiss but easy to follow. 3. Acknowledge uncertainty and what could still change the picture. 4. Reframe toward "what this means we can do now" rather than "you were wrong". 5. Invite a working session to dig in together. </task>

💡

Pro tip: Have ChatGPT generate two tones — a direct version and a softer version — then pick based on the relationship. The same data lands very differently depending on trust level.

Write a clear data caveats / limitations note

28/30

✨ What it does

ChatGPT writes a short, precise limitations note on the [METRIC] analysis from [DATASET] for [WHO], covering the issues you listed without killing trust or apologizing for existing. You attach that note to the readout, then refuse to hide a limit that could change the decision.

<context> I'm sharing analysis of [METRIC] from [DATASET] but it has limitations: [LIST THEM: missing data, short time window, proxy metrics, sampling, known data issues] Audience: [WHO]. </context> <task> 1. Write a short "what to keep in mind" section in plain language. 2. For each limitation, state the issue and how much it could affect the conclusion. 3. Distinguish "this might be slightly off" from "do not make this decision on this data". 4. Avoid undermining the whole analysis — be precise about scope, not apologetic. 5. Recommend what would be needed to remove each limitation. </task>

💡

Pro tip: Ask ChatGPT to rank the caveats by decision-impact and bury the trivial ones — listing ten equal-weight disclaimers makes stakeholders ignore the one that actually matters.

Respond to a "the numbers look wrong" challenge

29/30

✨ What it does

ChatGPT drafts a calm reply when someone says [METRIC] for [DATASET] looks wrong, treating [THEIRS] versus [MINE] as a definitions check using [BRIEF METHOD]. You send that reply, then reconcile the scopes before you defend the number.

<context> A stakeholder says my reported [METRIC] for [DATASET] "looks wrong" or disagrees with another source. Their number: [THEIRS]. Mine: [MINE]. How I computed mine: [BRIEF METHOD]. </context> <task> 1. Draft a calm reply that treats the discrepancy as a definition/scope question, not a fight. 2. List the most likely reasons two correct sources disagree (filters, timezone, dedup, date grain, refunds). 3. Propose a quick reconciliation: which slices to compare to isolate the gap. 4. Commit to a clear next step and timeline. 5. Keep it confident but open to being wrong. </task>

💡

Pro tip: Number discrepancies are almost always definition mismatches, not errors — prime ChatGPT with that framing so the reply leads with reconciliation instead of defensiveness.

Translate a data request into an SLA / expectation

30/30

✨ What it does

ChatGPT drafts an intake template and SLA message for chaotic requests around [DATASET] and [METRIC], covering question, decision, deadline, and priority. You send the template with the next request, then start work only after they fill it.

<context> Stakeholders keep dropping ad-hoc data requests on me with no priority or context. Common requests involve [DATASET] and metrics like [METRIC]. </context> <task> 1. Draft a lightweight intake template they should fill out (question, decision, deadline, priority). 2. Propose response-time expectations by request type (quick lookup vs. deep analysis). 3. Write a short, friendly message introducing this process without sounding bureaucratic. 4. Suggest how to handle "urgent" requests so the word doesn't lose meaning. 5. Recommend where to surface the queue so priorities are visible. </task>

💡

Pro tip: Ask ChatGPT to frame the process as helping stakeholders get better answers faster — positioning it as service rather than gatekeeping is what gets the team to actually adopt it.

Free tool

Prompt Optimizer

Turn a rough idea into a structured, professional AI prompt.

Try it free →

Frequently Asked Questions

Copy a prompt, then replace the bracketed placeholders — [DATASET], [METRIC], and [TOOL] — with your real table names, the metric you care about, and your warehouse or BI tool (e.g. PostgreSQL, BigQuery, Tableau). Paste your actual schema or sample rows into the context block so ChatGPT reasons over your real data instead of generic assumptions. The more specific the context, the more deployable the output.
Yes, especially when you paste your real schema and tell it the exact dialect. The SQL prompts here ask ChatGPT to use only the columns you provide, match your tool's syntax, and flag assumptions. Always review the query, check the grain of the output, and run it against a sample before trusting it in production — ChatGPT can still misread a join or fan-out without seeing your data.
Be careful. Use anonymized samples, synthetic rows, or just schema and column descriptions rather than real customer records. For genuinely sensitive data, check your company's policy and consider ChatGPT Enterprise or Team, where your inputs are not used for training. Most of these prompts work well with schema plus a handful of fake rows — you rarely need to share real PII.
For query writing and reasoning, the latest flagship reasoning models give the most reliable SQL and statistics. For profiling real files, use the data-analysis (file upload) mode so ChatGPT can run code over your actual CSV — it computes true null counts and distributions instead of guessing from a sample. Pair the right mode with a detailed context block for the best results.
These are scoped to the data-analyst workflow end to end — querying, cleaning, analysis, visualization, reporting, and stakeholder communication — using a consistent context/task structure with [DATASET], [METRIC], and [TOOL] placeholders. They cover the parts of the job beyond the query, like reconciling disputed numbers and telling the data story, which generic prompt lists usually skip.

Prompts are the starting line. Tutorials are the finish.

A growing library of hands-on tutorials on ChatGPT, Claude, Midjourney, and many other AI tools. New tutorials are added regularly.

7-day free trial. Cancel anytime.