500 to 50,000 Students.

More lessons learned about growth.

It has been almost exactly one year since I published my first post on medium: 0 to 500 Students. In that time my life and work has changed a lot, and I wanted to take the time to reflect on that and share what I’ve learned over the past year teaching online.

I teach a few courses on Udemy, including courses on: Python, Data Science, Coding Interviews, and SQL.

In this post I’m going to briefly talk about some of the things I’ve learned and things I hope to do in the future. First let’s take a quick look at a few data points about students.


The Data.

Let’s take a quick look at my new daily enrollments over the past year and explore some details from specific courses:

Sales during Black Friday and New Year’s provided large amounts of new enrollments.

An interesting note here is the seasonality of the monthly cycle coupon system Udemy heavily implemented during 2015. It might be a little hard to tell because of the size, but in my experience Udemy coupons (before they updated their pricing) always seemed to be released more frequently towards the end of a month, you can see these growth cycles during May through September of 2015. There are also two clear spikes during the huge sales periods of Black Friday and New Years.

Let’s take a quick look at a single course, my first one: Learning Python for Data Analysis and Visualization. This course has been around the longest so I have the most information for it from my Google Analytics. I was curious to see the geography and demographic background of the students:

The typical student seems to be a young male, which unfortunately is not surprising given the topics I teach. Hopefully this trend reverses in the computer science fields in general and luckily there are now quite a few organizations trying to fix this problem.

Let’s take a quick look at geographical data:

Over all my courses, I have student enrollments from 170 different countries. About 60% of all my students are from the United States, making it the most popular location for my students.The United Kingdom (6%) and Canada (4%) come in at 2nd and 3rd place. The most popular country for non-native english speakers is India, however Japan is quickly rising due to the recent Japanese translation of my Data Analysis course.


Lessons Learned.

Looking back over the year, I’ve learned a few key things:

  • Ask for user/student feedback.
  • Don’t take forever trying to make the perfect product.

Asking for feedback

After I finished creating the Python for Data Analysis and Visualization course and the Complete Python Bootcamp, I was trying to figure out what course to make next. Many times, people will advise that you should make products based off of what you would want yourself. This is actually exactly why I created my first course , because I wanted a good online resource for learning pandas,numpy, scikit-learn, etc. It turned out quite a few people were also looking for a resource like this and the course was successful.

I created my second course, Complete Python Bootcamp, specifically because Udemy contacted me and asked me to do so. I worked closely with them on the approach the course would take, which is why the course is so heavily leaning towards people who have never programmed before. When creating this course I kept in mind what kind of course I would have wanted when I just started out learning Python. Again this course was also successful.

Then came the time for my 3rd course. I decided to go back to the strategy of creating a course that I wanted for myself. This resulted in me creating “Python for Algorithms, Data Structures, and Interviews!”, a course I wanted to create to better understand the technical interview process so many people have to deal with as they try to get a job in the tech sector. This ended being a mistake from the perspective of trying to get a lot of students enrolled in the course. By far, this course gets the fewest enrollments out of all my courses. This is because I didn’t really reflect on what course my current students would want, I wasn’t asking for their feedback in deciding future courses. This caused me to create a course that wasn’t very accessible to those students, since the course required a previous knowledge of Python and an interest in interviewing for technical coding positions, something that immediately narrows the possible audience for the course.

Learning from this mistake, I’ve started creating surveys asking my current students what possible future courses they would be interested in taking. I’ve also made an effort to make future courses as accessible as possible.

Quest for a perfect product

This mistake is also related to the technical coding interview course I just discussed. In creating the course, I took a long time in creating the course videos and creating content. The course consists of over 200 lectures , where every lecture has a video and an accompanying notebook with code and explanatory text. This was by far the most time I ever spent creating course content and based off the reviews and ratings, they are essentially the same as courses that don’t have as much content and that didn’t take me as much time.

I think the lesson learned here was to not waste time trying to create a perfect product for launch, instead get a reasonably good MVP that you can iterate on. Luckily, I can continue to improve and add content to courses over time. While it may be obvious that websites are well suited for this approach, it can even be applied many other products or services. For example, it was noted that Kanye West’s album Life of Pablo went through iterations after it was released. This idea is definitely something I keep in mind when creating courses, with outlines and layouts being flexible to new content (which is why I don’t number my lecture notebooks anymore).

The Future.

I’ve been very fortunate in being able to share what I know and teach so many people and I’m very grateful for the opportunities I’ve been provided. I now not only create Udemy courses, but have also train corporations and banks on data science and programming techniques (contact: training@pieriandata.com for more info).

I’m going to make an effort to write a post on medium about once a week, to highlight what I’m working on and interesting happenings in the field of online education, programming, and data science. I’ve also got a lot of interesting projects and courses coming up, so I’ll use this platform for updates. Thanks for reading!