The Experiment

These experiments are aimed at ananyzing choice overload effects (cardinality context effects)when similarity exists (already modeled through the Nested Logit model). The threshold for cardinality (z)is an input paramter and we present results for different values of z. In these experiments we compare the performance of two algorithms:

  1. Greedy Algorithm (GA): Only dissimilar items are added to the assortment

  2. Balancing algorithm(BA): Equal number of similar and dissimilar items are alternatively added to the assortment

Both are devised to achieve an optimal solution to the assortment optimization problem when choice overload exists under similarity context effects.We consider a fixed set of 10 items to be added to an assortment which is nested into two groups (or nests). The dissimilarity parameter of each of the nest determines the extent to which the items within a nest are similar (or dissimilar to each other.)

For all the experiments below we have a fixed value of alpha =0.2 (magnitude of cardinality effect). However, to obtain the final results we analyze both algorithms for alpha values ranging from 0.01 to 2.

Preference weights

We create a random vector for 10 items and sort it(high to low) such that it represents preference weights of items to be added to an assortment

##  [1] 4.7492046 4.6713360 3.1164870 2.3423116 1.4826518 0.9880951 0.7034490
##  [8] 0.3828991 0.2606200 0.2159539

Calculate No-Choice

To calculate no-choice when assortment depth increases, we assume the following:For a given value of the cardinality threshold element ‘z’ we have:

  1. Fixed value of lambda 1-Disimilarity parameter for nest 1.

  2. Fixed value of lambda 2-Dissimilarity parameter for nest 2.

  3. Fixed number of items in the set I

In addition,we have equal preference weight of both nests when increase in depth begins.This means that before we add an item to the assortment both nests are equally appealing to the customer. Within-nest no-choice exists and is considered to be equal in both nests when the experiment begins. However, with increasing assortment depth, these values will change differently in each nest due to the existing similarity (or dissimilarity). It is also assumed that the cardinality effect is the same for all experiments (alpha value = 0.05)

A higher value of dissimilarity paramter means that the items are not similar and vice versa for a given nest.

Greedy algorithm VS Balancing algorithm

We perform the experiments here (For a detailed overview on the final results please scroll down to the bottom of the page):

## cardinality threshold (z) =  1 
## Dissimilarity paramter for nest 1 =  0.1 
## Dissimilarity paramter for nest 2 =  0.9 
## Best No-Choice probability value for greedy algorithm =  0.2882746 
## Best No-Choice probability value for balancing algorithm =  0.3632994

## cardinality threshold (z) =  2 
## Dissimilarity paramter for nest 1 =  0.1 
## Dissimilarity paramter for nest 2 =  0.9 
## Best No-Choice probability value for greedy algorithm =  0.2659765 
## Best No-Choice probability value for balancing algorithm =  0.31571

## cardinality threshold (z) =  3 
## Dissimilarity paramter for nest 1 =  0.1 
## Dissimilarity paramter for nest 2 =  0.9 
## Best No-Choice probability value for greedy algorithm =  0.1937687 
## Best No-Choice probability value for balancing algorithm =  0.1744093

## cardinality threshold (z) =  4 
## Dissimilarity paramter for nest 1 =  0.1 
## Dissimilarity paramter for nest 2 =  0.9 
## Best No-Choice probability value for greedy algorithm =  0.1548828 
## Best No-Choice probability value for balancing algorithm =  0.1218806

## cardinality threshold (z) =  5 
## Dissimilarity paramter for nest 1 =  0.1 
## Dissimilarity paramter for nest 2 =  0.9 
## Best No-Choice probability value for greedy algorithm =  0.1348139 
## Best No-Choice probability value for balancing algorithm =  0.114561

## cardinality threshold (z) =  6 
## Dissimilarity paramter for nest 1 =  0.1 
## Dissimilarity paramter for nest 2 =  0.9 
## Best No-Choice probability value for greedy algorithm =  0.1246679 
## Best No-Choice probability value for balancing algorithm =  0.1003127

## cardinality threshold (z) =  7 
## Dissimilarity paramter for nest 1 =  0.1 
## Dissimilarity paramter for nest 2 =  0.9 
## Best No-Choice probability value for greedy algorithm =  0.1187393 
## Best No-Choice probability value for balancing algorithm =  0.09854197

## cardinality threshold (z) =  8 
## Dissimilarity paramter for nest 1 =  0.1 
## Dissimilarity paramter for nest 2 =  0.9 
## Best No-Choice probability value for greedy algorithm =  0.1148619 
## Best No-Choice probability value for balancing algorithm =  0.09306637

## cardinality threshold (z) =  9 
## Dissimilarity paramter for nest 1 =  0.1 
## Dissimilarity paramter for nest 2 =  0.9 
## Best No-Choice probability value for greedy algorithm =  0.1128595 
## Best No-Choice probability value for balancing algorithm =  0.09250551

## cardinality threshold (z) =  10 
## Dissimilarity paramter for nest 1 =  0.1 
## Dissimilarity paramter for nest 2 =  0.9 
## Best No-Choice probability value for greedy algorithm =  0.1115374 
## Best No-Choice probability value for balancing algorithm =  0.09064164

## cardinality threshold (z) =  1 
## Dissimilarity paramter for nest 1 =  0.2 
## Dissimilarity paramter for nest 2 =  0.8 
## Best No-Choice probability value for greedy algorithm =  0.3237209 
## Best No-Choice probability value for balancing algorithm =  0.3682225

## cardinality threshold (z) =  2 
## Dissimilarity paramter for nest 1 =  0.2 
## Dissimilarity paramter for nest 2 =  0.8 
## Best No-Choice probability value for greedy algorithm =  0.3012595 
## Best No-Choice probability value for balancing algorithm =  0.3374441

## cardinality threshold (z) =  3 
## Dissimilarity paramter for nest 1 =  0.2 
## Dissimilarity paramter for nest 2 =  0.8 
## Best No-Choice probability value for greedy algorithm =  0.2161663 
## Best No-Choice probability value for balancing algorithm =  0.1745552

## cardinality threshold (z) =  4 
## Dissimilarity paramter for nest 1 =  0.2 
## Dissimilarity paramter for nest 2 =  0.8 
## Best No-Choice probability value for greedy algorithm =  0.1763272 
## Best No-Choice probability value for balancing algorithm =  0.1253753

## cardinality threshold (z) =  5 
## Dissimilarity paramter for nest 1 =  0.2 
## Dissimilarity paramter for nest 2 =  0.8 
## Best No-Choice probability value for greedy algorithm =  0.1554375 
## Best No-Choice probability value for balancing algorithm =  0.1153037

## cardinality threshold (z) =  6 
## Dissimilarity paramter for nest 1 =  0.2 
## Dissimilarity paramter for nest 2 =  0.8 
## Best No-Choice probability value for greedy algorithm =  0.144774 
## Best No-Choice probability value for balancing algorithm =  0.101969

## cardinality threshold (z) =  7 
## Dissimilarity paramter for nest 1 =  0.2 
## Dissimilarity paramter for nest 2 =  0.8 
## Best No-Choice probability value for greedy algorithm =  0.1385076 
## Best No-Choice probability value for balancing algorithm =  0.09942527

## cardinality threshold (z) =  8 
## Dissimilarity paramter for nest 1 =  0.2 
## Dissimilarity paramter for nest 2 =  0.8 
## Best No-Choice probability value for greedy algorithm =  0.1343942 
## Best No-Choice probability value for balancing algorithm =  0.09429602

## cardinality threshold (z) =  9 
## Dissimilarity paramter for nest 1 =  0.2 
## Dissimilarity paramter for nest 2 =  0.8 
## Best No-Choice probability value for greedy algorithm =  0.1322651 
## Best No-Choice probability value for balancing algorithm =  0.09347759

## cardinality threshold (z) =  10 
## Dissimilarity paramter for nest 1 =  0.2 
## Dissimilarity paramter for nest 2 =  0.8 
## Best No-Choice probability value for greedy algorithm =  0.1308575 
## Best No-Choice probability value for balancing algorithm =  0.09173032

## cardinality threshold (z) =  1 
## Dissimilarity paramter for nest 1 =  0.3 
## Dissimilarity paramter for nest 2 =  0.7 
## Best No-Choice probability value for greedy algorithm =  0.3651191 
## Best No-Choice probability value for balancing algorithm =  0.352946

## cardinality threshold (z) =  2 
## Dissimilarity paramter for nest 1 =  0.3 
## Dissimilarity paramter for nest 2 =  0.7 
## Best No-Choice probability value for greedy algorithm =  0.3398425 
## Best No-Choice probability value for balancing algorithm =  0.3312965

## cardinality threshold (z) =  3 
## Dissimilarity paramter for nest 1 =  0.3 
## Dissimilarity paramter for nest 2 =  0.7 
## Best No-Choice probability value for greedy algorithm =  0.2427592 
## Best No-Choice probability value for balancing algorithm =  0.1747276

## cardinality threshold (z) =  4 
## Dissimilarity paramter for nest 1 =  0.3 
## Dissimilarity paramter for nest 2 =  0.7 
## Best No-Choice probability value for greedy algorithm =  0.2025834 
## Best No-Choice probability value for balancing algorithm =  0.1297943

## cardinality threshold (z) =  5 
## Dissimilarity paramter for nest 1 =  0.3 
## Dissimilarity paramter for nest 2 =  0.7 
## Best No-Choice probability value for greedy algorithm =  0.1811728 
## Best No-Choice probability value for balancing algorithm =  0.116253

## cardinality threshold (z) =  6 
## Dissimilarity paramter for nest 1 =  0.3 
## Dissimilarity paramter for nest 2 =  0.7 
## Best No-Choice probability value for greedy algorithm =  0.1701325 
## Best No-Choice probability value for balancing algorithm =  0.1041423

## cardinality threshold (z) =  7 
## Dissimilarity paramter for nest 1 =  0.3 
## Dissimilarity paramter for nest 2 =  0.7 
## Best No-Choice probability value for greedy algorithm =  0.1636056 
## Best No-Choice probability value for balancing algorithm =  0.1005886

## cardinality threshold (z) =  8 
## Dissimilarity paramter for nest 1 =  0.3 
## Dissimilarity paramter for nest 2 =  0.7 
## Best No-Choice probability value for greedy algorithm =  0.1593045 
## Best No-Choice probability value for balancing algorithm =  0.09593397

## cardinality threshold (z) =  9 
## Dissimilarity paramter for nest 1 =  0.3 
## Dissimilarity paramter for nest 2 =  0.7 
## Best No-Choice probability value for greedy algorithm =  0.1570728 
## Best No-Choice probability value for balancing algorithm =  0.09477421

## cardinality threshold (z) =  10 
## Dissimilarity paramter for nest 1 =  0.3 
## Dissimilarity paramter for nest 2 =  0.7 
## Best No-Choice probability value for greedy algorithm =  0.1555952 
## Best No-Choice probability value for balancing algorithm =  0.09318837

## cardinality threshold (z) =  1 
## Dissimilarity paramter for nest 1 =  0.4 
## Dissimilarity paramter for nest 2 =  0.6 
## Best No-Choice probability value for greedy algorithm =  0.4132217 
## Best No-Choice probability value for balancing algorithm =  0.3532213

## cardinality threshold (z) =  2 
## Dissimilarity paramter for nest 1 =  0.4 
## Dissimilarity paramter for nest 2 =  0.6 
## Best No-Choice probability value for greedy algorithm =  0.3847934 
## Best No-Choice probability value for balancing algorithm =  0.3228438

## cardinality threshold (z) =  3 
## Dissimilarity paramter for nest 1 =  0.4 
## Dissimilarity paramter for nest 2 =  0.6 
## Best No-Choice probability value for greedy algorithm =  0.2738997 
## Best No-Choice probability value for balancing algorithm =  0.1749213

## cardinality threshold (z) =  4 
## Dissimilarity paramter for nest 1 =  0.4 
## Dissimilarity paramter for nest 2 =  0.6 
## Best No-Choice probability value for greedy algorithm =  0.2342582 
## Best No-Choice probability value for balancing algorithm =  0.1350865

## cardinality threshold (z) =  5 
## Dissimilarity paramter for nest 1 =  0.4 
## Dissimilarity paramter for nest 2 =  0.6 
## Best No-Choice probability value for greedy algorithm =  0.2128003 
## Best No-Choice probability value for balancing algorithm =  0.1173875

## cardinality threshold (z) =  6 
## Dissimilarity paramter for nest 1 =  0.4 
## Dissimilarity paramter for nest 2 =  0.6 
## Best No-Choice probability value for greedy algorithm =  0.2016251 
## Best No-Choice probability value for balancing algorithm =  0.1068062

## cardinality threshold (z) =  7 
## Dissimilarity paramter for nest 1 =  0.4 
## Dissimilarity paramter for nest 2 =  0.6 
## Best No-Choice probability value for greedy algorithm =  0.1949789 
## Best No-Choice probability value for balancing algorithm =  0.1020131

## cardinality threshold (z) =  8 
## Dissimilarity paramter for nest 1 =  0.4 
## Dissimilarity paramter for nest 2 =  0.6 
## Best No-Choice probability value for greedy algorithm =  0.1905818 
## Best No-Choice probability value for balancing algorithm =  0.09796218

## cardinality threshold (z) =  9 
## Dissimilarity paramter for nest 1 =  0.4 
## Dissimilarity paramter for nest 2 =  0.6 
## Best No-Choice probability value for greedy algorithm =  0.1882946 
## Best No-Choice probability value for balancing algorithm =  0.09637917

## cardinality threshold (z) =  10 
## Dissimilarity paramter for nest 1 =  0.4 
## Dissimilarity paramter for nest 2 =  0.6 
## Best No-Choice probability value for greedy algorithm =  0.1867782 
## Best No-Choice probability value for balancing algorithm =  0.09500036

## cardinality threshold (z) =  1 
## Dissimilarity paramter for nest 1 =  0.5 
## Dissimilarity paramter for nest 2 =  0.5 
## Best No-Choice probability value for greedy algorithm =  0.469275 
## Best No-Choice probability value for balancing algorithm =  0.3640973

## cardinality threshold (z) =  2 
## Dissimilarity paramter for nest 1 =  0.5 
## Dissimilarity paramter for nest 2 =  0.5 
## Best No-Choice probability value for greedy algorithm =  0.4170577 
## Best No-Choice probability value for balancing algorithm =  0.3208819

## cardinality threshold (z) =  3 
## Dissimilarity paramter for nest 1 =  0.5 
## Dissimilarity paramter for nest 2 =  0.5 
## Best No-Choice probability value for greedy algorithm =  0.3097811 
## Best No-Choice probability value for balancing algorithm =  0.1751271

## cardinality threshold (z) =  4 
## Dissimilarity paramter for nest 1 =  0.5 
## Dissimilarity paramter for nest 2 =  0.5 
## Best No-Choice probability value for greedy algorithm =  0.271793 
## Best No-Choice probability value for balancing algorithm =  0.1410266

## cardinality threshold (z) =  5 
## Dissimilarity paramter for nest 1 =  0.5 
## Dissimilarity paramter for nest 2 =  0.5 
## Best No-Choice probability value for greedy algorithm =  0.250948 
## Best No-Choice probability value for balancing algorithm =  0.1186393

## cardinality threshold (z) =  6 
## Dissimilarity paramter for nest 1 =  0.5 
## Dissimilarity paramter for nest 2 =  0.5 
## Best No-Choice probability value for greedy algorithm =  0.2399939 
## Best No-Choice probability value for balancing algorithm =  0.1098119

## cardinality threshold (z) =  7 
## Dissimilarity paramter for nest 1 =  0.5 
## Dissimilarity paramter for nest 2 =  0.5 
## Best No-Choice probability value for greedy algorithm =  0.233443 
## Best No-Choice probability value for balancing algorithm =  0.1036099

## cardinality threshold (z) =  8 
## Dissimilarity paramter for nest 1 =  0.5 
## Dissimilarity paramter for nest 2 =  0.5 
## Best No-Choice probability value for greedy algorithm =  0.2290932 
## Best No-Choice probability value for balancing algorithm =  0.1002583

## cardinality threshold (z) =  9 
## Dissimilarity paramter for nest 1 =  0.5 
## Dissimilarity paramter for nest 2 =  0.5 
## Best No-Choice probability value for greedy algorithm =  0.2268254 
## Best No-Choice probability value for balancing algorithm =  0.0981917

## cardinality threshold (z) =  10 
## Dissimilarity paramter for nest 1 =  0.5 
## Dissimilarity paramter for nest 2 =  0.5 
## Best No-Choice probability value for greedy algorithm =  0.2253198 
## Best No-Choice probability value for balancing algorithm =  0.09705402

## cardinality threshold (z) =  1 
## Dissimilarity paramter for nest 1 =  0.6 
## Dissimilarity paramter for nest 2 =  0.4 
## Best No-Choice probability value for greedy algorithm =  0.5305908 
## Best No-Choice probability value for balancing algorithm =  0.3871582

## cardinality threshold (z) =  2 
## Dissimilarity paramter for nest 1 =  0.6 
## Dissimilarity paramter for nest 2 =  0.4 
## Best No-Choice probability value for greedy algorithm =  0.4481036 
## Best No-Choice probability value for balancing algorithm =  0.3234395

## cardinality threshold (z) =  3 
## Dissimilarity paramter for nest 1 =  0.6 
## Dissimilarity paramter for nest 2 =  0.4 
## Best No-Choice probability value for greedy algorithm =  0.3503629 
## Best No-Choice probability value for balancing algorithm =  0.1753332

## cardinality threshold (z) =  4 
## Dissimilarity paramter for nest 1 =  0.6 
## Dissimilarity paramter for nest 2 =  0.4 
## Best No-Choice probability value for greedy algorithm =  0.3153421 
## Best No-Choice probability value for balancing algorithm =  0.1472278

## cardinality threshold (z) =  5 
## Dissimilarity paramter for nest 1 =  0.6 
## Dissimilarity paramter for nest 2 =  0.4 
## Best No-Choice probability value for greedy algorithm =  0.2959343 
## Best No-Choice probability value for balancing algorithm =  0.1199044

## cardinality threshold (z) =  6 
## Dissimilarity paramter for nest 1 =  0.6 
## Dissimilarity paramter for nest 2 =  0.4 
## Best No-Choice probability value for greedy algorithm =  0.2856642 
## Best No-Choice probability value for balancing algorithm =  0.1129022

## cardinality threshold (z) =  7 
## Dissimilarity paramter for nest 1 =  0.6 
## Dissimilarity paramter for nest 2 =  0.4 
## Best No-Choice probability value for greedy algorithm =  0.2794952 
## Best No-Choice probability value for balancing algorithm =  0.1052317

## cardinality threshold (z) =  8 
## Dissimilarity paramter for nest 1 =  0.6 
## Dissimilarity paramter for nest 2 =  0.4 
## Best No-Choice probability value for greedy algorithm =  0.2753868 
## Best No-Choice probability value for balancing algorithm =  0.1026082

## cardinality threshold (z) =  9 
## Dissimilarity paramter for nest 1 =  0.6 
## Dissimilarity paramter for nest 2 =  0.4 
## Best No-Choice probability value for greedy algorithm =  0.2732408 
## Best No-Choice probability value for balancing algorithm =  0.1000383

## cardinality threshold (z) =  10 
## Dissimilarity paramter for nest 1 =  0.6 
## Dissimilarity paramter for nest 2 =  0.4 
## Best No-Choice probability value for greedy algorithm =  0.2718144 
## Best No-Choice probability value for balancing algorithm =  0.09915207

## null device 
##           1

Results

From the above experiments we can conlcude the following:

  1. Of the 50 cases considered above, the balancing algorithm performs better (lower value of no-choice). This is because in 47 out of 50 cases, BA gives lower values for no-choice probability (objective function). Therefore we can conclude that adding both similar and dissimilar items in equal numbers leads to a greater decrease in no-choice than adding only highly dissimilar items, given the assumptions for the experiment are valid.

  2. The minima achieved by both algorithms is at the same point for (95-100)% of the cases. This variability exists because for different values of cardinality element (alpha) minima can be achieved at different points. Higher the value of alpha higher is the probability that both algorithms achieve minima at the same point(For instance when alpha=2(high), we achieve the minima for both the algorithms at exactly the same point for all 50 cases). However, the value of no-choice probabilities are not the same (BA is mostly better).

  3. As we change the dissimilarity parameters for both the nest, given a cardinality threshold value (z),we observe the following:

  1. As the difference in lambda 1 and lambda 2 is high, the difference in no-choice probability for both GA and BA is high and vice-versa.

  2. For lambda 1=lambda 2 (extreme case when both nests converge to one nest) both algorithms converge when cardinality context effect is significant (alpha has a moderate to high value) and the threshold (z) is low.For example when z=1 or 2, alpha=0.4 then both BA and GA converge for lambda1=lambda2=0.5 (both converge to one nest).However, this convergence is not true for higher z values.

  1. Once the minima is achieved, no-choice probability values increase faster for the balancing algorithm.

END REPORT