top of page

Air Canada Performance Analytics

An automated performance data capture library for Air Canada, populating real-time customer interaction insights into the analytics dashboard.



Amadeus Quality Analyst Engineer Internship


Air Canada


5 Months

(January - May 2020)


  • QA Engineer (Me)

  • Product Owner


  • Typescript

  • Protractor

  • Angular

  • Jenkins

  • Node JS

  • TICK Stack

  • Grafana

  • NSSM

  • Selenium WebDriver


  • 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.


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. 

Before After.jpg


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. 



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.


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.



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.

bottom of page