Product

Explain change. Act with guardrails.

Touché turns live operational data into clear “why it moved” explanations and safe, governed actions. One place to see what changed, the drivers behind it, and the best next step.

Sources KPI Model Layer Versions • Freshness • Lineage Explain Drivers • Evidence Act (Guarded) Approvals • Limits • Audit
On-time deliveryTarget ≥ 92%
+0.6 pts vs prior
NPSTarget ≥ 50
+2 vs prior
Revenue (MTD)Target $2.0M
+4.2% vs prior
Users

Who is it for

Data leaders

One model layer reused across dashboards, alerts, explanations and actions. Versioned KPIs, lineage and freshness by default.

Ops owners

Clear “why” behind shifts by product, region or cohort. Turn insights into guarded playbooks without leaving your stack.

Executives

A weekly view that explains movement and tracks the follow-through: who ran what action, when, and with what result.

Product

What’s inside

KPI Model Layer

Define metrics once (UI or SQL). Keep versions, dims and freshness goals in one place.

  • Lineage & change history
  • Reusable across UI, alerts & actions
  • Unit tests for critical KPIs

Explain

Plain-English narratives that point to real rows behind the claim.

  • Driver breakdowns by cohort
  • Links to evidence (tables & charts)
  • Confidence scoring

Guarded Actions

Fix issues via playbooks with approvals and limits.

  • Tickets, CRM updates, notifications
  • Record caps, dry-runs & rollbacks
  • Audit trail for every run

Observability

Trust signals for data and actions.

  • Freshness, latency, usage
  • Error budgets & alerting
  • Exportable logs
Example: Save at-risk accounts
# Trigger: 7-day inactivity + high ARR
action: "save_at_risk_accounts"
filters:
  - inactivity_days >= 7
  - arr >= 20000
steps:
  - create_ticket: Jira/CSM
  - send_nudge: Email + In-app
limits: { max_records: 50 }
approvals: ["ops_lead@company.com"]
Example: Protect OTD
# Trigger: ETA slippage in West region > 10%
action: "protect_otd"
drivers:
  - carrier_delay% by lane
  - backorders by SKU
steps:
  - reroute_carrier: Lane = West
  - pull_forward: SKU in top_backorders
limits: { max_records: 40 }
approvals: ["logistics_mgr@company.com"]
Security

Enterprise-grade by default

  • SSO/SAML, OAuth2/OIDC • RBAC & tenant isolation
  • PII masking • AES-256 at rest • TLS in transit
  • Secrets vault • rotation • rate limits
  • Exportable audit logs • SIEM forwarding
  • Data residency options • private/VPC deployment
{
  "event": "action.run",
  "actor": "ops_analyst@company.com",
  "resource": "playbooks/save_at_risk_accounts",
  "approved_by": "ops_lead@company.com",
  "limits": {"max_records": 50},
  "timestamp": "2025-03-07T12:41:06Z"
}

Every action is logged with approver, limits and outcome.

Getting started

From zero to outcomes

1) Connect

Connect to the systems that matter the most (CRM, billing, support, logistics).

2) Define 5 KPIs

Set targets & freshness, confirm dims/lineage. We include templates for common ops KPIs.

3) Enable 1 playbook

Pick a guarded action (e.g., save at-risk accounts). Approvals + limits on day one.