Skip to main content
Every data answer arrives in the Slack thread as a set of parts. This page explains each one, how threads carry context, and how to check a result before it goes into a report.

What a reply contains

If a file fails to attach, the bot says so in the thread. Ask again to get it. While the analysis runs, the thread shows each step as it happens. The steps are “Understanding your question…”, “Finding relevant data tables…”, “Writing your query…”, “Running the analysis…”, “Reviewing results…”, “Creating visualization…”, and “Synthesizing insights…”. Deep Analysis also shows “Generating strategic questions…” and “Running parallel analyses…”.

Row caps

Every query is capped so one question cannot scan your whole warehouse. The table preview shows at most 100 rows either way. The CSV carries everything the query returned, up to the cap. If a data pull returns exactly 100 rows, assume it was cut off. Narrow the date range, add a filter, or ask for an aggregate instead.

Charts

No chart appears when the answer is a single number, when you asked for a data pull, or when the data does not suit a chart. The table and CSV are still there.

The SQL

Read the SQL when a number matters. It shows the exact date range, the metric that was summed, and every filter applied. Those three things explain most surprises.
You can copy any query into the BigQuery console and change it. Comparing the generated SQL with the table schemas is a fast way to learn the data model.

Threads and follow-ups

The analyst keeps context inside one Slack thread. These are the rules:
  • Same thread continues. Follow-ups such as “break that down by channel” build on what the thread already found.
  • In channels, mention the bot. Reply with @SourceMedium in front of your follow-up. A reply without the mention does not run. In a 1:1 DM, type normally.
  • A new thread resets. Nothing carries across threads. Start a new thread to change topic or, in a multi-store workspace, to switch stores.
Summaries and recommendations (“summarize this for leadership,” “what should we do next?”) use the thread’s findings and do not run new SQL. If no analysis has run yet, the analyst asks you to run one first. If your request is ambiguous, it runs a fresh analysis instead. Thread context is condensed as it grows. In a long thread, restate an older detail in your prompt if it matters. You can ask a second question while one is still running. It is queued and runs next. See Troubleshooting for the limits.

Validate before you cite

An answer is only as good as the question and the data behind it. Before a number goes into a report or a decision, check these four things.
  1. Read the SQL. Confirm the date range is the one you meant. Confirm the metric is the one you meant: gross, net, or total revenue. Confirm the filters match the report you are comparing against: store, channel, order validity, customer type, and subscription status.
  2. Check freshness. Ask “How is my data health?” If a table you depend on is stale, the answer is missing days. Compare complete days only, never today.
  3. Cross-check one number. Run the same SQL in BigQuery, or compare the headline figure with your SourceMedium dashboard for the same range and filters. If they differ, the SQL will show why.
  4. Rate the answer. Use Good response or Bad response. A negative rating opens a form where you can say what was wrong. The Feedback action opens the same form at any time.
Once a question has passed these checks, keep its SQL. Re-running the saved query is the quickest way to refresh the number later and to notice if something upstream changed. For the handful of numbers your team reports on, agree a short list of questions, validate each one once in BigQuery, and re-run them monthly and after any attribution or data source change. That list becomes the set of answers everyone can cite without re-checking.
Focus on the SQL logic, not just the final number. A query can return a plausible number while using the wrong filter.

Troubleshooting

Wrong numbers, empty results, queued questions, and access errors.

Data and attribution health

Check table freshness and UTM coverage.

Metrics reference

Definitions for every SourceMedium metric.

Revenue fields

Gross, net, and total revenue explained.