Hetu / Industries / Commerce & growth platforms

Decision verification for commerce & growth agents

Your growth agent is right most of the time. That's exactly why it's dangerous.

Hetu verifies budget, pricing, and lifecycle agent decisions before they execute — so a confidently wrong attribution cannot move spend unchecked. For CTOs and VPs of engineering and product building autonomous agents on commerce and marketing data, where the failure mode isn't the agent being wrong — it's nobody finding out until the spend already happened.

The postmortem

The agent cut spend on the adset that was actually working, because it attributed a seasonal dip to creative fatigue. It sounded completely reasonable. It wrote a clean paragraph. It was also confidently wrong, and it moved ₹40,000 a day for five days before anyone looked.

Your engineers ask the obvious question: how do we stop this happening again? And the honest answer with a general-purpose LLM is: you can't, structurally — you can only add more prompt engineering on top of a component whose job was never to compute anything correctly in the first place.

Meanwhile every customer contract you're signing says "AI-powered decisions" and every legal review asks what happens when the AI is wrong. You don't have a good answer. You have a good demo.

Why this is an engineering problem, not a prompting problem

You cannot prompt your way out of a component that was never designed to compute.

Silent
A misattributed root cause doesn't throw an error. It ships a plausible sentence and a wrong action, and both look identical to the correct case in your logs.
Recurring
Every new decision type is another prompt to tune, another eval set to maintain, another way for the same class of failure to resurface under different wording.
Unscoped
Without an explicit autonomy envelope, "the agent can act" means all decisions or none. Most teams land on none, and ship a chatbot instead of an agent.

The instinct is to fix this with a better model or a longer system prompt. Both are treating a systems-design problem as a model-quality problem. The fix is architectural: stop asking the model to compute, and it stops being able to compute wrong.

What you get to build on

An engine you integrate, not a prompt you maintain.

"How do we stop the confident wrong answer?"

The model stops computing

Root cause and attribution come from a deterministic rule tree and a fitted causal model. The LLM receives the verified output and writes a sentence about it — it cannot introduce a number or a cause that wasn't in that payload, and is rejected if it tries.

"How do we scope autonomy per decision type?"

An explicit, auditable envelope

You define which decision types can execute unsupervised from day one — typically none. As measured outcomes accumulate per type, the envelope widens. You ship a chatbot on day one and an agent within a quarter, provably.

"What happens when it's uncertain?"

It escalates, then it refuses

A rule miss escalates to the causal model. A causal miss escalates to a constrained hypothesis generator that is forbidden from naming a cause. If nothing clears the bar, the system returns "insufficient context," and your agent has a defined, testable state to handle instead of an undefined one.

"How do we test this like software?"

Deterministic where it can be

Tier 1 is a traversal in configuration — you can unit test it. Tier 2's stopping criteria (explained variance, interval overlap) are numeric thresholds you can assert on. Only Tier 3 touches a language model, and its output is schema-constrained and guard-checked before anything downstream sees it.

"What do we tell the customer contract?"

A confidence label on every output

Confirmed, high, medium, or hypothesis — requires input. That label is the answer to "what happens when the AI is wrong": the system already told you how much to trust it before you acted on it.

"How much do we have to rebuild per client?"

A graph and a gate set, not a fork

The causal graph, the WHY traversals and the hard gates are configuration. Onboarding a new customer or a new decision type is an edit to a table, reviewed by the domain expert who knows the failure pattern — not a new model or a new codebase.

Proof, not a spec

This is running production budget decisions today.

Niti AI runs its entire budget-allocation and creative-fatigue product on this engine. Every recommendation it makes — cut this adset, raise this bid, retire this creative — passes through the same three tiers and the same guard before it reaches a human's approval queue.

  • Decisions are scored, not just generated. Every recommendation's estimated impact is checked against the measured outcome at T+7/14/30, and that accuracy is tracked per decision type — the same discipline you'd want for your own agents.
  • Confounders are a maintained log, not a hope. Sale events, platform algorithm changes and other known distortions are declared, so the confounder check has something concrete to check against.
  • A miss is kept, not hidden. The system's own decision history includes recommendations that underdelivered — that record is what recalibrates the next one, and it's the record a customer would actually want to see.
TriggerPathLabel
Known fatigue pattern, matches traversalTier 1 onlyConfirmed
Novel throughput anomaly, no rule matchTier 1 → Tier 2High
Anomaly overlaps an undeclared platform changeTier 1 → 2 → 3Refused

Row three is a real state your agent needs to handle gracefully — and with this architecture, it's a state your system produces on purpose, not a failure mode you discover in production.

Integration

Sits under your product, not instead of it.

API-firstModel-agnostic narrationConfig-as-table causal graphPer-tenant autonomy envelopesStructured payloads, not raw data, to the LLMImmutable decision logCircuit breakersConfounder registry

You keep your product surface, your users, your brand. Hetu is the layer that decides what your agent is allowed to say it knows.

FAQ

Commerce & growth — common questions

What kinds of growth-agent decisions can Hetu verify?

Budget reallocation, pricing and discount actions, and lifecycle interventions — any decision where a wrong causal claim moves money before a human notices.

Does this replace our growth product UI?

No. Hetu sits under your product as a verification layer. You keep the surface, users, and brand; Hetu decides what the agent is allowed to claim it knows.

How does this relate to Niti AI?

Niti AI is the reference production deployment — its budget-allocation product runs on this engine today.

Can we start with one decision type?

Yes. Most teams prove one decision in shadow via Consulting, then expand the same graph and gates on the platform.

Explore

Where to go next

Design partners

Bring the decision your agent currently guesses at.

We work with a small number of product and engineering teams building autonomous commerce and growth agents. We'll help you encode the traversal your best analyst already runs in their head, wire up the causal graph, and show you the engine refuse for the first time — which is usually the point your team stops worrying about the demo and starts trusting the system.

Request access