Easy A: Alpha to Beta

In two previous posts, I discussed the old Easy A website (Easy A alpha) and collecting FOIA requests from many of the largest universities.

In this post, I plan to share with you:

  • The website traffic (increase) over the past month
  • How FOIA requested information is added
  • How the grade prediction features work
  • How historic grades are used
  • Future steps

The old Easy A website (Easy A – Alpha) looked pretty horrible, crashed regularly, and was actually built on WordPress. The new website (Easy A – Beta) is built in Ruby on Rails and is hosted on Digital Ocean. It looks way better, is simpler to use, works on the major browsers and doesn’t crash!

Easy-A-Landing-Page

New Website = More Traffic

Easy A – Beta has received way more traffic the past month than the previous year. In part, this is because we have added many new universities. However, my only way to really reach them is via Reddit, so most users are getting to the website from either word of mouth or people linking on Facebook.

Over the past month (since the launch) here are the stats:

analynics-month-1Overall, I feel this is pretty good for the first month of the new website! There has been a dramatic reduction in bounce rate, and increase in average session duration. For comparison, the following is the previous year.

analytics-yearThe dramatic decrease in bounce rate and increase in sessions per page is likely due to the fixes in crashing.

How to Add FOIA Requests

One big improvement in the website was building the website with the ability to scale, add new information easily, and have replication (in case of the server going down). Previously, Easy A – Alpha was hosted on a $10 / month Digital Ocean server, with the database on the same server and no web interface to access the database. Therefore, all additions to the database required manual commands executed.

To improve this situation I added a new (separate) Digital Ocean server to manage a PostgreSQL database, and also back up the server regularly. This ensures minimal data loss, while at the same time enabling a level of abstraction. Further, having switched to Ruby on Rails, I was able to build a nice interface to simply add .xslx or .csv file extensions to import data, as simple as the form below:

upload-box

Improving Grade Prediction

One of the cool parts (in my opinion) about Easy A – Beta, is the grade prediction feature!

Essentially, a user can plug-in a semester they are considering like so:

predict-gradesThen when they hit submit the website determines the expected workload, average GPA, etc.

predictionThis prediction is a bit more than meets the eye. The three bars in the chart that display the average grade distribution are the simplest to explain, so we will start there:

  • University Prediction – This bar is the predicted grade distribution for the average student at the university given the courses listed.
  • Your Grades – This is the grade distribution based on a user’s previous coursework, supposing they decide to add it.
  • Weighted Prediction – This is calculated by comparing a user’s previous grades (which they had to add themselves) to the average student, with the user’s previous grades are weighted based on how many they took (i.e. the more historic grades they have, the heavier the weight).

The other values, such as workload, difficulty, group work, and recommendation, are calculated by multiplying a user’s “user workload ratio” by the average students workload. This “user workload ratio” is calculated by comparing similar users. I can’t dive much more into that, as it is still somewhat of a work in progress.

Suffice to say, the algorithm should compare users with similar grades in the same classes, then predict how many hours they will need to work for a future class. Overall, the algorithm has proven itself elsewhere, and seems to be working well on the website.

Historic Grades

As mentioned in the previous section(s), users can add their previous coursework. This enables predictions, as well as the estimated workload, difficulty, groupwork, and whether or not others recommend the course.

add-courseAbove was my first semester (and a summer) at UIUC, if a user clicks “Add Previous Course” they can then add their workload, difficulty, comments, the course book, and more. The idea is to create a more statistical version of ratemyprofessor or Koofers, enabling the features I’ll touch on in the next section…

Where is Easy A Going?

Up to this point, Easy A has been an experiment.

The goal thus far has been to:

  1. Teach people about FOIA requests
  2. Provide straight forward grade distribution chart(s)
  3. Allow users to predict future grades
  4. Determine other avenues to expand Easy A

That last point, number four, is really where I am at today.

I feel the website has been a resoundingly successful experiment. Just in the last three weeks (since signups were opened), we have obtained over 600 new active users.

university-usersThe options for expanding Easy A are pretty straight forward:

  1. Continue to add features and increase premium features
  2. Create an added tutoring service
  3. Work with the university to help students

As it stands, option number three appears the most promising. We can work with the university to build out an automated advisor to augment the already overworked graduate advisors. The goal being to optimize the throughput of university students, reduce dropout rate, and overall increase the learning rate of students (while reducing stress).

If that doesn’t pan out, we plan to add a few new features in the hopes that it will make the website more sustainable. If not, it will likely be shut down.

So, if you know any advisors at the university, please send them our way! We would like to help make their lives easier!

In this series…

  1. Don’t be a fool, FOIA your school
  2. Lessons Learned FOIA Requesting Over One Hundred Universities – Previous Post
  3. Easy A: Alpha to Beta

Leave a Reply

Your email address will not be published. Required fields are marked *

 characters available

Time limit is exhausted. Please reload the CAPTCHA.