Whether it’s from L&D vendors or organizations building custom e-learning courses or assessments, the xAPI statement question we’re asked most often is: How do I design xAPI statements for quizzes and questions?
As you can imagine, quizzing is a type of learning experience that the xAPI specification authors had in mind when writing the specification, and it's seen many xAPI implementations.
As a result, there's a well-worn path and clear expectations of how xAPI statements for quizzes should be structured. In particular, there are certain xAPI statement properties (in addition to the usual advice about implementing xAPI) that are important to include when sending statements about quiz questions.
How to Use Context Properties
First, it’s important to ensure a learner’s response to a question can be tied to the quiz as a whole and to each attempt at the quiz. This is key because when you report on the data, you can look at a learner’s quiz attempts as a whole or at an individual quiz attempt.
To link the question to a quiz (or assessment, test, observation etc.), include an activity representing the quiz within the context.contextActivities.parent
property of the statement. This should be the same activity ID used in the object of the statement when recording interactions with the quiz as a whole (e.g., completion).
To link the question to other responses in the same attempt, use the context.registration
property to record the same UUID for all statements relating to a particular attempt. For example, the context property of your statement might look like this:
See the Context section of the xAPI specification for more details.
Interaction Activities
Be sure to use the activity definition properties specifically designed for statements about questions. The technical details are outlined in the Interaction Activities section of the xAPI specification with examples in the appendix.
Even though many of the properties are listed as “optional” in the specification, you should use them in your statements where you have relevant data. This includes listing the options for the questions as “Interaction Components,” which are lists of options, each with an ID and description.
It’s generally best to use human-readable text for the IDs rather than random numbers. IDs also can include spaces and other special characters. These optional properties contain important data that users will want to see while viewing reports.
The exception to using human-readable text is when you use questions on a scale (e.g., “To what extent do you agree with…”). For these types of questions, it’s best to use a numerical ID representing the response’s position on the scale so you can perform calculations—such as the average response. For example, it’s not possible to calculate an average of “strongly agree” and “disagree,” but you can average 4 and 2.
For this reason, you can use 4 as the ID for “strongly agree” and 2 as the ID for “disagree” so you can calculate the average response. (Note: Although the examples in the xAPI specification don’t follow this advice, it’s become a good practice for using xAPI in the real world.)
Here’s an example:
Always Test Your xAPI Data
Testing your data is important because, otherwise, you can end up collecting data that contains errors—which defeats all your hard work. Watershed’s activity report provides a great way to test your quiz and question data. If your report looks wrong, chances are there’s something wrong with your data. And be sure to visit our help site for a summary of these tips and some example xAPI statements.
Recommended Reading
About the author
As a co-author of xAPI, Andrew has been instrumental in revolutionizing the way we approach data-driven learning design. With his extensive background in instructional design and development, he’s an expert in crafting engaging learning experiences and a master at building robust learning platforms in both corporate and academic environments. Andrew’s journey began with a simple belief: learning should be meaningful, measurable, and, most importantly, enjoyable. This belief has led him to work with some of the industry’s most innovative organizations and thought leaders, helping them unlock the true potential of their learning strategies. Andrew has also shared his insights at conferences and workshops across the globe, empowering others to harness the power of data in their own learning initiatives.
Subscribe to our blog