Air Deal Manager: Corporate Travel Expense Optimisation ... · of response time, flexibility,...

20
Air Deal Manager: Corporate Travel Expense Optimisation with the SAS System Jennifer Leech, Fabio Luzzi, Dionino Di Florio (American Express Europe Ltd. Consulting Services – London UK) Giuseppe Marcon, Maria Rita Pepe (Simbologica S.r.l./Up-Tecno Group SAS System Quality Partner – Milan IT) Abstract. This paper describes a series of advanced functions in Air Deal Manager (ADM), a software application developed using the SAS System to provide decision support for the Travel and Expense’s (T&E) air travel purchasing management processes. ADM was developed by the Consulting Services group at American Express Europe Ltd. London (Amex), with the leading support of Simbologica S.r.l./Up-Tecno group (SIMBOLOGICA), an Italian SAS System Quality Partner with a long experience in the exploitation of the power of the SAS System. Evolved over the last two years, Air Deal Manager automates most of the air travel purchasing management decision process and finds the best air travel solutions for Amex Corporate Clients to achieve optimal goals in term of expense reduction and quality of service. The main features and functionalities of the application discussed in this paper are: ! Embedded data quality analysis and reporting on data feed, in addition to the use of discriminant analysis to assign missing important values to airline class of service in order to determine the correct published ticket price. ! A refined electronic contract management module that computes airline rebates and discounts. ! Savings data marts and Olap tools built to produce complete benchmarking and summary reporting. ! The automation of a complex optimisation model using the linear programming facilities of the SAS System (SAS/OR ) to provide optimal strategy of air carrier distribution to AMEX Corporate Clients, based on rebates/discounts computed for various ‘what if’ scenarios including internal and external exogenous factors. ! A generalised procedure to produce graphical positioning maps based on advanced statistical techniques. Introduction American Express Europe provides consulting services to Corporate Clients across Europe on T&E spend management. A core expertise of Purchasing Management is to advise clients on the best ways to leverage spend in order to achieve T&E best management practices. In this document we outline the business requirements to build the system, the system design and the data warehouse structure. We then present a few examples of the end user interface and describe the business benefits of using SAS to develop the software system. Finally we present two sophisticated technical aspects of ADM:

Transcript of Air Deal Manager: Corporate Travel Expense Optimisation ... · of response time, flexibility,...

Page 1: Air Deal Manager: Corporate Travel Expense Optimisation ... · of response time, flexibility, scalability, compactness, system portability, embeddability, and ease of use. The system

Air Deal Manager: Corporate Travel Expense Optimisationwith the SAS System

Jennifer Leech, Fabio Luzzi, Dionino Di Florio (American Express Europe Ltd.Consulting Services – London UK)

Giuseppe Marcon, Maria Rita Pepe (Simbologica S.r.l./Up-Tecno GroupSAS System Quality Partner – Milan IT)

Abstract.

This paper describes a series of advanced functions in Air Deal Manager (ADM), asoftware application developed using the SAS System to provide decision support for the Traveland Expense’s (T&E) air travel purchasing management processes. ADM was developed by theConsulting Services group at American Express Europe Ltd. London (Amex), with the leadingsupport of Simbologica S.r.l./Up-Tecno group (SIMBOLOGICA), an Italian SAS System QualityPartner with a long experience in the exploitation of the power of the SAS System.

Evolved over the last two years, Air Deal Manager automates most of the air travelpurchasing management decision process and finds the best air travel solutions for AmexCorporate Clients to achieve optimal goals in term of expense reduction and quality of service. The main features and functionalities of the application discussed in this paper are:

! Embedded data quality analysis and reporting on data feed, in addition to the use ofdiscriminant analysis to assign missing important values to airline class of service in orderto determine the correct published ticket price.

! A refined electronic contract management module that computes airline rebates anddiscounts.

! Savings data marts and Olap tools built to produce complete benchmarking and summaryreporting.

! The automation of a complex optimisation model using the linear programming facilities

of the SAS System (SAS/OR) to provide optimal strategy of air carrier distribution toAMEX Corporate Clients, based on rebates/discounts computed for various ‘what if’scenarios including internal and external exogenous factors.

! A generalised procedure to produce graphical positioning maps based on advancedstatistical techniques.

Introduction

American Express Europe provides consulting services to Corporate Clients acrossEurope on T&E spend management. A core expertise of Purchasing Management is to adviseclients on the best ways to leverage spend in order to achieve T&E best management practices.

In this document we outline the business requirements to build the system, the systemdesign and the data warehouse structure. We then present a few examples of the end userinterface and describe the business benefits of using SAS to develop the software system. Finallywe present two sophisticated technical aspects of ADM:

Page 2: Air Deal Manager: Corporate Travel Expense Optimisation ... · of response time, flexibility, scalability, compactness, system portability, embeddability, and ease of use. The system

! A matching phase with discriminant analysis included in the data feed process that use acomplex iteration of the SAS procedure Proc Discrim;

! The optimisation algorithm used to compute the Client path necessary to reach the goal ofincremental savings in T&E.

Business Requirements

Travel and related expenses (T&E) is one of the major costs for a company (about 7% oftotal operating cost, survey conducted by American Express). T&E ranks as the third largestcontrollable cost along with advertising, salaries and data processing. Air fares represent about44% of the companies’ T&E spend, hotel expenditure is 24% and meals account for about 15%.

American Express provides a wide range of services to help manage T&E expenses moreefficiently and effectively with particular focus on Corporate Air and Hotel spend. A newDecision Support System called Air Deal Manager (ADM) has been developed for the air sectorto provide additional services to Amex Corporate Clients through a fully integrated softwaredecision support solution.

Table 1 contains a description of the Purchasing cycle, the corresponding type of decisionassociated to each step of the cycle and the services that have been identified to aid in thatdecision area.

Table 1: Type of Decisions and Services entailed in the Airline Purchasing CyclePurchasing Cycle Type of Decision Services ProvidedObjectives Definition Choose between Savings and

Spend OptimisationTravel policy review & guidelinespackage

Data Gathering &Analysis

Understand patterns of spending,evaluate contractConditions with existing suppliers

Saving quantification of currentcontracts, contract scoring reports

Strategy Choose between availablealternative suppliers

Saving Simulation and OptimisationScenarios

Negotiation Negotiate better deals Guidelines to contract negotiationthrough contract scoring methodology

Implementation Choice of preferred carriers andtravel policy, internal and externalcommunication of choices

Provide recommendations on travelpolicy and suggest preferred carriers

Tracking & Measuring Reporting on compliance to travelpolicy & carriers, internal and externalbenchmarking

Page 3: Air Deal Manager: Corporate Travel Expense Optimisation ... · of response time, flexibility, scalability, compactness, system portability, embeddability, and ease of use. The system

System Design & Modelling

Air Deal Manager has been designed to meet the service requirements identified throughthe purchasing cycle and the underlying decision making process. A number of software solutionswere evaluated to build the system. The SAS System was chosen following the result of adetailed investigation and analysis of business requirement dimensions such as: speed/reliabilityof response time, flexibility, scalability, compactness, system portability, embeddability, and easeof use.

The system architecture was designed to be embedded in a client – server environment(PC –Mainframe (MVS). The system data warehouse structure is shown in table 2 and the systemarchitecture is shown in schema 1.

Table 2: Data Warehouse structure

Air Deal Manager Data Warehouse

Structure Description Business Meta Data SAS System Management Modules

Data Access

DB2 Clients’ data SAS/CONNECTSequential files Benchmark data SAS/BASEExternal files Airline Schedule SAS/FSP

Flown Data

Transformation Data Quality Store Stats on SAS/FSPEngine Financial Model Data Quality SAS/BASE

User’s Interface

DSS Contract Management: Store Rebates SAS/STATContract Editor and Discounts SAS/CONNECTScoring MethodologySimulation and Optimisation Store Scoring Stats SAS/EISSpend and Air Fare Forecasts Store Stats on SAS/AFBenchmark Data Analysis Benchmarking, SAS/ETSBusiness Meta Data Analysis Forecasts SAS/OR

Visualisation Positioning MAPS SAS/GRAPH3 dGraphs

Reporting Data Quality ReportsSavings ReportsCompliance Reports

Tec

hnic

al M

eta

Dat

a MA

INF

RA

ME

PC

Page 4: Air Deal Manager: Corporate Travel Expense Optimisation ... · of response time, flexibility, scalability, compactness, system portability, embeddability, and ease of use. The system

Schema 1: System Architecture

Implementation

The system has been implemented in a Client / Server environment (PC-MVS) using

SAS/AF to build the end user’s interface, with more advanced and available objectprogramming.

Figures 1 and 2 show the starting frames of the ADM application. An innovativefunctionality of Air Deal Manager is the capability to manage airline contracts electronicallythrough a contract management interface and the possibility to evaluate the contract terms andconditions through an original contract scoring methodology.

Several of Air Deal Manager end user’s interfaces are reported on the following pages.

Page 5: Air Deal Manager: Corporate Travel Expense Optimisation ... · of response time, flexibility, scalability, compactness, system portability, embeddability, and ease of use. The system

Figure 1: Air Deal Manager Title Frame

Figure 2: Air Deal Manager Main Menu

Page 6: Air Deal Manager: Corporate Travel Expense Optimisation ... · of response time, flexibility, scalability, compactness, system portability, embeddability, and ease of use. The system

Figures 3 and 4 show two frames in the contract management module, where it is possible to edit,store and retrieve airline contracts. The interface is built using complex object orientedtechnology and the hierarchical structure of each contract is stored in a SCL-List.

Figure 3: Air Deal Manager: Contract Editor

Figure 4: Air Deal Manager: Destination Country Selection using Explorer style

Page 7: Air Deal Manager: Corporate Travel Expense Optimisation ... · of response time, flexibility, scalability, compactness, system portability, embeddability, and ease of use. The system

Figure 5: example of contract scoring methodology positioning map.

Figure 6: Example of Positioning Map for Benchmarking

Page 8: Air Deal Manager: Corporate Travel Expense Optimisation ... · of response time, flexibility, scalability, compactness, system portability, embeddability, and ease of use. The system

Business Benefits

The main benefit of Air Deal Manager is a significant increase of internal productivity todeliver consulting projects through the reduction in time to process and analyse data from 15 to 3working days. A further important benefit comes from the capability of providing goaloptimisation solutions to Clients and more sophisticated analysis, driven by a user friendlyinterface that does not require any programming skills. Finally, with SAS System it was possibleto manage the whole information delivery process from data extraction to knowledgemanagement.

Matching with discriminant analisys

In the following paragraphs we present an argument that may be of interest for SAStechnicians and advanced users. It concerns a complex matching procedure during the “DataFeed” process to associate the correct “Class or Service” and “Published Fare” to each “ClientFlight Ticket”.

Background and objectivesTo understand the need for discriminant analysis, a general description of the situation we

are confronted with is necessary.Two sets of data are required: the published fares data set and the client data set:

" The first one consists of official fares given by the air carriers and which vary mainlyaccording to the airport pair (origin and destination airport) and the fare basis (a specificcoded type from which the flight class of service is derived) and, of course, the air carrieritself.

" The second one consists of real client flight data with all the specifications regardingairport pair origin/destination, the class of service and the paid ticket amount.

The scope of the whole analysis is to compare the amount paid by the client with theofficial fares and then evaluate the savings the client has been able to achieve through loyaltycontracts between corporate companies and air carriers to reduce the global corporate cost offlights.

Unfortunately fare bases are different for each air carrier (SAS variable aircrr) and arechanged often. Given their large number and the variability it is not easy to assign the rightpublished fare to each client flight sector.

However, following air carriers indications (however partial) and expert evaluations, it ispossible to classify them into what we will call “Overall Classes of Service” (SAS variableclssrvol) and “Classes of Service” (SAS variable clssrv).

" The overall classes of service consists of: SUPER (S) FIRST (F) BUSINESS (B) andECONOMY (Y).

" The classes of service are a finer subdivision of the previous one: each overall class ofservice is split into FULL and DISCOUNTED (and so we have SF, SD, FF, FD, BF, BD, YF,YD).

Page 9: Air Deal Manager: Corporate Travel Expense Optimisation ... · of response time, flexibility, scalability, compactness, system portability, embeddability, and ease of use. The system

As it is not always possible to find an exact match between all the fare bases resultingfrom the client data set and the published fare bases data set, we have to rely on more generalcriteria and this reasonably consists in finding classes of service matches.

To do so, we first have to classify fare bases into overall classes of services for thepublished fares data set, this process involves the usage of a correspondence table; after a seriesof adjustments and ad hoc rules classes of services are defined too. Grouping the fare bases intooverall classes of services using the correspondence table brings to the construction of a SASformat (called $CBCCGR.) that will be necessary also to enrich the client data set.

The client data contains the airport pair (SAS variable airpsq consisting of ordered airportpairs), the booking code (SAS variable clscod, which is a one-letter code associated to class ofservice but which is not used to determine ticket price), and the fare bases (SAS variable farbas aseveral-letter code which establishes ticket price), but neither the overall class of services or theclass of services which must both be derived.

Although fare bases could be common to different countries, the actual fare andconsequently the ticket cost is obviously influenced by the ticket currency which should be thecurrency of the country of the origin airport. The reason lies in the role played by exchange ratefluctuations: it may happen that a ticket for a flight between a specific airport pair has a differentcost depending on the country in which it has been issued even when translating currencies to acommon reference. To avoid inconsistency it has been chosen to convert all prices in U.S. dollars(SAS variable tckusd) and to perform calculations accordingly.

MatchingTo evaluate classes of service several steps are followed.

" The first step consists of matching the client data and the published fares to fill in theclssrvol (always!) and the clssrv (when possible) variables. The matching itself is doneusing the key variables airpsq (airport pairs) aircrr (air carrier) farbas (fare basis).

" In the second step clssrvol is evaluated as follows:

1. first letter of clssrv if clssrv is not missing (this is the case when a matching has beenfound)

2. if clssrv is missing, the format $CBCCGR. applied to the concatenation of aircrr andthe first letter of farbas if farbas is not missing

3. if farbas is missing $CBCCGR. applied to the concatenation of aircrr and the firstletter of clscod.

If after this matching clssrv is still missing (not-classified records as opposed to classifiedones) discriminant analysis is used.

Discriminant analysis is used to assign clssrv to the client data set records for which it ismissing.

Page 10: Air Deal Manager: Corporate Travel Expense Optimisation ... · of response time, flexibility, scalability, compactness, system portability, embeddability, and ease of use. The system

A short discriminant analysis reviewThe scope of discriminant analysis is “to assign” an element to pre-existing clusters of

"homogeneous" elements.Discriminant analysis is based on the construction of “distances” between elements or

elements and clusters using one or more quantitative variables of analysis: each element is thenassigned to the "nearest" cluster.

As an example, suppose we have two clusters: cluster one with J elements and cluster twowith I elements, and two analysis variables x,y.

Let m1

=

1

1

y

x be the column vector mean for cluster 1, where J

xx j∑= 1

1 is the mean of

variable x and Iy

y j∑= 11 the mean of variable y, m2 be the analogous vector for cluster 2 (m1,

m2 are also said centroids), moreover let ( ) ( )[ ]21 112

1SISJ

IJS −+−

−+= be the pooled

variance-covariance matrix of population with:

=

11

11

1yxy

xyxS

σσσσ

where ( )

J

xxi

x

∑ −=

21

1σ , ( )

J

yyi

y

∑ −=

21

1σ and ( )( )

J

yyxx ii

xy

∑ −−= 11

(analogously for 2S ). Then:

( )211 mmS −= −β is the discriminant column vector in the x,y plane,

z = [ ]

2

1

ββ

yx =β1x+β2y is the discriminant function,

d(e, mi)= [ ] [ ]ii meSme −′− −1 is the Mahalanobis distance between the element e and cluster i

(i=1,2).β is the vector for which the euclidean distance between the projections of m1, m2 on the vectoritself is maximised.

An element e is then assigned to the cluster i (i=1,2) for which the distance between theprojection of mi, and the projection of e on β (equal to Mahalanobis distance) is shorter.

cluster 1

β ° ° element e

° ° ° * element e is assigned tocluster 2

° • • projection m1 • • • cluster 2

• • projection e

projection m2

Page 11: Air Deal Manager: Corporate Travel Expense Optimisation ... · of response time, flexibility, scalability, compactness, system portability, embeddability, and ease of use. The system

There are also other techniques to perform discriminant analysis, following are twoimportant ones.

1. An element can be assigned to the cluster in which its k (k integer) "nearest neighbours" are(the concept of distance analogous to the one just explained)

2. An element can be assigned to the cluster for which its ex post probability of belonging isgreater; as to the probability itself, it can be evaluated supposing an underlying Gaussiandistribution or through a non parametric estimation of the said distribution using, for example,the "kernel method".

Within each cluster categorical (or categorised) classification variables have the samevalue and so through discriminant analysis these variables can be estimated.

Discriminant analysis applicationDiscriminant analysis with SAS is done using PROC DISCRIM. This is its basic syntax:

proc discrim data=dataset name data set containing clusters testdata= dataset name data set containing records to assign to clusters method=normal|npar <k=|r=>; discriminant analysis type class variable list; classification variables which define clusters var variable list; analysis variables by variable list; by variables used to perform separate analysis on

different by groupsquit;

The program is very complicated as PROC DISCRIM is included in a macro programcalled more times: each time data sets involved and by variables change." classification variable is given by clssrv," analysis variable by tckusd," pre-existing clusters are composed of classified records for which clssrv has the same

value," elements to be assigned are the not-classified records.

It is then clear that the client data must be split into two parts:1. the data set of classified records (used in the data=datasetname option of SAS PROC

DISCRIM)2. the data set of not-classified records (used in the testdata=datasetname option of SAS

PROC DISCRIM).

As we said, with the by variables list instruction, PROC DISCRIM runs separateanalysis for distinct homogenous groups and better results are thus obtained.

We have chosen to use two by variables; one of them is always clssrvol: this means thatwe actually have to decide between FULL and DISCOUNTED within each overall class ofservice.

Page 12: Air Deal Manager: Corporate Travel Expense Optimisation ... · of response time, flexibility, scalability, compactness, system portability, embeddability, and ease of use. The system

As to the second variable, it will change each of the three times we run discriminantanalysis according to a pattern that will soon be explained.

A step-procedure is necessary because, if there are too many groups, it may happen thatsome groups contain too few records for the discriminant analysis to be correctly run (records arenot classified and error messages are written on the log), on the other hand if groups are large,records are not homogeneous enough and the classification tends to be less precise.

Following are the steps:" First step: by variable airpsq" Second step by variable coupair (country of origin-country of destination)" Third step by variable regpair (region of origin-region of destination)

Following the previous scheme partitions of the data set on which separate discriminantanalysis are performed and hierarchically enlarged.

Before each step, by groups, which are too small and will cause error messages (whichwill not stop the analysis for other by groups), are screened out.

After each step classified records are appended to the data set which contains clusters ofclassified records (used in the data= datasetname option of SAS PROC DISCRIM): largerclusters mean more information.

We have tested all the process randomly taking out 20% of records correctly classified inthe first matching and including them again in the data set with not-classified record (obviouslyputting clssrv to missing again).

At each classification step, trace of the number of classified records has been kept.Running PROC DISCRIM with different options we have found out that the best results

(very satisfactory: more than 96% records were correctly classified!) are obtained with a non-parametric analysis and the k nearest neighbours method with k=3 (as opposed to the kernelmethod).

Parametric PROC DISCRIM was theoretically excluded as it works under the hypothesisthat the underlying distribution is Gaussian while, in our case, the underlying distribution isasymmetric.

Goal Programming Optimisation

In the following paragraph we present another argument that may be of interesting forSAS technicians and DSS users. It concerns the automation of a complex optimisation model

using the linear programming facilities of SAS System (SAS/OR) to provide optimal strategy offlight distribution to AMEX corporate clients, based on rebates/discounts computed for variouswhat if scenario including external and internal exogenous factors.

This Statistical Methodology, typical of many Operative Resource Decision SupportSystems (DSS), can be applied in a very large set of scenario. Here, we had applied it to acommon problem of Cost Management:

1. maximise savings obtainable from corporate travel expenses or, in other words, minimisethe corporate travel costs,

2. starting from a synthetic datamart computed from Client flight data, published farescollected by an external Data Provider, Savings and Rebates computed considering the

Page 13: Air Deal Manager: Corporate Travel Expense Optimisation ... · of response time, flexibility, scalability, compactness, system portability, embeddability, and ease of use. The system

specific contract agreement established between the Air Carriers and the Corporate Client,and air carrier potential computed from a Flight schedule data set;

3. considering specific filters and constrain conditions added to the linear programmingmodel by the DSS specialist.To describe our work with SAS System we start introducing the User interface to the

system and the functionalities of this DSS from the user point of view. If you first prefer to lookon input data available to the system, go more ahead to see the description of each variablespresent in the “Last Contract Tracking Details” data mart.

The Optimisation Goal Programming interface.The Goal Programming Algorithm is accessible through a specific SAS System frame,

built with SAS/AF. The “Goal Programming Optimisation” frame allows the user to find thelinear optimal solution to minimise corporate flight costs. To reach this Goal the system uses alinear goal programming methodology which permits the introduction of added constraints.

In particular the user can add user-defined filters to fix the minimum amount of sectors orglobal spend in USD regarding a set of flight cells. For example it is possible to request that theGoal Programming Algorithm finds an optimal solution with at least 1200 segments associated toa selected air carrier towards JFK airport (New York city).

It is also possible to force the Goal Programming algorithm to limit the maximum orminimum number of sectors actually reached by a series of specifically selected air carriers in allthe Client flight cells. These air carriers may only decrease or increase their spend quote.

Here follow the main “Goal Programming Optimisation” frame.

Page 14: Air Deal Manager: Corporate Travel Expense Optimisation ... · of response time, flexibility, scalability, compactness, system portability, embeddability, and ease of use. The system

The “Goal Programming Optimisation” frame shows four list boxes:

1. Analysed Contracts: these are the contacts used to estimate data from the Contract TrackingFrame.

2. Filter and conditions: these are the added filters defined by the user to limit the lower boundsectors or spend of one or more Air Carriers.

3. Air Carrier Upper Limited: these are the air carrier codes whose upper bound sectors arefixed to the actual numbers of already covered sectors (using the actual client value). Theseair carriers can only reduce their spend within each cell.

4. Air Carrier Lower Limited: these are the air carrier codes whose lower bound sectors arefixed to the actual numbers of already covered sectors (using the actual client value). Theseair carriers can only increase their spend within each cell.

The “Goal Programming Optimisation” frame shows four fields:

1. Client code: this is the code of the client used to run the Contract Tracking Analysis and nowconsidered in the Goal Programming Optimisation. The user cannot change this parameterwithout running a new Contract Tracking Analysis.

2. Potential: this is the maximum percentage of client flights covered by a single air carrierwithin each cell where there are at least two different Air Carriers. The inner program firstconsiders Air Carrier Coverage built over a flight schedule data set, then it limits the obtainedvalue to this maximum potential parameter. Reducing this parameter the user reduces thepossible global moving spend. Increasing these parameters, the air carrier coverage does notautomatically increase if its coverage built over the flight schedule data set does not agree.

3. The Starting Date of the Contract Time Period: this is the starting date of the period usedto run the Contract Tracking Analysis. The user cannot change this parameter without runninga new Contract Tracking Analysis.

4. The Ending Date of the Contract Time Period: this is the expiry date of the period used torun the Contract Tracking Analysis. The user cannot change this parameter without running anew Contract Tracking Analysis.

The check box named “Integer Constrain” activates an Integer Goal Programmingalgorithm. An Integer Goal Programming algorithm is more resource consuming and takes moretime to reach the optimal solution, but it avoids optimal solution with sector fraction. If you don’tactivate this check the algorithm is faster, but may produce optimal solution with a fraction ofsome sectors (For example: 3.25 tickets from New York Baltimore to London Gatwick). Withsome constraints regarding Spend Filter it is more frequent that the algorithm does not reach afinal solution. When the algorithm fails to find the optimal solution a red error appears on theSAS System LOG and the system prints the following warnings on the SAS System Outputwindow:

Data table failed!Data table failed!Data table failed!Data table failed!Solution not feasible!Solution not feasible!Solution not feasible!Solution not feasible!Check constraints!Check constraints!Check constraints!Check constraints!

Page 15: Air Deal Manager: Corporate Travel Expense Optimisation ... · of response time, flexibility, scalability, compactness, system portability, embeddability, and ease of use. The system

The system allows you to limit the maximum or minimum number of sectors actuallyreached by a series of specifically selected air carriers in each of the Client flight cells. These aircarriers may only decrease or increase their spend quote. To select the air carriers the currentframe provides two list boxes:

1. Air Carrier Upper Limited: these are the air carrier codes whose upper bound sectors arefixed to the actual numbers of already covered sectors (using the actual client value). Theseair carriers can only reduce their spend within each cell.

2. Air Carrier Lower Limited: these are the air carrier codes whose lower bound sectors arefixed to the actual numbers of already covered sectors (using the actual client value). Theseair carriers can only increase their spend within each cell.

To add or remove air carriers in these two list boxes the user can click on the firstselection on each list box. Then an air carrier list, which allows the User to select or deselect aircarriers, appears.

The following figure shows an example of this air carrier selection list.

Check “Bottom” to reach the end of the list, check “Find” to search an item, check“Rfind” to search again the same item, check “Order” to sort the list, check “Canc.” to cancelthe selection, check “Return” to confirm the actually selected item.

In order to manipulate the user filters, the frame presents the following push buttons:

Page 16: Air Deal Manager: Corporate Travel Expense Optimisation ... · of response time, flexibility, scalability, compactness, system portability, embeddability, and ease of use. The system

1] Add Filter: clicking on this button allows the user to define a new filter as described in thesub-paragraph ‘Adding a filter’.

2] Edit Filter: clicking on this button shows the user the parameters relative to the filtercurrently selected on the Filter list box. First the system shows the user the flight sectorsselected to limit the minimum number of segments of the minimum spend of the currentclient. The sectors are shown in the same manner during the first selection The system showsthe filter parameters defined initially to limit the spend or the number of segments and thefilter long description. During this phase the user can modify the parameters and drop othercells, but cannot add other cells/sectors.

3] Delete Filter: clicking on this button, the system drops the filter currently selected in the“Filter and Condition” list box.

At the bottom of the frame there are four buttons:

# Process Control: clicking on this button shows a series of three data tables in browsing modesimilar to the following one. To obtain added details about the Goal Optimisation Process notshowed, click on the next button.

# View Result: clicking on this button shows a series of three data tables in browsing mode,similar to the following one. This describes the result of the Goal Optimisation Process.

# Run: clicking on this button starts the Goal Optimisation process to find an Optimal Solutionfrom the current defined problem.

# Return: clicking on this button allows the user to exit from the current frame.

The previous figure shows an example of data table frame. This frame has a lot offunctionalities which allow the user to sort the data, to select records or columns, to export thedata versus other tool like Excel, to calculate totals or frequencies, and so on. To explain all theedit capability of this data table we should present a specific user-manual.

There are three Process Control data tables:

1. Last Contract Tracking Details: this is a data set containing the bigger part of theinformation used by the Goal Programming Optimisation Algorithm. For each single celldefined by Airport Pair, Ticket Currency, Class Group and Air Carrier, the data table showsinformation fields obtained by the Contract Tracking Analysis.

2. Air Carrier Distribution: this is a secondary Data Table obtained from the Optimisationwhich describes some fields regarding the solution and aggregated with respect to Air Carrier,Class Group and Ticket Currency. It is similar to other differently aggregated Data tablesavailable by clicking on the “View Result” button.

Page 17: Air Deal Manager: Corporate Travel Expense Optimisation ... · of response time, flexibility, scalability, compactness, system portability, embeddability, and ease of use. The system

3. Solution Summary: this is a technical Data Table to control the amount of spend in theobtained solution. It is reduced by the system to follow the evidence that a potential rebatemay be reached only when the air carrier spend increases. The main field is the “FinalOptimal Solution Amount (Proc.LP)” which is the total spend of the client using the FlightsDistribution proposed by the SAS System Procedure LP. The field “Final Opt. USD Amount”reduces the rebate of each air carrier whose spend was not increased.

There are Four Result Data tables:

1. Benchmark Summary: this is the most important summary data table. This data set presentsthe final solution results with respect to the actual Client spend. The main fields are the“Global USD Amount” which is the Client actual Spend and the “Final Optimal USDAmount” which is the Client Spend obtained from the proposed solution and the differencebetween these two fields. It also shows the “Actual Average Price” and the “Optimal SolutionAverage Price” and the difference between these two fields. The total Spend Amount obtainedhere does not correspond to the real Client spend if you do not use Origin and Destinationdata feed. Using detailed Sectors data you obtain a biased solution with an increased spend,but this solution respects better the contract conditions, in particular regarding the rebateestimate based o segments thresholds.

2. Air Carrier Summary: this data table shows a summary regarding the air carriers. It presentsfields as “Final Opt. Sectors”, actual “Air Carrier USD Sectors” and their difference. It alsoshows “Final Opt. Amount”, actual “Air Carrier USD Amount” and their difference. Finallythe “Potential Air Carrier Sectors” and the “Potential Air Carrier Amount” are provided.

3. Benchmark: this a more detailed data table showing the proposed solution aggregated by“Airport Pair”, “Ticket Currency” and “Class group”, excluding the “Air Carrier”. It presentsfields as “Final Opt. Sectors”, actual “Global USD Sectors” and their difference. It alsoshows “Final Opt. USD Amount”, actual “Global USD Amount” and their difference. Finallyit shows “Final Opt. USD Average Price”, actual “Global USD Average Price” and theirdifference. There are two additional fields “Saving Rank” and “First 80 % of savings”. Thesetwo fields select the main cells whose savings cover at least the 80 % of the Global Saving.These cells are sorted in order of importance.

4. Solution: this is the most important of the detailed data tables and it represents the finalsolution proposed by the system. It has the same columns of the previous table and thefollowing: “Potential” and “Sel. Price in the Opt. Phase”. The first is the potential obtainedfrom a flight schedule data set and is limited by the Potential filed on the main frame. Thesecond one is the price used during the optimisation phase which takes into account thepotential maximum rebate of the Air Carrier.

Page 18: Air Deal Manager: Corporate Travel Expense Optimisation ... · of response time, flexibility, scalability, compactness, system portability, embeddability, and ease of use. The system

Last Contract Tracking Details data mart.Following are explanations of the most complex table: the “Last Contract Tracking

Details”

Discount (This is the savings amount obtained through a fixed discount policy established byspecific contract agreement between the Air Carriers and the Corporate Client)Rebate(This is the savings amount obtained through rebates established by specific contractagreement between the Air Carriers and the Corporate Client)Savings(This is the total savings amount obtained through specific contract agreement between theAir Carriers and the Corporate Client)Selected Ticket Amount (This is the Client Spend Amount selected by the Air Carrier Contractsconsidered in the Tracking Analysis process),Selected Ticket Segments (This is the number of Client Sectors selected by the Air CarrierContracts considered in the Tracking Analysis process),Air Carrier Amount (The total spend of the client in USD with respect to the current data cell, thisis obtained directly from a sum of the price of all the tickets selected by the contract during theTracking Analysis)Air Carrier Segments (The total number of sectors of the client respect to the current data cellselected by the contract during the Tracking Analysis)Air Carrier Complete Amount (The same as Air Carrier Amount but considering also theaggregation of the single segment into main routes. It is not very useful because it increases the realclient spend)Air Carrier Complete Segments (The same as Air Carrier Segments but considering also theaggregation of the single segment into main routes. It is not very useful because it increases the realclient spend)Return on Spend % (this is the rate between the savings obtained and the Air Carrier Amountexpressed as a percentage)Avg. Price (this is the rate between the Air Carrier Amount and the Air Carrier Segments,representing the average price of each ticket)Amount Cov. % (this is the percentage of Client Spend potentially covered by the current AirCarrier in the cell defined by Airport Pair, Ticket Currency and Class Group, in other words it is therate between the “Air Carrier Amount Potential” field and the “Global USD Amount” field)Segments Cov. % (this is the percentage of Client Segments potentially covered by the current AirCarrier in the cell defined by Airport Pair, Ticket Currency and Class Group, in other words it is therate between the “Air Carrier Segment Potential” field and the “Global USD Segments” field)Average Rebate Per Sector (this is the rate between the Rebate and the number of sectors)Average Rebate Per Sector %(this is the rate between the Rebate and the number of sectorsexpressed as a percentage)Average Discount Per Sector (this is the rate between the Discount and the number of sectors)Average Discount Per Sector % (his is the rate between the Discount and the number of sectorsexpressed as a percentage)Average Savings Per Sector (this is the rate between the Savings and the number of sectors)Average Savings Per Sector % (this is the rate between the Savings and the number of sectorsexpressed as a percentage)Rebate on Spend % (this is the rate between the rebate obtained and the Air Carrier Amountexpressed as a percentage)

Page 19: Air Deal Manager: Corporate Travel Expense Optimisation ... · of response time, flexibility, scalability, compactness, system portability, embeddability, and ease of use. The system

Net Sector Price (this is the rate between the Air Carrier Amount minus the rebate and the AirCarrier Segments, representing the Net average price of each ticket)

The same fields are presented for the air carrier maximum potential and are labelled withthe suffix “(Pot.)”. In addition the following categories are included:

Average coverage % (this is the percentage of the client spend covered by the contract of thecurrent air carrier)Incremental Return on Spend % (this Key Value Indicator is the rate between the potentialsavings minus the actual savings and the Potential Air Carrier Amount minus the Actual Air carrierAmount, expressed as a percentage. It is an index describing how much is useful to increase thespend of the client on the current Air Carrier. A positive Incremental Return on Spend means thatthe savings obtained with the current Air Carrier increase when the Air carrier Market Shareincreases.)Total Discount Var. % (this is the percentage increase of the potential discount with respect to theactual discount)Total Rebate Var. % (this is the percentage increase of the potential rebates with respect to theactual rebates)Total Saving Var. % (this is the percentage increase of the potential savings with respect to theactual savings)Global USD Segments (this is the number of segments included in the cell defined by “AirportPair”, “Ticket Currency” and “Class Group”)Global USD Amount (this is the Spend Amount included in the cell defined by “Airport Pair”,“Ticket Currency” and “Class Group”)Global Air Carrier USD Segments (this is the number of segments included in the cell defined by“Airport Pair”, “Ticket Currency”, “Class Group” and “Air Carrier”)Global Air Carrier USD Amount (this is the Spend Amount included in the cell defined by“Airport Pair”, “Ticket Currency”, “Class Group” and “Air Carrier”)Average Pro Rated Published Fare (this is the Published fare of the current Air Carrier for thisSector. It is obtained from an External Data Provider, and, when it is not available, it is computedfrom the Client data with the assumption that the declared Discount was completely and exactlyapplied. At the top of the Goal Programming Report or Tracking Analysis the system displays theactual percentage of tickets found in the External Provider Data Base).Exchange Rate: (It is the exchange rate actually obtained from the client data).

Goal Programming Optimisation Methodology.The main fields actually used by the Goal Programming Optimisation are as follows:

Airport Pair Class GroupTicket Currency Contract CodeAir Carrier The Exchange RateThe Average Sector Price The Net Sector PriceGlobal USD Amount Global USD SegmentsGlobal USD Air Carrier Amount Global USD Air Carrier sectorsAir Carrier Amount Air Carrier SegmentsPotential Air Carrier Amount Potential Air Carrier SegmentsSelected Ticket Amount Selected Ticket Segments

Page 20: Air Deal Manager: Corporate Travel Expense Optimisation ... · of response time, flexibility, scalability, compactness, system portability, embeddability, and ease of use. The system

Potential Selected Ticket Amount Potential Selected Ticket SegmentsRebate Potential Rebate:

Exceptionally, the user may modify this data table before running the optimisation tocorrect some fields, for example Rebate, Published Fares and so on.

SAS PROC LP with the sparsedata option is used to perform the linear optimisationprocess. Proc Lp solves the linear programming problem of:Minimise: p’x (i)Subject to: Ax ≥≥≥≥ a (ii)Subject to: Bx = b (iii)Subject to: Cx ≤≤≤≤ c (iv)Subject to: Dx = d (v)Subject to: Ex ≤≤≤≤ e (vi)Where ii ux ≤≤0 (vii)

where:(i) is a the function to minimise (price multiple by sectors);(ii) is a constrain to avoid the reduction of some air carriers;(iii) is a constrain to ensure the sum of sectors for each flight cell remains equal to the

actual;(iv) is a constrain to avoid the increase of some air carriers;(v) is a constrain to avoid the variation of cells with a insignificant economic value;(vi) is a set of user added constrains to the minimum number or value of sectors assigned

to a specific air carrier nearby a specific area;(vii) is a constrain to the range of the number of sectors (from 0 to then maximum

reachable by the air carrier number of sector considering the air carrier potential forthe current cell).

p is a vector of coefficient, in our case the average ticket price,x are the structural variables, in our case the number of flight sectors,

For the Proc Lp to work with sparsedata option it is necessary to prepare a data set withspecific columns named _TYPE_, _COL_, _ROW_, _COEF_.that is hard to explain. In particular_TYPE_ contains the constrain type;_ROW_ contains the identifier of the current constrain;_COL_ contains the cell identifier (airport pair, carriers, currency of origin et…) or the specialvalue ‘_rhs_’ to identify the goal value of the specific constrain;_COEF_ contains the various coefficient of the constrains.