enteract.ai
Setup
{{ st.num }} {{ st.name }}

Connect your data

Connect your product, revenue and CRM systems. Enteract's agent reads them directly — no schemas to define. Connect at least three so it has enough signal to model your business.

{{ s.logo }}

{{ s.name }}

{{ s.sub }}

{{ connectedLabel }}

Tell us about your business

A few sentences on your product, how you make money, and what a healthy customer looks like. The agent combines this with your connected data to decide the value zones — so they fit your business, not a template.

Start from an example:

{{ buildTitle }}

{{ buildSubtitle }}

{{ streamHeading }}

{{ streamSub }}

{{ streamCount }}
{{ l.icon }} {{ l.label }}

What the agent proposed

{{ modelName }}

{{ f.k }} {{ f.v }}

{{ zoneCountLabel }} value zones generated

{{ z.name }}

Value Score definition

{{ scoreModeLabel }}
Score = {{ t.op }}{{ t.weightLabel }}·{{ t.key }}

A transparent starting formula, not a black box. You can fine-tune each weight later from any zone's drill-down.

Deriving zones from your data
and business description…

{{ dvCompany }} · synced from {{ dvCrmName }}

Customers

What you can already see about your paying customers — no Enteract in this view yet. {{ custPayerLabel }}.

{{ t.label }}

{{ t.deltaLabel }}

{{ t.value }}

{{ t.sub }}

At-risk payers · sorted by recency ratio

gap since last purchase ÷ their own typical gap
{{ r.id }} {{ r.gapLabel }} {{ r.ratioLabel }}

Payer conversion

{{ st.label }} {{ st.nLabel }} · {{ st.pctLabel }}

{{ t.label }}

{{ t.value }}

{{ t.sub }}

Purchase frequency

How many times each payer has purchased — the shape behind your "average".

{{ custFreqHist }}

Deeper patterns · full 180-day history, not scoped to the range selector above

Cohort revenue curves

Each line is one signup month, tracked from M0 — newer cohorts just haven't had time to grow yet.

{{ custCohortChart }}
{{ c.label }} · {{ c.size }} users · {{ c.finalLabel }}

Whale curve

Cumulative revenue share vs. cumulative payer share — the dashed line is what "everyone spends the same" would look like.

{{ custWhaleChart }}
{{ custWhaleTop5Label }} of all revenue comes from your top 5% of payers.

Spend velocity

{{ custVelocityN }} payers, by trajectory

Comparing each payer's recent spend to their own earlier spend.

{{ seg.label }} · {{ seg.pctLabel }}

{{ custVerticalTitle }}

{{ t.label }}

{{ t.value }}

{{ t.sub }}

{{ dvCompany }} · synced from {{ dvCrmName }}

Overview

Verified against holdout
{{ dashSavedLabel }} incentive budget freed

{{ dashSub }}

{{ dashStat1 }}

{{ dashStat1Sub }}

{{ dashStat2 }}

{{ dashStat2Sub }}

{{ dashStat3 }}

{{ dashStat3Sub }}

Every incentive dollar, better utilized — vs the no-incentive holdout

{{ t.label }}

{{ t.value }}

{{ t.sub }}

Waste avoided

{{ wastedLabel }}

Your flat rule would have spent {{ wastedSub }}.

Cumulative savings

The gap between the flat rule and Enteract, growing over the test.

{{ savingsEndLabel }}
{{ savingsArea }}

Campaign scoreboard

1 live pilot · rest projected from the pilot rate
{{ r.crmMark }}
{{ r.name }} live pilot within CI
{{ r.convLabel }}
{{ r.sparkline }}
{{ r.pctLabel }}
{{ r.savingsLabel }}

Deciding right now

{{ r.valueLabel }} user {{ r.userLabel }} · {{ r.factor }} {{ r.arrow }} sent

{{ dvCompany }} · synced from {{ dvCrmName }}

Campaigns

Your existing campaigns, pulled from your CRM. Keep your segments and triggers exactly as-is — duplicate one with an Enteract arm to A/B test the incentive value per user.

{{ campaignCount }} campaigns · CRM connected
{{ r.crmMark }} {{ r.name }} Enteract A/B {{ r.statusLabel }}

{{ r.trigger }}

{{ r.channel }} · {{ r.crmName }} Open A/B test Duplicate with Enteract

A/B test · {{ abName }}

The split

When {{ abTrigger }} fires, the CRM asks Enteract for the minimum value that will move each user. Same trigger, same audience — only the value differs.

Arm A · Control

Flat rule

Every user gets the identical value the current campaign sends.

{{ controlBars }}

{{ controlSummary }}

Arm B · Enteract

Decided per user

Distribution of the values Enteract assigned — the whole pitch in one chart.

{{ incentiveHist }}
{{ zeroPctLabel }} sent nothing — they would convert anyway. Every one of them is spend the flat rule would have wasted.

{{ enteractSummary }}

Guardrails

read-only

Value grid · {{ guardRange }}

{{ g.label }}

Budget cap

{{ guardBudget }}

Exploration rate

{{ guardExplore }}

Global holdout

{{ guardHoldout }}

A/B test · {{ abName }}

Results

Verified against holdout

{{ resultsHeadline }}

{{ resultsSub }}

{{ a.name }} {{ a.nLabel }} users

Conversion rate

{{ a.convRate }}

Cost / conversion

{{ a.cpc }}

Total spend

{{ a.spend }}

Cumulative incentive spend

Same conversions, diverging cost — the gap between the arms is incentive budget freed.

{{ spendLines }}

A/B test · {{ abName }} · Enteract arm

Why each value

Pick a user in the Enteract arm. The model's factor contributions sum to 100% — each pushed the value down (saves you money) or up.

{{ selUser }} {{ selTier }} exploration
{{ selValueLabel }} {{ selRuleLabel }}

{{ selMarginLabel }}

{{ selNote }}

↓ pushed value down · saves you money pushed value up ↑
{{ f.label }}
{{ f.detail }}
{{ f.arrow }} {{ f.pctLabel }}

A/B test · {{ abName }}

Live feed

Triggers firing in real time. Each decision shows the value Enteract sent and the single factor that mattered most.

Engine live
{{ r.valueLabel }} user {{ r.userLabel }} · top factor {{ r.factor }} {{ r.arrow }} explore sent

{{ company }} · {{ verticalTag }}

Analytics

{{ subtitleAnalytics }}

Engine live

The Value Curve

{{ scoreModeLabel }} score {{ curveBadge }}

{{ popLabel }} users · median score {{ medianScore }} · zones designed by the agent from your business model — click one to inspect it

{{ curveChart }}
0 · {{ firstZoneName }} Value Score — population density 100 · Churned

Read: {{ curveDiagnosis }}

{{ selZoneName }} — zone drill-down

{{ selZonePop }} users

Agent definition — {{ selZoneDesc }}

How this score is computed

{{ scoreModeLabel }}

A transparent weighted formula — the defaults are Enteract's; drag any weight to make the definition your own. Boundaries between zones stay editable in Goals.

Score = {{ t.op }}{{ t.coef }}·{{ t.key }}
{{ t.label }} {{ t.coef }}={{ t.weightLabel }}

{{ t.signal }}

Where this zone is heading — next 30 days

needs event history
{{ flowMap }}

Lifecycle moves left → right only. Users can skip stages — {{ skipExample }} — but never move backward. Heat shows the share of this zone's {{ selZonePop }} users projected to land in each stage; arcs mark the dominant paths.

Decision distribution — intent × channel

Email Push In-app {{ r.label }} {{ c.val }}% No action {{ noActionPct }}% — deliberate silence

Share of today’s decisions in this zone. Guardrails from the active goal cap offers and total touches.

Who is in this zone — segment profile vs all users

partner-provided attributes
{{ a.label }} {{ a.note }}
{{ sg.text }}

Past decisions in this zone — one user at a time

Enteract decides per individual user, not per segment. Each call is logged with the user it was made for, the rationale, and that user's measured outcome — wins reinforced, mistakes corrected. That per-user feedback loop is how the policy learns and compounds ROI over time.

{{ decSummary }}

{{ d.action }}

{{ d.badgeLabel }}
{{ d.when }} {{ d.target }}

Why — {{ d.rationale }}

Outcome

{{ d.outcome }}

Training signal

{{ d.reward }}

Business impact

The boardroom numbers — what a champion takes to their own leadership to justify renewal.

{{ k.label }}

{{ k.value }}

{{ k.sub }}

Boardroom KPIs

{{ k.label }}

Locked

{{ k.value }}

{{ k.sub }}

{{ verticalKpiLabel }}

{{ k.label }}

{{ k.value }}

{{ k.sub }}

System health — engine metrics

{{ k.label }} {{ k.value }}

Value allocation efficiency

needs partner logs

{{ effNow }}%

{{ effLine }}

day 0 · {{ effStart }}% today · {{ effNow }}%
{{ effBaselineLabel }}{{ effBaseVal }}
Enteract policy (OPE estimate){{ effRecoVal }}
Estimated lift {{ effLift }} {{ effCI }}

{{ effOverlap }}

Off-policy estimate · reliability depends on action overlap ⓘ

What the agent is doing, per zone

live decisions

{{ decisionsLine }}

{{ row.name }} {{ row.silent }}% silent
Email Push In-app Discount / offer No action

{{ company }} · {{ verticalTag }}

Goals

{{ subtitleGoals }}

Zones — goals are built on these

Drag a boundary to redefine a zone. {{ zoneEditorHint }}

{{ zoneEditor }}
{{ z.range }}
Playbook templates no history needed

{{ g.name }}

{{ g.status }}

{{ g.zoneName }} zone · Target: {{ g.target }}

AI-tuned
{{ g.spend }} {{ g.offers }} {{ g.cadence }}

{{ g.note }}

Decision history — {{ g.zoneName }}

{{ g.gDecSummary }}

Enteract decides one user at a time. Each per-user call this goal made is logged with the user, the rationale, and that user's outcome — reinforced when it worked, corrected when it didn't. This is the training signal behind the goal's ROI.

{{ d.action }}

{{ d.badgeLabel }}
{{ d.when }} {{ d.target }}

Why — {{ d.rationale }}

Outcome

{{ d.outcome }}

Training signal

{{ d.reward }}

New goal

Target: move Value Score toward Core. Completing a goal is an event — whether it shifts the score is defined by this playbook, not assumed.

Hard cap across all channels — the anti-fatigue guardrail.

AI goal optimization

A separate model tunes these parameters over time.

Pick a playbook template or create a custom goal.
Every goal starts in shadow mode.

{{ company }} · {{ verticalTag }}

Ask Enteract

Ask a question about your business in plain language. The agent reads your live value curve, zones and decision logs, then reports back with grounded analysis and a next step.

What do you want to understand?

Pick a question the agent can answer from your data right now — or type your own below.

{{ m.text }}
enteract.ai

{{ m.headline }}

{{ p.text }}

{{ st.k }}

{{ st.v }}

Reading your curve, zones and decision logs…
Try:

Grounded in {{ company }}'s connected data · answers reflect the current scenario and vertical.

The plan — three horizons

Each move becomes a live goal with hard guardrails. Pick one to set it up.

{{ p.num }}
{{ p.label }} {{ p.desc }}
{{ toast }}