Automatic paper surveys

Online surveys are quick and convenient, but sometimes you just need paper.  Perhaps your public can't use smartphones or laptops, or your survey happens in a remote location.

This job involves 400 people having to rank their top 3 choices for a conference. To complicate things, places are limited for each activity.  In addition, not everybody has access to the same events (some are restricted to a subset of them).

This is how we solved it:

Make forms

The first program used the list of participants and restrictions to create 400 PDFs, each tailored to each individual and containing a QR code.  Something like this:

These were then filled out by the participants during an event.  

AutoScan

They were then placed on the scanner bed and scanned at once into 400 pictures:

Computer Vision

Our program opened each file, read the QR code (finding name, group and restrictions), and cropped the answers.  All answers were read in a few seconds:

Detecting the circles with the most non-white pixels

In all automation projects, people are expected to make errors or to break the rules.  For example erasing circles with white-out, writing over them or selecting more than 3 circles.

some issues filling forms

Such possibilities were caught by the program and sent to a folder for review by an employee.

Once processed, all users were assigned their activity by a program.  A final processing step checked for over-subscribed activities.  If too many people had signed up, a few random ones were given their 2nd choice, or if not available, their 3rd choice.  Finally it was all automatically writen to a google sheet that participants could check.

This process had to be done every few months, so a job that would have taken hours of tedious and error-prone transcription and sorting was turned into a 30 minute job.

If you need to increase the quality of your data and save employee time, we can probably help you.


For the mathematically inclined, the general version of this problem is called the Maximum Bi-partite assigning problem, or Student-Project Allocation problem.