Bandit for developers

Install it once.Marketing runs the tests.

A TypeScript SDK, a REST API, and a CLI. Assignments return in under 100 ms from the edge. Render the version's config, and new versions ship from the dashboard without a deploy.

Every feature on every plan. 14-day trial starts with your first event. No card needed to start; no charge until day 15.

app.ts
import { BanditsClient } from '@runbandit/sdk'

const bandit = new BanditsClient({
  apiUrl: 'https://runbandit.com',
  apiKey,
})

const context = {
  buying_for: 'a gift',
  device: 'mobile',
  source: 'instagram',
}
const { config } = await bandit
  .getAssignment('hero-headline', visitorId, context)

await bandit.label(visitorId, { occasion: 'a birthday' })

bandit.trackNamedEvent({ name: 'order_paid', value: 64 })
await bandit.trackFunnelReward('gift-funnel', visitorId, 64)

Wire it once. New versions ship from the dashboard.

Who

Ask visitors one question and send the answer as context with each assignment. Add device and source too. Bandit mines that context into visitor groups the marketing team can read.

Audiences
Example data
buying_for: a gift
28%▲ over-converts▲
Everyone else
32%no clear signal
returning: true
17%▲ over-converts▲
buying_for: myselfdevice: desktop
14%▼ under-converts▼
source: email
9%▲ over-converts▲
17,186 visitors

What

Every assignment and reward is a row in the Data tab, with the visitor id you sent.

Data
Example data
  • 14:11:52Treatment requested20% off your first order
  • 14:09:05order_paidComplete my order
  • 14:03:40Treatment requestedComplete my order
  • 14:02:11Treatment requestedGift-ready in 2 days

How

Thompson sampling or a contextual bandit picks the version. Forgetting keeps always-on tests current.

Share of traffic
Example data
  • Gift-ready in 2 days61%
  • Free shipping over $5033%
  • 20% off your first order6%

The whole integration.

Ask for a version with the answer to your question in the context, along with device and source. Record answers that should only describe a group with label. Report rewards as named events, or as one payout for a whole funnel.

Audiences are mined from this context, so buying_for: a gift can become a group. Send short categorical values. Answers sent with label describe groups and are never mined. Keys ending in Id, and keys like userId, url, and timestamp, are never mined either.

The CLI runs the same steps as the dashboard, so a script can set up a test.

terminal
$ bandit login
$ bandit experiments create --funnel <funnel-id>
$ bandit treatments create <experiment-id>
$ bandit experiments start <experiment-id>

Where it runs.

Bandit does not replace your analytics, send your email, or touch your ad accounts.

$ npm i @runbandit/sdk

Your website or app

A developer adds the TypeScript SDK or calls the REST API once. After that, you add versions and read results in the dashboard. The bandit CLI scripts the same steps.

Find out who converts on your site.

Growth is $99 a month and Scale is $299 a month, with unlimited team members and every feature on every plan. The 14-day trial starts with your first event, with no card needed to start and no charge until day 15.

Bandit for developers