Alternatives to 737 MAX

April 2019 | Dios Kurniawan

As the latest development of the continuing 737 MAX saga, Garuda Indonesia has officially requested Boeing to cancel its order of remaining 737 MAX planes. A brave (or perhaps rather emotional) move, but 737 is the workhorse of the airline, thus cancelling 737 MAX order would leave Garuda’s fleet with a huge capacity gap.

What will be the alternative to 737 MAX? Without doubt, the closest competitor is Airbus A320neo. However, Airbus is already very busy fulfilling orders from airlines all around the world. There are 4,000+ A320s on order while the production capacity is less than 700 aircrafts per year. At this pace, if Garuda is to place order for A320neo today, the first delivery will happen by 2024-2025. By that time, Garuda’s existing Boeing 737 NGs will be in service for twenty years. They will be in a dire need for replacement.

With Airbus unable to meet the demand, practically there are only very few options left to go for acquiring new narrow body planes. Let’s see what the alternatives in the market are:

MC-21 (source: Irkut website)

Irkut MC-21
The Russian 160-200 seater jetliner is aimed to be a direct competitor to Airbus A320neo and Boeing 737 MAX. Equipped with American engines and state-of-the-art technology, it promises lower ownership and operating costs than the competition. MC-21 made its maiden flight in 2017, and is now in testing and certification process. Delivery to airlines is scheduled to happen in 2020. While MC-21 might be an interesting option, Russian products are generally hampered by poor reputation on support services.

C919 (source: Comac website)

Comac C919
The government of China has a bold ambition to propel its aviation industry to the global market, and Comac (a state-owned company) is tasked with a gargantuan responsibility to deliver the first large commercial twin jet. The company has been working on a 150-160 seater plane called the C919 since many years, and it will be the answer to American Boeing 737 and European Airbus A320. Similar to its Russian counterpart, it will be sold with Western engines but at the same time China is developing its own engine as well. First delivery to China Eastern Airlines is scheduled in 2021-2022 time frame. C919 is an untested airframe, and how reliable this aircraft performs compared to the Western competitors remains to be seen.

Without a clear substitute to Boeing 737 MAX in place, Garuda’s decision to cancel 737 MAX order would be devastating to its business if not carefully remediated. Would Garuda be so courageous to go for the Chinese or Russian alternatives?

Boeing 737 MAX is Unmistakably Unsafe

March 2019 | Dios Kurniawan

The tragic crash of Ethiopian flight ET302 which happened only five months after Lion Air JT610 disaster last year has made me convinced that Boeing 737 MAX has inherent problems. Both accidents are clearly linked and grounding all 737 MAXs globally is the right decision, if not a little late.

The last time history saw the grounding of an entire fleet of a newborn airliner model was in 1954, which took place after two brand new DeHavilland Comet jetliners had crashed within only few weeks. It was later determined that an engineering design flaw was behind both accidents. The design was fixed but nobody trusted Comet anymore.’

DeHavilland Comet (source: BAE Systems website)

We are still long way from drawing a conclusion as the 737 MAX investigation is still ongoing, but the Maneuvering Characteristics Augmentation System (MCAS) which is the alleged culprit behind Lion Air’s crash last October, is again on the firing line.

MCAS was introduced by Boeing – somewhat quietly – as a result of the new engine placement and the increased overall engine size in the 737 MAX. Because the engines are installed slightly forward and above the wings, the new design changed aerodynamic characteristics of the plane, giving it a tendency to pitch the nose upwards during flight. The larger engine nacelle generates additional (unintended) lift in some circumstances. This problem does not exist in the classic 737 models.

The MAX engine nacelle generates additional lift in front of the Center of Gravity (drawing edited from: b737.org.uk)

MCAS prevents the pilots from pulling up the nose too much, especially during turns (in which the danger of losing lift significantly increases) by automatically adjusting the vertical stabilizer trim in the tail. In other words, Boeing 737 MAX is more prone to stall, and MCAS is there to compensate for it.

The new engine in MAX is larger, and is placed further from the wing (photo source: aviationpros.com)

The smaller engine in a classic 737 (photo source: airplane-pictures.net)

Boeing has been very silent with this new equipment, with many pilots saying that MCAS is not mentioned anywhere in the Pilot’s Manual.

Was MCAS the cause for the Ethiopian disaster? FlightRadar24 captured 6 minutes worth of data from the doomed Ethiopian flight (shown below) , and it showed that problem came into being almost immediately after the plane left the runway. The aircraft’s altitude, depicted in the blue line, saw erratic fluctuation less than two minutes after take off. This is similar to the Lion Air crash in October. In Lion Air’s case, pilots managed to keep the plane fly a little longer (12 minutes).


Airspeed and Altitude of The Ethiopian Flight (source: FlightRadar24)

Looking at the crash crater, the debris was concentrated in a relatively small area. It is a strong indication that the aircraft impacted the ground at high speed and at high angle. Something must have caused such a sudden nose-dive path. This is not a typical engine failure case, because even with both engines dead, the plane should still have enough forward momentum to keep it gliding for a while longer.


The crash crater indicates plane impacted the ground at high speed (photo source: CNN)

Again, this is consistent with the Lion Air crash.

MCAS is designed to engage when the aircraft is : 1) flying with auto pilot off; 2) flying with high AoA (angle-of-attack) or high bank angle; 3) not in landing or take off posture (flaps not extended). Under normal practice, pilots would fly the plane without auto pilot during take-off roll until it reaches approximately 3,000 feet of altitude, usually the first 2-3 minutes of the flight. Pilots must have retracted the flaps as well by that time. Therefore, all prerequisites for MCAS to engage had been fulfilled by the Ethiopian 737 flight before it crashed.

MCAS might have changed the stabilizer trim to push the nose down without being commanded by pilots because for whatever reason the computer thought the plane was going into a danger of stall. Pilots did not have enough time (or did not know how) to react properly and the plane nose-dived uncontrollably into the ground.

What might have triggered the MCAS to activate? MCAS could have received wrong data from onboard sensors that the AoA was too high or the bank angle too steep, or both.

There are a lot of similarities between the two fatal accidents, but the missing link is what might have caused the MCAS to activate – in the Lion Air case it was the AoA sensors that were supplying errorneous data, but in the Ethiopian case, it is still a mystery. This raises question in the design of MCAS, how the software reacts to incomplete or conflicting data.

Modern airliners are statistically very safe. However, today planes are increasingly dependent on onboard computer systems and software. Because software is getting more and more complex, testing a new software to find potential defects has as well become increasingly challenging. It is natural to say that we have doubt whether MCAS software has been tested thoroughly during certification process.

Boeing’s promise to release a “software upgrade” (which is actually a bug fix) not long after the Lion Air disaster highlights the fact Boeing knew there was a flaw in the MCAS. The question remains as to why the regulators did not instruct grounding of all 737 MAX right after Lion Air crash, simply awaiting for a second tragedy to happen?

Pandas for Data Transformation

December 2018 | Dios Kurniawan

Market Basket Analysis (MBA, as many call it) is an analytical method widely used in retail business to gather insights on what products are usually purchased together by consumers. This time around, I was given a problem of analyzing transaction data from a client in Food & Beverages business, finding purchase patterns so the management can later examine which meals and drinks to bundle into ‘paket hemat’.

To start with, I have to extract the transaction data from the Point of Sale (POS) system, which sits in a SQL database, into a CSV file. The data, as one might suspect, is in raw format and requires preprocessing. The data is not much, less than 20,000 rows so I immediately thought that I would simply use Python and run the process in my laptop.

Below is an example of the original transaction data format (I changed the product names to obscure its real values for publication in this blog). The data has gone through some cleansing to eliminate nulls and inconsistent values.

I was looking for a quick way to transpose transactional data above into 1-hot encoded format which spans to the right. Sure, I could do that in SQL but that would require me to write a long query and re-extract the data from POS again. I did not want to do that. Pandas came to the rescue:

import pandas as pd
penjualan1 = pd.read_csv('D:\data1.csc', parse_dates=['TRX_TS'], index_col=['TRX_ID'])
pivot1=penjualan1.pivot_table(index='TRX_ID', columns='PRODUCT_NAME', values='PRICE').fillna(0) 
pivot1[pivot1 > 0] = 1

It results in exactly the format I need:

Voila! Data is transformed within few seconds. With such a short program, only two lines of code, my data is ready for further analysis. Pandas is just great.