Quiz Document - Cannot get accurate information from CSV Files After learners completed the Quiz

Good day, the Grow Smart Literacy Competition - Level 1 Results All Provinces) you will see there is a column called Time Spent. This is the time each child spent on the quiz - but some of the times are crazy and we are not sure how to interrupt them. Is this something you can give some guidance on?

observations after doing some data analysis:
There are duplicates of names and times that have different % scores.
There are scores without a time.
There are some times that look really short, e.g. some 100% scores that are less than 10 minutes which is a little suspect. It almost feels like some data is missing from the logger_attemptlog file.
Another weird thing is that there can be duplicate timestamps for the same person. The most duplicates I have is 477.

Technical details

  • Kolibri version - v0.14.7
  • Operating system - Windows 10
  • Browser - Chrome

I see no column called ‘time spent’ in the quiz output.

Are all of your questions related to the file logger_attemptlog.xlsx? Am I correct in inferring that this is an export of the logger_attemptlog table from the Kolibri database?

If this is the case, then it has absolutely nothing to do with quizzes. None of the data in there is relevant to quizzes in any way.

I am unsure what you are trying to achieve or understand by looking at this data, and none of the data in the file appear suspect to me.

This is the attempt log table, a learner who has engaged with exercises will have multiple attempts on this table, this is completely unsurprising.

I am not seeing any entries in the attemptlog table without associated timestamps.

Now you’re getting closer - in fact, all of the data relevant to quizzes is missing from this table, because none of this data has anything to do with quizzes.

I would congratulate that student on having made 477 attempts on exercises throughout the entirety of Kolibri.

If you could detail what you are actually trying to achieve with your data analysis, I could give you some very quick pointers of what data you should look at, and what the data actually mean, but at the moment, the concerns that the data are faulty are based entirely on a misunderstanding of what the data you are looking at actually represent.

Kind Regards,

@richard Thank you so much for your reply! I am very glad that you have asked the question “If you could detail what you are actually trying to achieve with your data analysis”

We would like to get the data from the quizes that are created, We create them in Kolibri Studio, import them onto our Kolibri instance, we then set it up in the Coach function, invite all the learners that needs to participate.

The end goal is to determine:
#Which learner have the most correct answers (highest score)
#The TIME each learner took to start and complete the quiz (this is currently the most important part of the information)

Can you please direct me to, where i can find the quiz data that students completed. Before we deleted the quiz, I have copied the enitre db over to my local machine, so I have a full copy of the data. P
dSide note: Some learners will access the Quiz from the Classes section instead of accessing the quiz in the coach funtion. - Please let me know

The simplest way to access the data you want is to put the database into a kolibri home folder, and run Kolibri.

Then use the ‘export to CSV’ function for the quiz to export that data, it does the summarization for you based on the data in the database.

I see you know how to do this, as one of the linked excel files is the data from that CSV export.

If you really want to delve into the database, you will need to examine three different tables.

The exams_exam table will have the identifier for the specific quiz.

The logger_examlog table will have rows connecting a user to a specific quiz identifier.

The logger_examattemptlog table will have each of the individual attempts for the quiz, which will be tied to the identifier for the user/quiz pair in the logger_examlog table.

Between those three tables, you can aggregate all the data.

I would recommend using Kolibri to do this reporting though, as we have already encoded these lookups.

Kind Regards,

@richard Thank you for your speedy reply!

I dont have access to the DB now but I’d like you to clarify the exact name of the tables like I would find it when looking at it, through DB Browser for SQLite:

exams_exam or logger_exams_exam?
I have uploaded some file, I’d just want to to see if i have it please.

the “logger_examattemptlog” is 1.5GB in size, please advise if there’s an easy way of opeining such a CSV please? It is to big to on my desktop and laptop. I even get an error on trying to open it on DB Browser for SQLite (it freezes when try to open the file)

Kind regards,

@richard when a quiz is deleted from the Coach function, is it deleted permenantly? or does it go to a trash/temp folder? Your answer is highly appreciated. Thank you kindly.

Kind regards,

It is exams_exam

I would load it using Python - this is why I recommend just using Kolibri to generate these CSV reports.

1 Like

Thank you so much!

If the quiz has been deleted, it is removed from the database, along with any records referring to that quiz (i.e. entries in the logger_examlog table, and logger_examattemptlog table).

@richard Thank you kindly!

Hi @richard,

Please see quiz results of tow learners who have completed a quiz via the coach funtion.
Both user2 and tesing quiz users received 100%.
Can you please advise how or which database tables do i look at to determine which user finished the quiz first or how long did they take to complete the quiz.


Also, how do we identify which time stamp matches the specific quiz the learner participated in… as there are time stamps from the beginning of time.

Your feedback is highly apprecaiated. Thank you kindly.

Kind regards,

Hi @Bryan_Fisher,

The examlog table has a completion_timestamp field which should tell you when they submitted the quiz: kolibri/models.py at develop · learningequality/kolibri · GitHub

The total time taken is not recorded by our code (in spite of the time_spent field on the examattemptlog table). The best you could do is look at the total time between start_timestamp on the examattemptlog table and the last end_timestamp or the completion_timestamp for the same quiz on the examlog table.

As we have not designed Kolibri to support high speed/high stakes tests, this kind of time information has not been a priority.

Kind Regards,

@richard, Thanks so much for your reply. Much appreciated. This information is very helpful!! :smiley: