From business question to trusted answer.

The Analyst learns your context, composes a plan before SQL, and compounds every accepted answer. The same Context Graph later powers the Advisor.

You Ask, Review, and Reuse. Underneath, Spotonix Learns, Composes, and Compounds. This page is the underneath.

Learns what your team already built.

Every verified answer starts from learned business context, not a blank prompt.

Builds the Context Graph from your stack.

Schema, your modeling layer, BI assets, and approved query history. Spotonix studies the corpus and constructs a Context Graph — yours alone.

Your stack:
Warehouse Snowflake schema tables · columns · types
Transformations dbt models refs · sources · materialized
BI assets Power BI · DAX models measures · hierarchies · relationships
Activity SQL query history 12 months · all users

Your Context Graph · TPC-DS retail

Customers Segment Premium Customers Segment High Spenders Segment Stores Segment Sales Calc · conformed Categories Dimension Dimension · Channel Calc · QoQ Retention Calc · YoY Growth Premium Count Answer · 1,021
Segments Calculations Answers Dimensions
18,432 SQL queries analyzed
142 dashboards parsed
89 dbt models read
47 building blocks composed

Composes the governed plan before SQL.

If intent is ambiguous, it asks. If definitions conflict, it refuses to guess. Same accepted plan. Same SQL. Every time.

When a term is ambiguous, it asks. Once.

First time Spotonix sees an ambiguous term, it asks you to clarify or rephrase. Every subsequent question uses your validated definition automatically — no re-asking. The clarification is a one-time tax — once accepted, that decision becomes reusable context for every future plan.

Turn 1 First time it sees "high spenders"
> What Product Categories do High Spenders like to shop?
?

"High spenders" matches two Segments. Pick one — or rephrase.

"Spend > $5,000 / year" validated and added to your Context Graph
Turn 2 Any subsequent question
> List of Top 5 Categories of products high spenders are buying this year.

Plan · auto-applied from Context Graph

"high spenders" Spend > $5,000 / year Segment · from your Context Graph · last validated 6 days ago
"Top 5 Categories" rank(sum(sales)) desc, limit 5 Calculation · Intent Algebra: ranking
"this year" year = current_year Dimension · time filter
No clarification needed. Algebra closed · SQL compiled · 5 categories returned

Clarifies once. Reuses every time. Every disambiguation strengthens the Context Graph — and shortens the next question.

Read the plan before any SQL runs.

A real, multi-concept question. Every interpretation is a graph — named nodes, named edges — that you can read in seconds. The composed plan is the trust surface — SQL only compiles after the intent is closed.

> Which stores are losing habitual buying customers over the last 4 quarters?
Answer Stores with Declining Habitual Buyers 12 stores · ranked by QoQ drop
resolves to
Segment · found Habitual Buyers customers with ≥ 4 purchases per quarter · spend ≥ $500
grounded on
Calculation · Intent Algebra: growth QoQ Customer Count Change (current − prior) / prior · threshold < 0
scoped by
Dimensions Store × Quarter cross-tabulated over the last 4 quarters
Algebra closes · plan accepted · SQL compiled deterministically in 2.1s same accepted plan → same SQL, every time

It knows the difference between sales and revenue.

“Sales” living in three tables under three names is the easy part. The hard part: sales isn’t revenue, gross isn’t net, and a unit price was never meant to be summed. An prompt-only tool conflates them and answers — confidently. Spotonix binds every metric to its real definition — family, variant, gross-vs-net, channel, additivity — and when the binding would be wrong or ambiguous, it refuses or asks instead of guessing.

> Show me the YoY Sales percentage change.
Fact store_sales ss_sales_price
Fact catalog_sales cs_sales_price
Fact web_sales ws_sales_price
Calculation · Intent Algebra: conformed_measure Sales UNION ALL across channels · channel-aware
Calculation · Intent Algebra: Growth YoY % Change = Growth(Sales, year) growth(x, period) = (xcurrent − xprior) / xprior templates: growth · ratio · rate · benchmark · time_compare +20.9% Books · Jan 1999 · store channel

Ask for a direction. Get options to explore.

Sometimes the right question is "show me what's interesting." Spotonix proposes four candidate Segmentations — each with its own Intent Algebra — and lets you drill into any of them.

> Show me how the customer dimension is segmented with respect to sales.

Three customer-related dimensions surfaced from your Context Graph — all joined to store_sales, catalog_sales, web_sales. Each attribute below is an axis you can segment on; no values fetched yet.

Dimension

customer

identity & lifecycle

  • c_preferred_cust_flag 2 values flag_partition
  • c_birth_year date cohort_window
  • c_first_sales_date_sk date cohort_window

Dimension

customer_demographics

demographic profile

  • cd_gender 2 values cross_segment
  • cd_marital_status 5 values cross_segment
  • cd_education_status 6 values cross_segment
  • cd_credit_rating 4 values cross_segment

Dimension

customer_address

geographic · hierarchical

  • ca_state 50+ values dimension_drilldown
  • ca_city many dimension_drilldown
  • ca_zip many dimension_drilldown
  • Hierarchy country → state → city → zip

Compounds accepted answers into reusable context.

Every verified answer compounds your Context Graph.

Watch five real questions play through. The Segments and Calculations from each Answer persist — and the reuse rate climbs as the graph fills in. The 100th question starts with more accepted context than the 1st — most of its building blocks already exist.

See it with your data.

Start with the hosted demo, then bring your own artifacts into a guided evaluation.

Fastest · in seconds

Live Sandbox

A working Spotonix instance against a sample retail dataset. Verify your work email, then sign in with Google.

Request sandbox access →

Most Relevant · use your own model

Upload Your PBIX

See how Spotonix interprets your own DAX models — dry-run, no warehouse credentials required.

Coming soon · talk to founders for early access →

Deepest · founder-led

Guided Evaluation

Bring your questions, data challenges, or PBIX files into a founder-led session tailored to your business.

Book a guided evaluation →