Skip to Content
Course content

246: Analyzing Novelty and Primacy Effects

Click on the "Edit" button in the top corner of the screen to edit your slide content.

I've seen a lot of analysts make the same mistake when running A/B tests: they see a massive spike in engagement during the first seven days of a new feature rollout, declare victory, and push the change to 100% of the user base. They assume the "uplift" is a direct result of the feature's value. In reality, they've usually just measured the Novelty Effect.

Assuming Early Gains are Permanent Wins

The misconception here is that a statistically significant improvement in the first week of a trial represents the "true" impact of a change. If you introduce a bright red "Quick-Buy" button to a checkout page, your click-through rate (CTR) will likely skyrocket immediately. But that's not necessarily because the button is better; it's because the button is new. Users notice the change, they're curious, and they click it to see what happens.

If you stop your analysis there, you're lying to yourself (and your stakeholders). Once the novelty wears off—usually within two to four weeks—the behavior reverts to a baseline. If the feature wasn't actually providing value, the CTR will crash back down to where it was, and you've wasted engineering resources on a "win" that was actually just a flash in the pan.

Tracking Performance Decay and Adaptation over Time

To actually tease out whether you're seeing a Novelty Effect (temporary boost) or a Primacy Effect (initial dip followed by slow growth as users learn), you have to analyze the data across time cohorts. Instead of looking at the aggregate mean, we look at the trend line of the conversion rate for the treatment group over the duration of the experiment.

I usually handle this in R by grouping the data by both the experimental group and the day of the trial. This lets us visualize the "decay" of the novelty effect or the "climb" of the primacy effect. Here is how I'd set up that analysis for a checkout flow experiment:

library(dplyr)
library(ggplot2)

# Let's assume 'trial_data' has: user_id, group (control/variant), day, and converted (0/1)
# We calculate the daily conversion rate per group
daily_performance <- trial_data %>%
  group_by(day, group) %>%
  summarize(conv_rate = mean(converted), .groups = "drop")

# Plotting the trend is the only way to truly 'see' these effects
ggplot(daily_performance, aes(x = day, y = conv_rate, color = group)) +
  geom_line(size = 1) +
  geom_point() +
  labs(title = "Conversion Rate over Trial Duration",
       x = "Day of Experiment",
       y = "Conversion Rate") +
  theme_minimal()

When you look at this plot, you're looking for specific signatures. If the variant starts high and slopes downward toward the control line, that's your Novelty Effect. Conversely, if the variant starts lower than the control but steadily climbs as users get used to the new interface, you're witnessing the Primacy Effect. The latter is actually a good sign; it means there is a learning curve, but the tool is eventually more efficient.

My rule of thumb? Never trust a result that hasn't stabilized. If the lines are still aggressively sloping, you haven't finished the experiment. You need to wait for the "steady state" before you make a decision about shipping the code.




📋 Practical Task

Analyzing Decay in the 'One-Click-Upsell' Feature Trial

You have been handed a dataset upsell_results.csv containing 30 days of data from a trial of a new "One-Click-Upsell" feature. The stakeholders are convinced the feature is a success because the overall conversion rate is 15% higher than the control. However, you suspect a Novelty Effect.

Your Task:

  • Load the dataset and calculate the daily conversion rate for both the control and variant groups.
  • Create a line plot showing the conversion rate over the 30-day period.
  • Determine if the variant group's performance is stabilizing, continuing to drop (Novelty), or continuing to rise (Primacy).
  • Write a brief conclusion based on the plot: should the feature be rolled out to 100% of users, or does the data suggest the initial gains were temporary?
Rating
0 0

There are no comments for now.

to be the first to leave a comment.