Skip to content

Small fixes for A/B testing from feedback#1258

Open
sethbern wants to merge 1 commit into
RunestoneInteractive:mainfrom
sethbern:ab-fixes
Open

Small fixes for A/B testing from feedback#1258
sethbern wants to merge 1 commit into
RunestoneInteractive:mainfrom
sethbern:ab-fixes

Conversation

@sethbern

Copy link
Copy Markdown
Contributor

I tested this with the peer instruction grant group and everything worked as expected. The only change is that students who didn't vote still stay in the same group as the people they talked to. Before, they could accidentally get split up which would not be the desired outcome for the experiment.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the A/B assignment logic in the peer-instruction pairing endpoint so students remain in the same experimental condition as their recorded in-person (verbal) partners, even when some partners did not submit a vote for the current question.

Changes:

  • Build verbal-discussion clusters using the full recorded peergroup membership (not just current answerers).
  • Persist experiment assignments for all clustered students (including non-voters), so partners always share a condition.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +719 to +721
# Keep the full recorded verbal group, including partners who did
# not vote on this question. A student stays in the same condition
# as the people they talked to verbal partner at all become text chat
Comment on lines +722 to 725
grp = set(find_set_containing_string(in_person_groups, p))
grp.add(p)
grp -= clustered
grp.add(p)
Comment on lines +765 to +766
# Record every clustered student in their group's condition, including
# students whos partner did not vote so partners always share a condition
@bnmnetp

bnmnetp commented Jun 25, 2026

Copy link
Copy Markdown
Member

The grammar fixes are an easy accept I think. The only one I have curiosity about is the double call to grp.add(p ) which just seems like an easy fix also?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants