Sales data analysis that finds what is really driving revenue
Totals tell you sales went up or down. They don't tell you which customers stopped buying, which products are carried by discounts, or whether one big client hides a weak quarter. Attach your order data and this prompt has your todo.is agent dig in like an analyst and come back with findings, evidence and a few concrete actions.
The prompt
- Analyze the attached sales data [FILE NAME] covering [PERIOD]. Answer: [YOUR QUESTIONS]. Also look at: revenue by customer segment and how concentrated it is (share from the top 10 customers), product mix and which products are bought together, seasonality by month and weekday, new versus repeat customers and repeat rate, customers who stopped buying in the last [INACTIVE DAYS] days, and how discounts affect volume and margin. Use Python to analyze it, and show your method so I can repeat it. Deliver: a findings document (top 5 insights, each with the evidence, a chart and one recommended action) and an Excel file with the summary tables and a list of lapsed customers.
What to change
- [FILE NAME]: Attach an order-level export (one row per order or order line), e.g. "orders_2025_2026.csv".
- [PERIOD]: e.g. "Jan 2025 to Sep 2026".
- [YOUR QUESTIONS]: e.g. "Why did Q2 dip? Which customers should we focus on? Are discounts worth it?"
- [INACTIVE DAYS]: e.g. "90". Customers with no order in this time count as lapsed.
Example result
- Sales data analysis · Oakridge Coffee Supply, Jan 2025 to Sep 2026 (example)
- Data: 41,200 order lines, 1,960 customers. Method: Python (pandas), steps in the appendix.
- Insight 1: Revenue is concentrated
- Evidence: the top 10 cafe chains bring 46% of revenue, up from 38%.
- Action: set up quarterly reviews with these 10 accounts and a plan to grow mid-size customers.
- Insight 2: The Q2 dip was one customer
- Evidence: Q2 revenue fell 7%. Without Brightcup Cafes (paused orders during a refit) it grew 3%.
- Action: confirm Brightcup's restart date and keep them in the forecast as a risk.
- Insight 3: Big discounts don't pay back
- Evidence: orders with 5 to 10% off sold 18% more units at a similar margin. Orders with over 15% off sold only 6% more and cut gross margin from 34% to 22%.
- Action: cap standard discounts at 10%.
- Insight 4: Repeat customers are the engine
- Evidence: 62% of new customers order again within 60 days. Those who do spend 4.1x more in their first year.
- Action: a follow-up offer 3 weeks after the first order.
- Insight 5: 212 customers have lapsed
- Evidence: no order in 90+ days, worth 118,000 in the 12 months before they stopped. Most bought only one product type.
- Action: win-back emails, starting with the 40 largest (list in the Excel file).
- Also found
- • Beans and filter papers are bought together in 41% of orders. Offer a bundle
- • Monday orders are 2x Friday orders
- Data notes
- • 1.2% of lines had no customer ID and were excluded from customer analysis
- All figures are fictional, to show the depth and format.
How to do it with todo.is
- Export order-level data, attach it and add your own questions to the prompt.
- Send it on the Today screen in todo.is, or attach the file to your agent on Slack or WhatsApp.
- Your agent analyzes it in Python, writes the findings with charts and builds the Excel tables.
- Ask follow-ups like "dig into insight 3 by product" or "draft the win-back email".
Tips for a better result
- Send order-level data, not monthly totals. Customer and product insights need the detail.
- Write your real business questions. Generic analysis finds generic insights.
- Ask for evidence and an action for each finding, so the report leads to decisions.
- Turn the lapsed customer list into a recurring alert: "every Monday, tell me who passed 90 days without an order".
sales data analysis: FAQ
- What is sales data analysis? Looking at sales records to understand what drives revenue: who buys, what, when, at what price, and what changed. The goal is decisions, not just reports.
- What data do I need? Ideally one row per order or order line with date, customer, product, quantity, price, discount and channel. Margin needs a cost column too.
- Can it predict next quarter's sales? It can build a simple forecast from your history and explain the assumptions. Treat forecasts as estimates.
- Do I need to know Python? No. Your agent writes and runs the code in its workspace. It can share the script if you want to re-run it yourself.
JavaScript is required to use the todo.is app.