RecomNext

Analytics and experiments

Measure recommendation performance per scenario and compare A/B variants. Tenant-wide metrics work without scenarioSlug; per-placement CTR and experiments need consistent attribution.

Tenant-wide vs per-scenario analytics
SettingTypeDefaultDescription
GET /analytics/interaction-volumetenant-wide—All interactions — scenarioSlug not required.
GET /analytics/interactions-by-typetenant-wide—Breakdown by view / cart / purchase / rating.
GET /analytics/top-itemstenant-wide—Top items by interaction count across the site.
GET /analytics/scenario/:slug/*per-scenario—CTR, funnel, top items — requires scenarioSlug on impressions and attributed interactions.

Logging interactions without scenarioSlug is valid for personalization and tenant dashboards. Those events do not appear in per-scenario funnel or experiment results.

Prerequisites for accurate funnels
SettingTypeDefaultDescription
Impressionsrequired—Log when rec items are visible, with scenarioSlug.
Interactionsrequired—view / cart / purchase with matching scenarioSlug when attributing to a placement.
Stable scenario slugsrequired—Same slug on fetch, impressions, and downstream events.
Scenario analytics endpoints
SettingTypeDefaultDescription
GET /analytics/scenario/:slug/summaryendpoint—Impressions, clicks, carts, purchases, CTR, conversion.
GET /analytics/scenario/:slug/funnel-volumeendpoint—Daily time series per funnel stage.
GET /analytics/scenario/:slug/top-itemsendpoint—Per-item metrics for the scenario.
GET /analytics/top-recommendedendpoint—Cross-scenario top items.
GET /analytics/summaryendpoint—Tenant-wide aggregates.
Integration health checklist

Before trusting CTR numbers:

  • Impressions fire when carousel cards become visible (50% threshold default in SDK).
  • scenarioSlug on impressions matches the scenario used in recommend().
  • Cart and purchase events include the placement that drove the action when known.
  • Identity merge runs after login so user history is complete.
Experiments (A/B tests)

Experiments attach to a base scenario and assign users to variant scenarios (different slugs, filters, or algorithms).

SettingTypeDefaultDescription
variantsarray—Each variant references a scenario slug and traffic weight.
assignmentuserId—Sticky per user at recommendation fetch time.
GET /experiments/:slug/resultsendpoint—Per-variant CTR and conversion comparison.
Use case
Homepage — control vs boosted featured

Control variant: scenario homepage-for-you. Treatment: homepage-for-you-boosted with extra boosters on featured titles. Compare results after 2 weeks of traffic.

Related guides