Novelty
novelty
Novelty and primacy effect diagnostics using temporal interaction models.
This module provides detection systems for time-varying treatment effects, helping experimenters distinguish stable, long-term changes from temporary user behavior shifts triggered by feature novelty or initial friction (primacy).
| FUNCTION | DESCRIPTION |
|---|---|
check_novelty_effects |
Detects novelty or primacy effects by tracking treatment effect size evolution over time. |
check_novelty_effects
Detects novelty or primacy effects by tracking treatment effect size evolution over time.
In online user testing, two common behavioral biases can distort short-term results: - Novelty Effect: Users are initially drawn to a redesigned feature, leading to a temporary surge in engagement that decays back to baseline. - Primacy (or Learning) Effect: Users are initially slowed down, causing a temporary dip in conversion that recovers once they adapt to the change.
Mathematical Representation and Regression Detection
We fit an ordinary least squares (OLS) regression model with an interaction term between treatment \(T_i \in \{0, 1\}\) and elapsed time \(t_i\): $$ Y_i = \beta_0 + \beta_1 T_i + \beta_2 t_i + \beta_3 (T_i \times t_i) + \varepsilon_i $$
Args: df (pd.DataFrame): The experimental dataset. treatment_col (str): Column name identifying experimental groups/arms. metric_col (str): Column containing the evaluated metric (continuous or rates). time_col (str): Column name representing the timestamp or elapsed date index.
| RETURNS | DESCRIPTION |
|---|---|
dict
|
A dictionary containing estimated interaction coefficients, standard errors, p-values, and behavioral bias classifications.
TYPE:
|
Source code in src\xpyrment\validate\novelty.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | |