Air Canada Performance Analytics
An automated performance data capture library for Air Canada, populating real-time customer interaction insights into the analytics dashboard.
PROJECT TYPE
Amadeus Quality Analyst Engineer Internship
CLIENT
Air Canada
TIMELINE
5 Months
(January - May 2020)
TEAM
-
QA Engineer (Me)
-
Product Owner
TOOLS & TECH
-
Typescript
-
Protractor
-
Angular
-
Jenkins
-
Node JS
-
TICK Stack
-
Grafana
-
NSSM
-
Selenium WebDriver
ROLE
-
Research
-
Data Analysis
-
Visual Design
-
Development
Problem Statement
1. To build a library that will measure and collect User-centric Performance Metrics periodically.
​
2. Find a way to present the real-time data to the client.
Overview
The Performance metrics collection was not automated and hence, not a part of the development cycle. There was no such tool available that could capture the experience of a user.
​
My main responsibility was to work with Typescript to set up a library that will automatically capture the website performance data based on a customer’s interaction and simultaneously populate it on the analytics dashboard for easy understanding and interpretation.
My Role
As an intern, I was the only person working on this project under the guidance of Mr. Sankar Ramasamy.
High-Level Timeline
Business Impact
For Air Canada
-
Automated monitoring of website performance​
-
Easy to interpret the data
-
The first tool that measures the end-to-end performance
-
Improved conversion rate, brand image, and long term customer loyalty
For Amadeus
-
Reduce cost on testing and bug finding
-
Live monitoring of data
-
Increased productivity by reducing manual effort
-
Easy comparison between different release versions of the website
-
Automated Alarm System assistance
Through this project, the airline management saw a major change in visualising their website’s performance.
Research
Given a broad problem statement, I started by breaking down the project into simpler tasks. The first question was about the parameters that define a website’s performance.
For an airline booking website like Air Canada, we wanted to ensure that the maximum number of visitors should complete the booking. Conducting survey interviews with around 50 users, we found that around 38 users would not complete the booking because of the bad user experience on the website.
If the page load time is more than 5 seconds, the bounce rate (viewers who leave a website after viewing only one page) increases by more than 90%.
In an effort to minimize such instances, the following parameters had to be kept under constant monitoring:
The next decisions were about choosing the right open-source tools & software to be used in the project.
​
For the library, we used Typescript (TS)
-
TS is a superset of JavaScript with an option of static typing, classes, and interfaces. One of the big benefits is to enable IDEs to provide a richer environment for spotting common errors as we type the code.
​
Protractor is an open-source, end-to-end framework used for testings and writing automated regression tests for normal web applications. It helped us test our application just like a real user because it runs the test using an actual browser.
​
Jenkins is an open-source tool written in Java that was used to accelerate the software development process through automation.
​
For the analytics part, it was a combination of InfluxDB and Telegraf that obtained the data from Jenkins and directed the results to Grafana for plotting.
Architecture
Process
For an airline to use this product to capture and visualize the website performance, we wanted to keep the step as simple as possible.
Automatic Alarm
The final part of the project is the alarm system assistance. There will be many cases when a website’s performance is going down and the page is taking more time to load. Monitoring this rise in page load time manually is a tedious task. Hence, this automatic alarm system is perfect for the job.
All we are supposed to do is give the standard threshold values depending on the page. If any parameter goes beyond the threshold, an alarm will be automatically generated to the developer stating the exact details of the problem.
Results
Finally, we compile all these panels into a single dashboard. This final dashboard contains all the performance data for all the pages.
We can compare all the data sets from previous release versions to analyze the new release version.
Outcome
The tool was hugely successful in closely monitoring the Page Load time and other parameters. It improved the website performance of Air Canada by helping them in the development process. As a result, the project was deployed for other airlines such as Cathay Pacific and Air China, thereby increasing the overall revenue of Amadeus.