Business Question & Metric Definition
Turns the request into the decision it serves, and defines every metric precisely before anyone counts it.
See it in Tessaly’s examplePrompts for Work · Pack 8 · 10 prompt templates
12 of 12 quality checks passed
The Data & Reporting pack: 10 AI prompt templates for ChatGPT, Claude and Gemini
Automate your data analysis and reporting. Ask your question, and the data analysis prompts take you from there to the board report: define each metric, write the Excel formulas and SQL queries, check the numbers against the source, test whether a change is real and write up the answer.
Free guide: Writing SQL with ChatGPT or Claude, and how to check it
Real exampleSpreadsheet formulas · Prompt 03
“The board workbook has been rebuilt every month since 2023. Can you check it?”
Board workbook — rebuilt formulas
Benefits of the data analysis prompts
Four things the data analysis prompts do for every report, from one Excel formula to the monthly board pack.
Each metric is written down before anything is counted: what is counted, what is left out, the time window and the source. Three reports stop giving three different answers.
Every SQL query, Excel workbook and dashboard is checked against a known total, such as the ledger, so a bad join or a broken formula shows up early.
The A/B test and reporting prompts state the sample size, the margin of error and whether a result is statistically significant, so random noise is never reported as a win.
Every report opens with the answer and the decision needed, then states plainly what the data cannot show.
What is in the pack
Each data analysis prompt works on its own. The prompt asks for what is needed and, in Claude, returns a finished Word or Excel file. Run the one you need, or run all ten in order.
Turns the request into the decision it serves, and defines every metric precisely before anyone counts it.
See it in Tessaly’s exampleChecks the data for completeness, duplicates and valid values, reconciles it to a trusted total, and sets the cleaning rules.
See it in Tessaly’s exampleWrites the formulas a calculation needs, explained line by line, and audits an existing workbook for errors.
See it in Tessaly’s exampleWrites the query with its grain stated and every join checked, and reviews existing queries for the errors that inflate totals.
See it in Tessaly’s exampleLooks at distributions, outliers and segments before any conclusion, and states what the data can and cannot support.
See it in Tessaly’s exampleFollows groups of customers from their start date, and measures conversion at each stage, to find exactly where they are lost.
See it in Tessaly’s exampleChecks whether a test result is real: sample size, confidence interval and significance, and the decision the evidence supports.
See it in Tessaly’s exampleSpecifies the dashboard from the decisions it supports: users, KPIs with definitions and owners, layout, filters and refresh.
See it in Tessaly’s exampleExplains what moved this month and why, separates real changes from normal variation, and says what to do.
See it in Tessaly’s exampleWrites the analysis for the decision-maker: the answer first, the evidence, the confidence, the limits and the decision asked for.
See it in Tessaly’s exampleWorked example
Tessaly sells coffee subscriptions direct to consumers: $38M in revenue and about 120,000 paying subscribers. In June 2026 the board saw active subscribers up 12% and approved $1.5M of extra marketing for a free-grinder offer that had “won” its test. Three things were wrong. Since a system migration, paused subscribers were counted as active, so the real number had fallen 3%. A SQL join counted orders sent in two parcels twice, overstating average order value by 8%. And the test result was not statistically significant. Three reports gave three different subscriber numbers. Here is how the ten prompts rebuild the figures from one definition and put a corrected answer in front of the board, one step at a time.*
Prompt 01 · Define
What Tessaly brought · CFO
“The board pack says 138,000 active subscribers. Finance says 131,000. Which is right?”
What the prompt returned
Neither. Since the April migration paused subscribers count as active. Defined as billed in the last 35 days and not paused, the number is 119,500: down 3% on last year, not up 12%.
Takeaway: agree and write down every metric’s definition before reporting it, and restate past figures when the definition changes.
A metric definition states exactly how a number is calculated: numerator, denominator, grain, time window, filters and source. A metric dictionary holds the agreed definitions so every report uses the same one.
Prompt 02 · Prepare
What Tessaly brought · Data Analyst
“Here’s the subscriber table and the Q2 billing export. Can we start the analysis?”
What the prompt returned
Not yet. 2,140 duplicate customer records from the migration, 3.6% of cancellations with no date, and the billing export is $410K above the ledger for Q2.
Takeaway: reconcile every dataset to a trusted total and write down each cleaning rule before any analysis starts.
Data quality assessment checks data for completeness, duplicates, valid values and consistency. Reconciliation compares the data’s totals with a trusted source and explains every difference.
Prompt 03 · Prepare
What Tessaly brought · FP&A Manager
“The board workbook has been rebuilt every month since 2023. Can you check it?”
What the prompt returned
212 hard-coded numbers inside formula ranges, and a VLOOKUP with approximate match that priced 1,140 subscribers on the wrong plan. Rebuilt with XLOOKUP, exact match, and a check cell that ties to billing.
Takeaway: use exact-match lookups that fail visibly, remove every typed number from formula ranges, and add a check cell that ties to the source.
A spreadsheet audit checks a workbook for hard-coded values, faulty lookups, incomplete ranges and inconsistent formulas. An exact-match lookup returns an error when it finds nothing, instead of silently returning the nearest value.
Prompt 04 · Prepare
What Tessaly brought · Head of Analytics
“Average order value jumped 8% after we added shipment data. Real, or the query?”
What the prompt returned
The query. Joining orders to shipments at shipment grain counts every two-parcel order twice: 320,760 rows from 297,000 orders. Aggregating shipments first brings average order value back from $34.56 to $32.00.
Takeaway: state the grain of every query, check row counts after every join, and reconcile the result before anyone uses it.
The grain of a query is what one row represents: one order, one shipment, one customer. A fan-out join joins tables of different grain and repeats rows, so any sum after it is inflated.
Prompt 05 · Analyse
What Tessaly brought · Head of Growth
“Churn is up. Is it everyone, or someone?”
What the prompt returned
Someone. Subscribers acquired through promotional offers cancel at 11.2% a month, against 5.1% for everyone else. 520 office accounts are analysed separately.
Takeaway: look at segments before the average, and separate the outliers before reporting any single figure.
Exploratory data analysis examines distributions, outliers and segments before any conclusion is drawn. Segmentation compares measures between groups, such as acquisition channel or plan.
Prompt 06 · Analyse
What Tessaly brought · Head of Growth
“Where exactly are we losing the promotional subscribers?”
What the prompt returned
Between the first and the third order. Month-3 retention fell from 71% for the 2025 cohorts to 58% for January to March 2026, when promotions were 44% of sign-ups.
Takeaway: measure retention by start cohort, and fix the stage where the loss is concentrated before buying more sign-ups.
Cohort analysis groups customers by the month they started and follows each group over time. Funnel analysis measures how many customers pass from each stage of the journey to the next.
Prompt 07 · Analyse
What Tessaly brought · CMO
“The free-grinder offer won: 4.6% against 4.1%. That’s why we asked for $1.5M.”
What the prompt returned
No evidence of a difference. With 6,000 customers in each group the p-value is 0.21, and the 95% confidence interval runs from −0.3 to +1.2 points. Detecting 0.5 points needs about 26,000 per group.
Takeaway: fix the sample size before a test starts, and report a result whose confidence interval includes zero as no evidence of a difference.
An A/B test compares a control with a variant on randomly split groups. Statistical significance measures how likely a difference this size would be by chance; a confidence interval gives the range the true difference probably lies in.
Prompt 08 · Visualise
What Tessaly brought · CEO
“Our dashboard has 31 tiles. I don’t trust any of them.”
What the prompt returned
Seven KPIs, each with a definition, an owner and a target, for three audiences and nine decisions. 24 of the 31 current tiles are removed because no decision uses them.
Takeaway: build the dashboard from named decisions, and give every KPI one definition and one owner.
A dashboard requirements document states who uses a dashboard, which decisions it supports and exactly what it shows. A KPI specification gives each key performance indicator its definition, target, owner and data source.
Prompt 09 · Report
What Tessaly brought · COO
“August numbers are in. What do I tell the executive team?”
What the prompt returned
One real change: monthly churn rose to 5.6%, above its normal range, driven by the April to June promotional cohorts reaching month 3. Active subscribers fell 0.5%, within normal variation.
Takeaway: report which changes are outside normal variation and explain only those, stating plainly that the rest are noise.
Performance commentary explains what moved in a period and why. Normal variation is the range a measure moves within from month to month without any real change; movements inside it are noise.
Prompt 10 · Report
What Tessaly brought · CEO
“The board meets on 14 October. What do we tell them?”
What the prompt returned
Active subscribers fell 3%, they did not rise 12%. Pause the remaining $0.9M of the $1.5M campaign and rerun the grinder test at 26,000 per group before spending it.
Takeaway: open with the answer and any correction, give each finding a confidence level, and end with a decision, an owner and a date.
An answer-first write-up states the conclusion and recommendation before the evidence. It gives a confidence level for each finding and states the limits of the data.
Three documents from Tessaly’s ten prompts: the rebuilt workbook formulas from prompt 03, the corrected SQL query from prompt 04, and the dashboard specification from prompt 08.
Board workbook — rebuilt formulas
Excel 365 · inputs, calculations and outputs on separate sheets
| Cell | Formula | What it does |
|---|---|---|
| Subs[Price] | =XLOOKUP([@PlanCode], Plans[Code], Plans[MonthlyPrice], "NOT FOUND", 0) | Exact-match price for each subscriber’s plan; shows NOT FOUND instead of the nearest plan |
| Calc!C4 | =COUNTIFS(Subs[LastBilled], ">="&(ReportDate-35), Subs[Status], "<>paused") | Active subscribers on the agreed definition: billed in 35 days, not paused |
| Calc!C8 | =SUMIFS(Billing[Amount], Billing[Month], ReportMonth, Billing[Type], "<>refund") | Revenue for the month, refunds excluded as in the reconciled total |
| Checks!B2 | =COUNTIF(Subs[Price], "NOT FOUND")=0 | TRUE only when every subscriber has a matching plan |
| Checks!B3 | =ROUND(Calc!C8-Inputs!B4, 0)=0 | TRUE only when revenue ties to the reconciled billing total |
Found
212
numbers typed over formulas
Found
1,140
rows priced on the wrong plan by VLOOKUP(…, TRUE)
Check
TRUE
every plan matched
Check
TRUE
revenue ties to billing
Q2 orders and average order value — corrected query
Grain: one row per order · shipments aggregated before the join
-- Grain: one row per order, Q2 2026
WITH shipments_per_order AS (
SELECT order_id,
COUNT(*) AS parcels
FROM shipments
GROUP BY order_id -- one row per order before joining
)
SELECT COUNT(*) AS orders, -- expect 297,000
SUM(o.order_value) AS revenue,
SUM(o.order_value) / COUNT(*) AS avg_order_value, -- $32.00
SUM(CASE WHEN s.parcels > 1 THEN 1 ELSE 0 END) AS two_parcel_orders
FROM orders o
LEFT JOIN shipments_per_order s ON s.order_id = o.order_id
WHERE o.order_date >= DATE '2026-04-01'
AND o.order_date < DATE '2026-07-01'
AND o.is_test = FALSE
AND o.status <> 'refunded';
| Check | Old query | Corrected |
|---|---|---|
| Rows after the join | 320,760 | 297,000 — equals the order count |
| Average order value | $34.56 | $32.00 |
| Revenue against reconciled billing | Above by the value of two-parcel orders | Ties |
Subscription dashboard — KPI specification
Seven KPIs for nine decisions · 24 of 31 old tiles removed
| KPI | Definition | Owner | Decision it supports |
|---|---|---|---|
| Active subscribers | Billed in the last 35 days and not paused | CEO | Growth budget |
| Monthly churn | Cancellations in the month ÷ active subscribers at the start of the month | Head of Growth | Retention spend |
| Month-3 retention by cohort | Share of each start month still active three months later | Head of Growth | Which offers to keep |
| New paying subscribers | Customers whose first paid order was in the month | CMO | Channel budget |
| Acquisition cost | Marketing spend ÷ new paying subscribers | CMO | Channel budget |
| Average order value | Revenue ÷ orders, calculated at one row per order | Finance | Pricing |
| Revenue against ledger | Dashboard revenue minus ledger revenue for the month | CFO | Whether to trust the rest |
Layout. Top row: active subscribers, churn and revenue against target. Below: cohort retention curves and the acquisition funnel by channel.
Filters. Month, plan and acquisition channel. Default: last complete month, all plans.
Refresh rule. The 06:00 refresh is published only if revenue ties to billing. If it does not, the dashboard shows the previous day with a warning, and the CFO is alerted.
Prompt output, formatted for this page. In Claude each prompt returns it as a finished Word or Excel file; other tools return the same content as text and tables. The figures come from whatever you paste in. Tessaly Coffee Co. is fictional, so every number here is ours to show you.
Yes. The data analysis prompts ask how your data is laid out and what you need to calculate, then write the Excel formula or SQL query with each line explained. Test every formula and query on your own data before relying on the result.
ChatGPT, Claude and Gemini. In Claude, every prompt ends with a finished Word or Excel file. ChatGPT and Gemini return the same content as text and tables.
No. Each prompt works on its own. Run the one you need, such as the SQL prompt or the A/B test prompt, or run all ten in order on one project.
Tessaly, a made-up coffee subscription company, runs all ten prompts on one problem: three reports giving three different subscriber numbers. The page shows what Tessaly brought to each prompt, what came back and the finished files.
Pack 8 · Data & Reporting
* Tessaly Coffee Co., its customers and all figures on this page are fictional and used for illustration only. Output from these prompts depends on the information you supply and the AI tool you use. Test formulas and queries on your own data before relying on the results.
Paste the pack’s documents into the AI PowerPoint generator, a separate product at $19, and Claude builds the board presentation as a real .pptx file with editable PowerPoint charts.
Below is Tessaly’s executive summary: ten slides, one for each prompt’s output, unedited.
Tessaly Coffee Co. is fictional, so every number here is ours to show you. Generated in the NOVA house style.
Built in
as a real .pptx file with editable charts. Or take both generators together in the bundle, $25.
Nine packs for work, from strategy and finance to sales, HR and operations, each written to the same standard with its own worked example.