I need an LRS

I’ve got a problem, about twice a week we have a conversation with someone who contacts us in need of an LRS. This should be easy. After all, we sell an LRS; we provide a free LRS as part of our SCORM Cloud platform. What we’ve found, however, is that some people want, and need, an LRS. While others are looking for an enterprise application to manage their xAPI data and help them create reports and explore analytics across their learning data; you know, an LRS.

An LRS by any other name

While we’re always excited to help our customers, the question of “what is an LRS” is one we spend enough time answering that it’s worth doing so publicly.

The first LRS we’ll talk about is the Learning Record Store defined in the xAPI specification. This LRS is designed to enable systems to store and retrieve xAPI statements, store xAPI state, and store various other xAPI metadata from other systems. You’ll notice this is a very minimal definition. It’s intentional. Because xAPI was always intended to enable learning data to be communicated between a wider and wider set of system types, the specification focuses on the communication and high-level data model and leaves everything you might do with that data up to the system and the user.

By leaving the details of such systems, other than the way they communicate learning data, up in the air, the xAPI specification leaves room for many different types of LRSs. In many organizations, the LMS they use to manage the assignment and tracking of learning content contains an LRS, it is an LRS, and they might not know or realize this. That’s because launching xAPI, or TinCan, content developed by modern authoring tools requires an LRS with which to communicate the learner’s data. Most LMS administrators want to be able to report on all of their learner’s training from right there in the LMS; by providing a way for the Learning Activities of their learners to communicate their xAPI data your LMS becomes an LRS as well.

This same thought goes for an HR system that implements the xAPI spec in order to receive learning data, a personal training repository, or an iPad that receives xAPI data from simulators; these are all LRSs. Each of these, assuming they implement the entirety of the xAPI specification, is an example of a highly specialized LRS. These systems implement the xAPI specification and perform something very specific with that data based on their user’s needs. None of these do what you might call, analytics.


No matter where you are, when you ask politely for a Kleenex someone will grab the nearest facial tissue for you without a second thought. By now, everyone knows the story of Kleenex, so I won’t rehash it here. Suffice it to say, “Learning Analytics” pulled a bit of a Kleenex with the name “LRS.”

The most obvious thing to do with all of the new learning data generated by xAPI was to perform analytics on that data–good news since this is one of the primary goals of xAPI. To help organizations perform analysis on the new training data provided by xAPI, the first LRSs to hit the market were all analytics-focused. While it’s great so many systems are being developed to help perform the analytics xAPI was designed to enable, it has caused some confusion.

Most people we talk to think that an LRS performs analytics rather than understanding an LRS is first and foremost a system that can pass the ADL LRS conformance test suite. This test suite tests Learning Record Stores for their ability to communicate perfectly with other systems using the xAPI specification to store learning data.

I still need an LRS

To bring it full circle, people keep calling me because they need an LRS. In 100% of these calls, when you talk to the folks here at Rustici Software about needing an LRS, we’re going to stop and ask, “What are you trying to do?”

We get a lot of different answers:

“Our organization wants to move to xAPI and we know we need an LRS to store our data.”

“My customers want to use xAPI in their training and they say we need an LRS for that.”

“I’m responding to an RFP.”

…And of course many others. Each of those answers is a jumping off point into an entire conversation where we endeavor to understand our customer’s vision and goal. Sometimes this means they buy something we sell, sometimes we send them to free resources, and sometimes we point them to other products that might help them. We’re always happy to help, but we thought people might like a shortcut to start thinking about these items themselves.

So I came up with a couple of questions:

  1. Do you want to become the system that stores xAPI data?
  2. Do you want to build a system that operates on xAPI data?
  3. Do you want to analyze your xAPI data?

Thinking through these questions can help you figure out which LRS you need. You might need something like Rustici LRS, a component you can integrate into your own application to become an LRS. You might need an enterprise learning analytics system. You might even need something we haven’t thought of yet. Whatever you think you might need, we’re happy to have a conversation with you. We’d love to help you verify your thoughts and move your project a bit further down the road.

As always; ask us anything, really.

TJ is the Chief Technology Officer at PeopleFluent, another Learning Technologies Group company, though he used to be CEO here at Rustici Software. He is passionate, expressive and has the most distinctive laugh you’ll ever hear.