Propose changes to the quiz statistics report

Propose changes to the quiz statistics report

by Tim Hunt -
Number of replies: 7
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

At the OU we are proposing some changes to the quiz statistics report which (all being well) would probably end up in Moodle 2.6. There is a link to the full spec at the end of this post, but here are the highlights of what we are proposing:

1. In the screen-grab below, you can see what happens at the moment for random questions. Question 1 in the quiz is a random question picking from a category containing 5 questions. You can see how many students got each specific question, and what the statistics are. (So, if one variant of the question is harder or easier than the rest, you can see it.)

We are proposing to do the same analysis for question types like calculated, that have internal variants (that is, datasets).

Example of the quiz statistics report

2. This analysis is fine when you have just a few questions in a category (which is how we commonly do things at the OU). However, it is useless when you have a question bank with hundreds of questions. Above a certain limit, we will not show all variants. We will just show three rows for the min, average and max value of each statistic. If you want to expand that to see all the details, then you will be able to click a link to a separate page.

3. If you have a random question that picks different calculated questions with internal variants, then that is fully analyised, but only a summary is shown on the front page of the report, and you have to click through for details. (I don't think this is a common case, but it needs to work.)

Moving on from the statistics to the detailed analysis of responses (http://docs.moodle.org/24/en/Quiz_statistics_report#Analysis_of_individual_question_responses )

4. At the moment it only analyses the student's final response. When you are using Adaptive or Interactive behaviour, that is not necssarily what you want. We will add a new option to analyse either the first, last or all responses.

5. At the moment, all the statistics can only be calculated for each students first quiz attempt, or all quiz attempts. However, the quiz has two other scoring modes: Last attempt and Best attempt. We will extend the report so that it can analyse those attempts to, so you are analysing the attempts that determined the final grade.

6. A trivial point, but computing the statistics can be slow, so we will display a progress bar while the calculations are being done.

Here is the spec with the full details of our proposal. I'm afraid it is a PDF, and contains details of lots of OU-specific question types: https://docs.google.com/file/d/0B_W3H1TnOxK-UnJIcDZ0RWMxaWM/edit?usp=sharing

Average of ratings: Useful (2)
In reply to Tim Hunt

Re: Propose changes to the quiz statistics report

by Joshua Bragg -

This looks great.  I'm particularly looking forward to having better reporting for adaptive mode quizzes.

In reply to Tim Hunt

Re: Propose changes to the quiz statistics report

by Jamie Pratt -

I am going to be working on these improvements to the quiz reports and am hoping we can incorporate them in Moodle 2.6 later this year.

To get the ball rolling on this project I am going to write unit tests for the existing quiz reports. Moodle now has a data generator framework to generate test data in the test database. I am going to write code to generate test quizzes with test questions from each of the question types and have the unit tests read student responses from a csv file. Then we can test that the statistics generated by reports match the ones we pre calculate, for the responses in the csv file.

My plan is then that as I add features or otherwise change the reports I can add stuff to the tests and have some automated tests to run as I go along.

You can follow my progress with these unit tests by following this issue in the tracker and it's sub issues :

https://tracker.moodle.org/browse/MDL-40070 

 

Jamie

Average of ratings: Useful (1)
In reply to Jamie Pratt

Re: Propose changes to the quiz statistics report

by Joseph Rézeau -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators

Jamie "Moodle now has a data generator framework to generate test data in the test database."

Is that https://github.com/nicolasconnault/moodle-data-generator or something else? I'm interested to know.

Joseph

In reply to Joseph Rézeau

Re: Propose changes to the quiz statistics report

by Jean-Michel Védrine -

Hello Joseph,

In docs look in http://docs.moodle.org/dev/Writing_PHPUnit_tests and in master branch look in lib/testing/generator/ and in mod/quiz/tests/generator/ question/tests/generator/ , ...

 

Average of ratings: Useful (3)
In reply to Jean-Michel Védrine

Re: Propose changes to the quiz statistics report

by Jamie Pratt -

Yes, that is the one Jean Michel. It generates data in the unit test data base. The older generator that Joseph provided the link to I believe fell out of use, although I think there was an updated version to use with Moodle 2.0. The older tool was to populate a development server database with random data.

Tim mentioned to me, perhaps it would be a good idea to also create a new admin tool to also be able to populate a test development server db with data, but using the same infrastructure as the unit test data generator. This would seem to be a good idea since then we could take advantage of new code written for the data generator. It might be nice to have such a tool for testing the new quiz reports, I am planning to looking into how difficult it would be to create such a tool.

Average of ratings: Useful (1)
In reply to Tim Hunt

Re: Propose changes to the quiz statistics report

by Gabriel Villalobos Camargo -

Hi Tim.

Is it possible to download the raw data of the answers of the students to a particular test? The conditions under which we run the tests are :

  • We have a fairly large question bank. A test would correspond of 5 questions, each of which is picked up from a category which contains about 20 questions.
  • Questions are multiple choice, with a single good answer each.
  • We have a large number of small groups. A group has 25 students, but overall 500 students take the test.
  • Therefore we set up 25 different quices. Each question would pop out very rarely (2 or 3 times) within each test.

I would like to do a couple of things:

  • I'd like to run a Rasch Model on the data, using my own routines. As it is, if I open a single test and run statistics, most of the time I do not have enough data.
  • I'd like to see, for each question, which of the distractors were chosen more often.

So, having the individual answer strings of each student, related to the identifier of the questions would be enough for us to pull this over. But as I see, what I can get is the information on whether a student got th question or not, but this does not give the distractor nor the specific question from the question bank that he had.

I will be more specific. For example, I choose a quiz, go to "detailed answers" (sorry if it is not the actual name, but in my institution this is installed in spanish), and then I get this:


As it does not say which question each student ended up having to answer, then I can not gather all the data to run statistics myself.

Sorry for the very large reply. Thanks!

In reply to Gabriel Villalobos Camargo

Re: Propose changes to the quiz statistics report

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

Its called the 'Responses' report in English.

Anyway, there is an option in that reprot to also show the question text, which lets you work out which question it was when random questions are use.

Alternatively, if you know SQL, you could used something like https://github.com/moodleou/moodle-report_customsql to get the data directly from the database. (In which case https://docs.moodle.org/dev/Overview_of_the_Moodle_question_engine#Detailed_data_about_an_attempt would help.)