Results

Read test results, the events an environment receives, and visitor analytics from an agent.

Everything here is read-only and works for any role. Paths start with /api/agent/organizations/{organizationId}/{environment}.

Test results

curl https://improve.obelism.studio/api/agent/organizations/$ORG/production/tests/$TEST/results \
  -H "Authorization: Bearer $TOKEN"
{
	"testId": "test_01H8XYZ",
	"status": "ready",
	"usageLimitReached": false,
	"results": {
		"summary": { "dateStart": "…", "dateUpdated": "…", "totalSessions": 2000 },
		"result": {
			"control": { "page_view": 1000, "sign_up": 100 },
			"bold": { "page_view": 1000, "sign_up": 140 }
		},
		"resultsByDate": []
	},
	"significance": {
		"confidence": 95,
		"control": "control",
		"significantVariants": ["bold"],
		"variants": {
			"bold": {
				"significantResult": true,
				"percentile": 99,
				"zScore": 2.78,
				"standardErrorDifference": 0.014
			}
		}
	}
}
  • result has the unique visitors per variant for each event of the test. The first event is the start, the last is the conversion.
  • value and orders appear when events carry a value, such as an order total. They add up every event, including repeat purchases.
  • significance compares each variant with the control, the first variant, at 95% confidence.
  • status is pending, and results is null, until the test has exposures.

Results are cached. A cached result comes back straight away and is recalculated in the background when it is older than 5 minutes. POST to the same path recalculates now. It answers 202 while there is nothing to calculate yet or a calculation is already running.

When the organization is over its analytics usage limit, results freeze at the last calculation: usageLimitReached is true, and a recalculation answers 402 usage_limit_reached.

Events

GET .../events lists every event and scope the environment has received, or a test refers to, with a count and lastReceivedAt. Use it to choose a test's events.

Visitor analytics

GET .../analytics?timezone=Europe/Amsterdam returns the charts of the dashboard's Events page:

  • visitors: unique visitors per time bucket over the last 24h, 7d, 30d and 90d
  • popularPages: the most viewed pages
  • countries: visitors per country

timezone is an IANA time zone for the buckets, and defaults to UTC.

On this page