How Two Brisbane Interns Discovered A Predictive Method for Ticket Availability
Written by Frederic Kalinke
“I thought it was going to be a maths internship”, says Jennifer, a student at the University of Queensland, majoring in Applied Mathematics and minoring in Computer Science. “But we came in and did a bunch of coding. It was a great experience”.
Now in its ninth year, SilverRail’s internship programme is an intensive eight-week R&D project where engineering and mathematics students apply their academic acumen to real-world problems — developing essential skills in software development, collaboration and problem-solving.
“We see the internship programme as a way to inject fresh ideas and talent into our product and technology, as well as to support the next generation in their quest to define their career path.”, says SilverRail’s CTO Roxana Diaconescu.
“The sophistication of data science and the potential for its application is growing by the minute. We provide a dynamic environment for enquiring minds to cut their teeth and test out the latest theories and modelling on products that could make a real-world difference to people’s lives.”
While last year’s interns worked on creating a sophisticated journey-planning algorithm, this year’s participants, Jennifer and Zayne, took a deep dive into ticketing. The task? Explore the availability of tickets over time and find a way to predict the number of tickets remaining (i.e. available for sale) for a particular trip.
This was no mean feat. Accurately reflecting the number of tickets available when a customer is looking to take a trip involves SilverRail using a software product called Availability Service. This sends requests to an independent service called RARS, which stores the real-time availability of those tickets. To update the SilverRail availability cache, it sends requests to RARS.
So far, so straightforward.
The catch is that RARS limits the number of requests each company can make. This means that sometimes, the availability data cache is inaccurate — creating a problem if a customer wants to buy a ticket and the SilverRail product mistakenly thinks it’s available. Not to mention, it’s also pretty expensive for us to make requests to RARS.
The number of requests that can be sent to RARS is restricted.
Can we create a predictive Availability Service?
Jennifer explains how she and Zayne approached the problem:
“Instead of putting so much effort into keeping that cache as accurate as possible, we wanted to create a predictive model to gauge the real-time availability of a certain ticket. Our aim was to find a way to predict the number of tickets RARS would give us, without having to send a request to them.”
Jennifer and Zayne based their predictive model on historical update logs from the Availability Service. They wanted to find out if there were any trends or patterns in the number of tickets available from certain ticket codes. They graphed the number of available tickets recorded in RARS against the number of days to departure for each ticket code. Not surprisingly, as the number of days to departure decreased, so did the number of tickets available. Logistic regression analysis was also performed to observe what kind of model we could produce using this technique. However, after diving deeper into the analysis, Jennifer and Zayne concluded that this regression route was too much of an oversimplification for it to be taken any further.
The next step was to identify whether the availability of one type of ticket had an impact on the availability of another type of ticket. The interns grouped update logs by request to observe the availability of all tickets associated with a trip at various times and then undertook further exploration on the impact of ticket pricing on availability (with cheaper tickets selling out long before the day of travel).
A Collaborative Process
Right from the start of the project, both Zayne and Jennifer were given the freedom to take different technical approaches. Autonomy and innovation are valued highly at SilverRail, and as with any complex problem or challenge, there’s often more than one way to find a solution.
“We both knew we wanted to approach this problem by looking at machine learning algorithms. I chose a neural network model, which is a type of deep learning algorithm that simulates the behaviour of how the brain works, and Zayne opted for a random forest model. We worked independently then came back together and compared notes.” explains Jennifer.
The students applied these models to information logs based on historical data, which had different timestamps based on the recorded times at which requests were sent to RARS.
By looking at the timestamps, they compared the real-time ticket availability (as recorded in RARS), and then the estimated availability (as recorded in SilverRail’s cache) to create their predictive model. It was a success!
“We used Zayne’s random forest model in the end. The SilverRail cache was already 95% accurate, but we managed to get it closer to 100% which is what we were aiming for,” says Jennifer.
The findings proved valuable to SilverRail’s software teams, with SilverRail’s Chief Strategy & Commercial Officer, Cameron Jones, explaining that there was a range of applications for the data and predictive models discovered.
Learnings for Life
Of course, we want our interns to feel positive about the results they’ve achieved on the programme and accuracy certainly counts for a lot in the world of data and tech. However, the internship programme isn’t always about finding the right answer. It’s about building confidence in your own ideas, feeling that it’s ok to fail, and knowing how to work with your team to solve complex problems.
These are essential skills for today’s workplace and particularly for software developers — the opportunity to apply theory to real-world scenarios is invaluable.
As Zayne says, “It’s been the greatest learning experience, you can’t get this at university. I barely knew what a machine learning model was before this. Being thrown in the deep end and having to develop this model…it’s been so much fun.”
Throughout the process, Jennifer and Zayne were also mentored by SilverRail engineers, received training across a suite of industry tools, and had the opportunity to pitch their findings in front of C-level decision-makers. Rather than being treated as interns who must jump through hoops and follow a playbook, both students were given real autonomy and independence over their work.
“It definitely exceeded my expectations. I was treated as an employee would be. We had supportive supervisors, sure, but we were otherwise allowed to be really independent. It promoted this collaboration between me and Zayne, and it was also great to discover that SilverRail didn’t have some vicious, competitive workplace culture. We’re all working towards the same thing.” says Jennifer.
While Zayne had another two years of study to complete, Jennifer was in her final semester at the time of the internship and, to her delight, was offered a job in SilverRail’s Brisbane office as a Graduate Engineer.
A Slack message on SilverRail’s #office-all channel to welcome Jennifer (again!)
For Jennifer, as for many prospective employees, SilverRail’s green credentials played a big part in its appeal. “I want to work somewhere that isn’t damaging the planet. I think it’s so good that when you open the SilverRail website, one of the first things you see is ‘We’re reducing carbon emissions.’ I think that’s pretty cool.”
As Roxana puts it: “As the environmental crisis continues, it is imperative that we are an attractive employer for climate-conscious, next-generation talent.”
Want to help us change the way people move?
We’re always looking for talented people who share our vision for the future of travel. We’re also a remote and flexible employer.
See our open roles and apply here.