There is nothing more fun than entertaining kids! Can it get any better, if all the entertainment is in fact helping the child learn?
While there are many interesting challenges associated with running an hour-long live interactive class with a 6-year old in the context of Vedantu Superkids, the one that I am going to write about here is on designing the live class for success. More specifically, how to ensure that the booking experience and its outcome is awesome!
The overarching goal of this work was to ensure that magic happens inside the live online class. For this magic to happen a lot of ingredients need to go into it prior to the actual class - First, a smooth booking experience. Next, the right teacher for every child and finally, an enthusiastic mindset on the part of both the teacher and the student.
The first (demo) class booking experience
Though the above workflow (that we built in our MVP) looks simple, it is not the most optimal experience for the teacher and the child. This workflow also did not help towards good unit economics for Vedantu. Why?
- How to find the "best" teacher for every child? The teacher that is suitable for a child depends very much on the age of the child, the languages he/she is comfortable with and the timezones of the student and the teacher.
- How to keep up our promise of "an hour of unlimited fun" to the child- during peak demand time slots? (Demand>>Supply). E.g. We have 250 sessions booked at 7PM, and there are only 200 teachers. Just imagine the disappointment for the other 50 kids!
- How to handle student no-shows? Since the first class is free, the student attendance rates are low (~30-40%). This resulted in idle time for the teacher and discontent on their side. (Teachers anticipate a student, but no one shows up in majority of the sessions).
- No-shows also hurt the unit economics - due to high acquisition cost and teacher payouts. There is also an opportunity cost angle here - When a student missed a session, the same could have been used for another student who would in fact have attended the same.
Here is how we quantified the efficiency of the demo booking experience for the stakeholders:
- [Student] Avg. Session ratings
- [Student] Session success % (Among the students who tried to attend a class, for how many were we able to allocate a teacher)
- [Teacher] Avg Busyness % (Among all the slots which the teacher had marked as available, in how many did a student actually show up)
- [Vedantu] Daily total no-show slots
How did we solve this?
While there are many approaches to solve the above challenges, I would like to talk about three systems that we built to provide a seamless booking and session experience:
- Supply & Demand Management
- Just-In-Time Session Management
- Communication Management
Supply and Demand Management
The goal of this system is to expose the optimal number of seats for each time slot based on student demand and teacher availability. E.g. 250 seats available at 7pm, 290 at 8 PM etc. Note that if we pre-assign teachers to students at the time of booking itself, then we would need exactly as many teachers in each slot as the number of students who have made a booking. However, due to a possibility of no-shows from the student side, we moved away from pre-assignment of teachers to students. With the new system in place there is a possibility that we promise a session for 250 students with only 200 teachers on hand. In a way, our booking system is very similar to that of [overbooking on flights]!
What's inside this system:
- Forecasting models - We first start by forecasting student demand for each time slot of the day. We also try to predict how many no-shows would happen in every time slot. Both these models consider historical patterns based on factors such as time of the day, week of the day, weekday vs weekend etc.
- Overbooking Management system - Using the demand and the no-show prediction, the overbooking management system tries to determine the total teachers required for each time slot. The cranking that has to happen here needs to be optimal - if we are aggressive on overbooking, too many kids will try to join the session and will not be allocated a teacher. If we go light on overbooking, some of the available slots will go waste (no students to attend)
- Teacher Availability Marking - Based on the teacher requirement input given by the Overbooking Management system, that many teacher availability slots are opened up. The teachers can now mark their availability in the system a few days in advance based on a First-Come-First-Serve basis.
- Demo Slot Booking System - Again, based on inputs from the Overbooking Management system, that many seats are opened up for each time slot. Parents can now choose the time slot of their liking!
The Overbooking Management is the mastermind in our line-up that ensures a lot of things: unit economics, student slot promise and teacher delight.
JIT Session Management
The class is now booked. Great! What next? The parent/child will now try to join the class just prior to its time of starting. As explained previously, we have stopped pre-allocating teachers to the child's session. Instead we try to find a teacher only when the child is just about to enter the class. After this, there will be a knock on the teacher's door, and she will now get an opportunity to meet a wannabe superkid! This whole journey is delicate and making it seamless is critical for a good in-class experience. Here are some ingredients that go into making this journey seamless:
- Teacher Matching - The single biggest factor that determines if the class experience is enjoyable for a child is if we can find the right teacher for him/her. On the teachers side, though most of them are trained to handle any student, they still have a clear preference on handling certain child profiles over others.
One parameter of the child's profile is his/her grade. While finding a teacher for a student, we try our best to find a teacher who is best equipped to handle that grade range. There are other parameters that go into the child's profile including geography, primary language of the child, prior knowledge etc. All these can further be leveraged to build a more sophisticated matching algorithm.
The outcome of the Teacher matching system is that we find the best teacher for every child. There are also exceptional cases where as a consequence of the overbooking mechanism in place, we are unable to find a teacher for the child.
- Session Allocator - After the best teacher for the child is discovered, a new live session is created with the two of them as participants in the session. The session allocator also notifies the communication management system to send out the relevant reminders to the participants.
- Overbooked User Management - Our demand forecast and no-show models are always-on and trying to reduce the total overbooked users. Of course, when a user does get overbooked, there are various ways to handle them e.g. apology communication, invitation to join at another time, a call from our support team etc.
The communication module is critical to orchestrate the user flows explained above. Timely and relevant communication to parents and teachers including confirmations, reminders, requests etc keep the machinery well oiled and running.
How did our product impact the lives of our two main stakeholders?
Teacher Busyness - Of course, the overbooking system made sure that more teachers were busy throughout the day. More than the unit economics impact of this change, the bigger implication was on the teacher morale. Teachers were relieved that they did not have to sit idle in front of their computers waiting for a child. This also had a long term impact on the teacher NPS.
Child Session ratings - Since we were able to better match the teacher as per every child's needs, we saw a sustainable jump in session ratings. This would have a long term impact on demo to sales conversion
A few key takeaways from launching a product in the early education domain:
- Practical and real-world user research in this space is very hard to accomplish. Very few people in India have the skillset of understanding UI/UX experiences required for 6-year olds. To compensate for this, as a PM you just have to think like a child yourself. This might also involve throwing a tantrum, when the experience is not what the "inner child in you" is expecting (Just kidding! 😉)
- Open and enthusiastic mindset of the teacher and the student when they are experiencing your product is super critical. Any friction in the product journey starts impacting this mindset. It is worth the effort to simplify the journey - true for all products, but more so in the early education domain!