TangentLens

Home / Product / AI & root cause

AI you are allowed to distrust.

Two features, and only one of them uses a model. Both are built on the same principle: you should be able to check the answer. An analytics tool that asks for faith is not an analytics tool.

Ask in English

Type the question. Read the SQL.

Write what you would have asked an analyst. Tangent turns it into a query, runs it on your warehouse, and shows you the query it ran — loaded into the builder, so you can change a filter and run it again without starting the sentence over.

  • 01It refuses rather than guesses. If the generated query names an event or property your workspace has never recorded, Tangent declines to run it and names the offender. One repair attempt is made with the specific errors; after that it says it could not build a query and asks you to rephrase.
  • 02Your raw events never reach a model. What leaves your workspace is the schema — event and property names and their types — plus your question. The answer comes from running the query here, on your rows. That is both the privacy guarantee and the reason a small model is sufficient: the job is translation, not reasoning about your users.
  • 03Every answer is counted and capped. Questions are metered per workspace per month and a burst limit applies, so one runaway script cannot consume a month in a minute.

Bring your own model

Three places it can run.

Some organisations have an approved AI vendor. Some cannot let anything touch a third party. The feature is identical in all three cases — only the address changes.

Every plan

Tangent-hosted

Works on signup. The model version is pinned, so answers do not change under you without notice. We pay for the inference.

Growth and above

Your own key

Your provider account — OpenAI-compatible or Anthropic. Saving runs a real test question first; if your provider refuses, nothing is stored and you see its exact error.

Enterprise

Your own endpoint

A model inside your network — vLLM, Ollama, TGI, Azure OpenAI, any OpenAI-compatible server. Nothing about your schema leaves your infrastructure.

Keys are encrypted at rest, never returned by any API once saved — you see a hint like …7Qx2 — and never written to a log. Your workspace admin sets its own per-minute limit; on bring-your-own tiers they can raise it, because the inference is theirs.

Root-cause analysis · no model involved

Why did this move?

Click any metric. Tangent compares your window against the one before it, scans every breakdown dimension — country, device, platform, operating system, browser, app version, source, medium, campaign, channel, referrer, plan — and ranks the segments carrying the change. It runs entirely on your warehouse, so it is on every plan and nothing leaves.

checkout_completed · 7d vs prior 7d
SegmentShare of changeq-value
Safari 17 · iOS−41.2%0.003
Checkout v4.2 rollout−22.8%0.011
Paid search · brand+6.1%0.28
Enterprise plan—too small to assess
34 segments tested · 4 would look significant uncorrected · exploratory

What makes it different from a list of anomalies

  • →Multiple comparisons are corrected. Scan two hundred segments at a five-percent threshold and about ten look meaningful by chance. Each segment is tested — a two-proportion z-test for rates, a Poisson test for counts — then every p-value is corrected across everything tested. You see the corrected q-value and how many would have fooled you.
  • →Thin segments are not tested at all. Below the minimum size they are listed as too small to assess with the counts that made it so. No statistic is computed from data that cannot support one.
  • →"The mix did not change" is a result. Each dimension gets a chi-square test of whether its split shifted. When none did, the headline says the metric moved everywhere at once — look for a release, an outage, a campaign or a tracking change, not for a segment.
  • →Everything is labelled exploratory. This is observational data: it can rank suspects, never convict one. The warning sits on the panel, on every chip and in the caveats, so a screenshot cannot lose it.
  • →The work is shown. Which dimensions were scanned, which were skipped and why, both windows, the timezone, and every SQL statement that ran.

Honest about the edges

Does my data train anyone's model?

No. Your events are never sent to a model at all, and the schema and question that are sent go to the provider you chose — ours, yours, or one inside your own network.

What happens when the model is wrong?

You see the query, so you can tell. If it references something that does not exist, Tangent refuses to run it rather than returning a confident wrong number. If it produces a valid query that answers a slightly different question, the SQL on screen makes that obvious immediately — which is the entire reason it is on screen.

What is not supported yet?

No streaming answers, no memory between questions, and no Bedrock or Vertex adapters — use an OpenAI-compatible or Anthropic endpoint. Root-cause analysis covers counts, unique users, sessions and conversion rates; sums and averages such as revenue are not tested yet. We would rather you read that here than discover it in month two.

Can I turn AI off entirely?

Yes, per workspace. Root-cause analysis keeps working, because it never used a model.

Ask it something about your own product.