Skip to main content

Building Experiments

In Eppo, you can build your experiments using a few core building blocks:

These building blocks are combined in the Eppo Data Pipeline

Overview

Let's suppose that you're a food delivery app that wants to track the effect of a new push notification on customer ordering habits.

Assignments refer to the assignment of customers into different experiment groups (some of the customers received the push notifications and some of them did not).

The food delivery app will have events that occur like "Customer X placed an order worth $23.44 from Restaurant Y at time T".

SELECT
ts,
customer_id,
restaurant_id,
order_value,
promo_amount
FROM mydb.myschema.restaurant_orders

Entities are who was involved in the event - in this case Customer and Restaurant.

Facts (one of kind of Definition) are the numeric quantities associated with the event - in this case order_value and promo_amount.

Facts are aggregated to form Metrics which you use to evaluate Experiments.

From the above restaurant_orders event, you can construct metrics such as:

  • Total order volume -- the sum of order values across all customers
  • Number of orders -- the number of orders placed by all customers
  • Distinct ordering customers -- the number of customers who have placed an order
  • Total revenue by customer (entity = customer, fact = order_value)
  • Total revenue by restaurant (entity = restaurant, fact = order_value)
  • Total promos received by restaurant (entity = customer, fact = promo_amount)