Airplane Reseating in 3D!


Above is possibly the 60-second summer blockbuster you had hoped for. And with 3D animation created in Excel. Grab your mental 3D glasses, enable Adobe for playback as Blogger converted the .mov file, and hold on to your hat.

Suppose you watched all 60 seconds. Now you may be wondering, as the kids on the inner-tube webs say, "What... are... those?". Since you asked, let me break it down by converting the robot-voice back into text. It begins:

"This is Rodney Howeedy, the Hopscotch technology co-founder.
This video shows our algorithm for reseating passengers from a smartphone app."

So that briefly introduces me, your blogger. The entire video focuses on a graphical depiction of an algorithm.

"And you can see a 3D contour of one passenger’s seating preferences.
This is his seat preference vector with a 2D seat map above."

Taking it in reverse order, we see a seat map or chart across the top. Courtesy of an airline's public website that tells anyone and everyone about their aircraft, that would be a seating chart in a 2D overhead or birds-eye view. You use this familiar airplane seating chart to select your seat at booking on the app or website. Below that, more or less aligned to the seating chart, we see something unusual.

Next, you look at the 3D image. It's a side-view of the seating chart shown in perspective where the lines meet at a point deep into the image, of the same aircraft. However, that is obviously not a seating chart. Have another look:


Begin by getting an orientation to the aircraft. The front is to the left and the tail is to the right. Excel created an orthogonal view, using right-angles for each axis, from x-y-z values in cells. As you see later in the movie, we take a helicopter tour and travel around the contour overlay, changing our viewpoint, scaling, axes and the axis labels. The animation gets jumpy due to movie time constraints but it's the same graph throughout.

We want to understand the 3D axes before we continue. Know the axis values and their scale to help you make sense of the seating preference model. Starting from the horizontal axis labels (they're there, squint), the x-axis runs left-to-right across your screen showing sequential row numbers. The row numbers are similar to the seating chart but have been transformed. Again, the x-axis always shows the row numbers no matter our perspective.

Next, the y-axis runs in and out of your screen. We cannot see y-axis labels until we change our viewpoint. The y-axis represents the seat "letter" after mapping into what Excel terms "Series".

  • A is a window seat, 
  • B is a middle, 
  • C is on the aisle, 
  • D is an aisle across the aisle itself on the row segment away from us, 
  • E is the middle seat, and 
  • F is the window seat farthest from our viewpoint.

Using the symmetry of the aircraft, we transform the seat letters into the seat types according to location within the seat-abreast layout: window, middle, aisle. This aircraft is a mirror image about the aisle so after folding over the halves, the letters become numerical Series as:

  • A = F = Window = Series 1
  • B = E = Middle = Series 2
  • C = D = Aisle = Series 3
  • N/A = the actual aisle itself = Series 4 (our zero baseline reference)
Rotating our point of view, Excel adds y-axis labels. The graph below can help us visualize the seat type mapping into the "Series" labeled one thru four (1-4):


The robot voice said a bit earlier that,

"Our SeatBot ranks seat matches from vector dot products and a clustering algorithm.

SeatBot acts as your seat matchmaker."

Okay we had to skip the model conversion into vectors and linear algebra with that first sentence. There are too many transformations, mappings, and math to cover. There is a patent pending on our model, methodology and system for matching users and seats in several ways. You can learn more about the Hopscotch reseating method, our API, and application soon, so we will skip many details for now.

Remember, the voice said we show a 3D contour of a passenger preference. This speaks indirectly about the height of the z-axis which creates the peaks and valleys. Excel generated a color wheel with shading to create a visual gradient to the creases, like a giant sheet of paper with folds. Shading and colors help our visualization. Thanks Microsoft!

Excel shows a graph of discreet values as the height of the z-axis. It represents numerical values of affinity or preference across the entire aircraft for a fictitious passenger. Now what does the height of the z-axis represent? The robot voice says:

"And because of this orthogonal view the length of the cabin,
you can notice seat map colors assigned in a new way.
You can allow yourself to intuit green as good and red as bad.
And now you can see the broadside view shows rows.
You can see he values an aisle seat at the front of this cabin."

We have also transformed the seating chart. Normally a seating chart shows seat status for selection as available, upgradeable, unavailable, and special status. This new 2D seating chart uses a color-coded seat preference for the passenger with red meaning avoid and green meaning prefer.

Now we look at the 3D preference contour by seat location referenced against the 2D seating chart. Remember that Excel auto-assigned the 3D contour color scheme for visualization. We do not use the 3D contour color bands in any way because they are arbitrary. The 2D view shows red, yellow and green color-coded seats on the seat chart to emphasize the passenger preference as:

  • avoid = hot = red,
  • neutral = medium = yellow
  • prefer = cool = green

Again, the 3D color bands are for VISUAL assistance on the z-axis only. These are discreet preference values at each point, not a continuous function to generate a mesh. The graph shows value calculations at each x-y intersection of row and seat type.

The height is dimensionless and ranges from negative, zero, to positive values. The more positive or higher the peak, the more affinity this passenger has for those seat prototypes. The negative values are valleys as avoid areas for this passenger.

In conclusion, the short video only shows the beginning of the algorithm. It is only 1/3 of the story since you are looking at a 3D transformation of the 2D seat map with height varied according to the preferences. We took 60 seconds just to cover a portion of the entire process only from your perspective. In a previous post, we discussed the importance of reminding passengers that another person, i.e. your potential match to another passenger, will feel differently about the seating chart than you.

Comments

Popular posts from this blog

Metrics, Signal Creation and Measurement

Direct Match Cooperation