The authors propose a dairy bundle, integrating strategies to jointly maximise producer revenue and consumer utility according to the latter's preferences.
An algorithm based on a nested logit model identifies the bundle maximising producer revenue based on factors affecting consumer purchase behaviour. The data are drawn from a mall-intercept survey administered in Iran, with consumers stating a hypothetical choice among a comprehensive set of dairy products.
Demographic characteristics and marketing mix elements significantly affect consumers' preferences. An algorithm based on the estimated dissimilarity parameter determines the best bundle of dairy products, simultaneously obtaining the highest utility and the highest expected revenue.
Consumer preference and maximum producer or retail seller income are considered simultaneously. The bundling promotion strategy is widely used for food offerings and fresh foods and can be extended to other products.
1. Introduction
An adequate diet, which includes dairy products, can have a significant positive impact on human health (UNEP, 2019). These products are recommended for their important nutritional properties (Merlino et al., 2022). Dairy products have a high share in the agricultural products industry and play an important role in the economy of many countries (Cabrera et al., 2008). Despite new trends leading to steady growth in developed countries, dairy consumption is still low in some countries, such as Iran. For instance, there is a large gap in average per capita milk consumption between Iran (110 kg) and European countries (350 kg) (Singh and Gandhi, 2015). Therefore, a persuasive strategy is needed to encourage consumers to consume more of this beneficial product.
Bundling, which consists of presenting a set of purchase items as a combined product package, can be used as a persuasion strategy. Bundling strategies are often used for food offerings (Stremersch and Tellis, 2002). As a marketing approach, bundling can identify and meet consumer needs, including needs, expectations, likes, dislikes, motivations and preferences that influence purchasing decisions (Spacey, 2016). In bundle pricing, companies and organisations sell a set of goods or services at a total price lower than the sum of the prices of the individual items. Bundling reduces search, sorting and processing costs (Hayes, 1987); extracts surplus from consumers (Janiszewski and Marcus Cunha, 2004); increases consumer purchase intentions and perceived value (Arora, 2008); helps manufacturers and companies offer different products and services (Dominique-Ferreira et al., 2016); and also leads to perceptions of price fairness (Li et al., 2018).
Previous research has demonstrated that it is a very effective and beneficial marketing technique that can generate more revenue and profit as well as higher and faster sales through revenue management (Chiambaretto and Dumez, 2012; Yan et al., 2014). Product bundling can also attract consumers who like to make combined, value-oriented purchases. Product bundles allow consumers to access multiple available options by choosing a single package. Consumers are often more satisfied with a single choice from multiple items (Lloyd, 2016). This strategy has also attracted increasing attention in online sales, stimulating consumers to buy more than one product.
Despite the increasing use of the bundling strategy, few studies have been conducted on purchase motivation and consumer preferences for products sold in bundles (Liu et al., 2017). Gandal et al. (2018) found that one of the keys to increasing profitability for producers and consumers as a win-win strategy is considering consumer preferences for products. The savings achieved by purchasing a bundle are attributed to increased value added (Sheng and Pan, 2009). As a result, companies can further invest in bundles to increase consumer satisfaction (Gandal et al., 2018). Liu et al. (2017) investigated the relationships among products in a bundle that can effectively improve their joint performance. Their results show that consumer satisfaction can be maximised if preferences and the appropriate combination of products in the bundle are considered simultaneously. Carroll et al. (2022) addressed consumers' preferences for food bundling using a grocery shopping experiment with 250 consumers in America. They mentioned that food bundling can potentially increase profits in the grocery sector, especially for fresh products with lower profit margins. Regarding consumer preferences, they found that grocery bundling was preferred because consumers require less cognitive effort to process, which can benefit the consumers with the grocery shopping experience.
Alongside the bundling strategy as a tool to encourage or persuade consumers to buy more, understanding the buying criteria allows for examining the dynamics of a group of consumers. A hierarchy of purchase decisions can be designed to highlight the most important features to the buyers at the time of purchase. This view has increased profitability for manufacturers and related businesses (Nielsen, 2020). Understanding a hierarchical model of consumer behaviour for marketing communication activities is a foundation for changing consumer attitudes, especially behaviours that rely mainly on cognitive factors (Kim, 2018).
This study uses a nested logit (NL) choice model to measure consumer preferences for dairy products in a bundle. We grouped similar alternatives into nests and assumed a hierarchical decision-making structure (Ben-Akiva and Lerman, 1985). We asked consumers to select their products based on the proposed hierarchically structured decision tree. An algorithm based on the estimated parameters was then used to maximise the producer's revenue to suggest the optimal bundle, simultaneously considering consumer preference and the producer's or retailer's income.
Previous studies (Flores et al., 2019; Raj et al., 2023; Zhang et al., 2023) developed and formulated optimisation algorithms using simulated data. In this study, as a contribution, we apply the same algorithm to empirical (field) data collected through a consumer survey. In this way, the proposed theoretical algorithm is tested on empirical data. In this context, the research question is whether we can achieve the optimal bundle using the empirical data and the formulated optimisation algorithms.
Moreover, previous studies have examined the preferences of consumers and producers or sellers separately, whereas this study considers both aspects simultaneously. Integrating the simultaneous maximisation of consumer preferences and producer revenue (win-win strategy) can be a very useful and attractive marketing and sales strategy for retailers. Dairy suppliers can use this marketing strategy to promote sales and convince customers to use their specific dairy products. It can also be useful for policymakers and administrative decision-makers to promote public health (Sharpe and Staelin, 2010) and encourage the consumption of dairy products, for example, among vulnerable age groups such as children. According to this research contribution, the research question is whether the proposed final dairy bundle simultaneously addresses maximum consumer preference and maximum revenue for the producer. The remainder of the paper is organised as follows. In the next section, the research method is illustrated in detail. In the results section, the discrete choice model is estimated to examine consumers' dairy product preferences, and the final dairy product bundle is determined by the algorithm based on the estimated parameters. Finally, the results are discussed and compared with the results of other studies. In the last section, we draw our conclusions.
2. Materials and methods
2.1 Data collection
The data were collected in 2018 through a face-to-face survey questionnaire. The questionnaire consisted of three parts. The first part included personal characteristics such as age, gender, number of children, education, living expenses and other demographic characteristics of the respondents. The second part examined the respondent's level of awareness about the need to consume dairy products. In the third section, dairy consumption preferences were considered through questions regarding consumption and preference ratings for each dairy product, for example. Information on household demographic characteristics and the consumption of and preference for dairy products was also collected. The descriptive results of the variables are shown in Table 1.
Statistical description of the variables
| Independent variables | Percent of total | Independent variables | Percent of total |
|---|---|---|---|
| Age | Occupational status | ||
| Young (20–34) | 25 | Unemployed | 5 |
| Middle (35–50) | 28 | Academic student | 10 |
| Adults (51–65) | 26 | Free job (private) | 32 |
| Old (>65) | 21 | Farmer | 14 |
| Gender | Employee (government) | 39 | |
| Man | 57 | Living cost | |
| Woman | 43 | <500 thousand tomans | 9 |
| Household size | 500th – 1 million T | 24 | |
| 1–2 members | 24 | 1–2 million T | 33 |
| 3–4 members | 41 | 2–3 million T | 23 |
| 5–6 members | 28 | >3 million T | 11 |
| More than 6 members | 7 | Willingness to exercise | |
| Education level | Very low | 10 | |
| Illiterate | 1.5 | Low | 24 |
| Before diploma | 9 | Moderate | 40 |
| Diploma | 23 | High | 21 |
| Associate | 18 | Very high | 5 |
| Bachelor’s | 29 | ||
| Master’s | 12 | ||
| Doctoral | 7.5 | ||
| Willingness to brand | |||
| Low (1–3) | 13 | ||
| Moderate (4–6) | 40 | ||
| High (7–9) | 47 | ||
| Independent variables | Percent of total | Independent variables | Percent of total |
|---|---|---|---|
| Age | Occupational status | ||
| Young (20–34) | 25 | Unemployed | 5 |
| Middle (35–50) | 28 | Academic student | 10 |
| Adults (51–65) | 26 | Free job (private) | 32 |
| Old (>65) | 21 | Farmer | 14 |
| Gender | Employee (government) | 39 | |
| Man | 57 | Living cost | |
| Woman | 43 | <500 thousand tomans | 9 |
| Household size | 500th – 1 million T | 24 | |
| 1–2 members | 24 | 1–2 million T | 33 |
| 3–4 members | 41 | 2–3 million T | 23 |
| 5–6 members | 28 | >3 million T | 11 |
| More than 6 members | 7 | Willingness to exercise | |
| Education level | Very low | 10 | |
| Illiterate | 1.5 | Low | 24 |
| Before diploma | 9 | Moderate | 40 |
| Diploma | 23 | High | 21 |
| Associate | 18 | Very high | 5 |
| Bachelor’s | 29 | ||
| Master’s | 12 | ||
| Doctoral | 7.5 | ||
| Willingness to brand | |||
| Low (1–3) | 13 | ||
| Moderate (4–6) | 40 | ||
| High (7–9) | 47 | ||
Source(s): Table by authors
The target population was in Sari, Iran. It was chosen because Mazandaran province is one of the top producers of dairy products in Iran (Jihadof, 2018), and Sari is the capital of the province (Figure 1).
The figure is composed of three coordinated geographic map panels arranged by position. At the top, a provincial outline map of “Mazandaran Province” is shown, with the district labeled “Sari” highlighted to indicate its position within the province. At the bottom left, a political map of Iran is displayed, with Mazandaran Province emphasized and an arrow pointing upward toward the provincial map above, indicating a zoomed-in view of the same region. At the bottom right, a global map is presented, highlighting “Iran” to show its location within the world context.Location map of the case study
The figure is composed of three coordinated geographic map panels arranged by position. At the top, a provincial outline map of “Mazandaran Province” is shown, with the district labeled “Sari” highlighted to indicate its position within the province. At the bottom left, a political map of Iran is displayed, with Mazandaran Province emphasized and an arrow pointing upward toward the provincial map above, indicating a zoomed-in view of the same region. At the bottom right, a global map is presented, highlighting “Iran” to show its location within the world context.Location map of the case study
The sample size of 285 was defined based on estimating the variance from 30 pilot pre-test questionnaires and using Cochran's sample size formula (Cochran, 1977). The respondents were selected based on convenience via a random mall-intercept method (Law, 2016). Finally, 275 valid questionnaires were completed out of 285 total respondents, with a response rate of 96%. We used the NLOGIT 5 software package (Greene, 2012) to estimate the model's parameters.
2.2 Behavioural model
Various models are used to investigate consumer behaviour and identify factors affecting consumer preferences. Choice modelling has proven useful in analysing and investigating consumers' behaviour and purchasing preferences, and it is widely used in marketing research (Louviere et al., 2000). Discrete choice modelling (DCM) describes the behaviour of consumers when faced with a finite set of discrete options (McFadden, 1981; Kim, 2020). The multinomial logit (MNL) model is the workhorse statistical model in choice modelling (Lancsar et al., 2017). However, because the specific assumptions of MNL do not fit all the possible types of choice situations, researchers may need to use alternative and more flexible methods. The NL model, for instance, is a generalisation of the MNL model that relaxes a critical assumption of the basic logit models, namely, the independence of irrelevant alternatives (IIA) (Hensher et al., 2015). Therefore, considering the potential of the NL model and its hierarchical structure, this model was used to estimate the factors affecting the choice of dairy products. The formulation of the model is as follows.
Let d denote a dairy product, and be the probability that product d is chosen by someone who decides to purchase a type of dairy product (denoted t). Suppose this probability is influenced by factors included in the vector x as independent variables. Under the usual MNL model, the choice of dairy products (d) conditional on the type of products is (Danaher and Dagger, 2012):
where di represents a range of 1–16 dairy products suggested to the consumers.
The probability of choosing a dairy product in the NL model is calculated as follows (Danaher and Dagger, 2012):
where Iv as an inclusive value indicates expected maximum utility and is defined as follows (Ben-Akiva and Lerman, 1985):
and is a dissimilarity parameter that can be considered a measure of the dissimilarity of alternatives or nests.
In the data collection tool, we considered demographic and socio-economic features such as age, gender, household size, education (based on seven levels of education degrees), occupational status (six levels), monthly family costs of living (five levels) as a proxy for disposable income, the level of importance of exercise to consumers (five-level semantic scale), consumer's awareness of the importance of consuming dairy products (three-level semantic scale), their preference for or tendency to purchase a particular brand of dairy products (rated with scores from 1 to 9) and consumers' price sensitivity.
Finally, we considered that brand choice and preference might be affected by the four classical marketing mix elements, based on the so-called four Ps of marketing: price (value), product (quality, packing, etc.), place (access to shopping) and promotion (loyalty, brand reputation and advertising). We asked the respondents about the importance of these elements using single-item direct questions. These factors can affect product choice separately or simultaneously (Astuti et al., 2015). Consumers' dairy product choice process is described using a decision tree (Ahmadi Kaliji et al., 2019). The tree has four levels corresponding to the 16 products in the fourth-level nodes (Figure 2). Based on this, consumers choose the brand of their dairy product at the first level; then, they determine the type of dairy products at the second and third levels. Finally, at the last level, they choose the final product in the related nest.
The framework shows, on the left side, five rightward arrow-shaped blocks arranged vertically and labeled from top to bottom as “Root”, “First level”, “Second level”, “Third level”, and “Fourth level”. At the root level, a rectangular text box appears on the right labeled “Choosing dairy products”. At the first level, two downward branches emerge from “Choosing dairy products”, with the left branch pointing to a rectangular text box labeled “Other brands” and the right branch pointing to a rectangular text box labeled “Kaleh brand”. At the second level, two downward branches emerge from “Kaleh brand”, with the left branch pointing to a rectangular text box labeled “Milk” and the right branch pointing to a rectangular text box labeled “Made from milk”. At the third level, under “Made from milk”, six horizontally arranged rectangular text boxes appear labeled “Ice-cream”, “Butter”, “Cream”, “Dough”, “Cheese”, and “Yogurt”. At the fourth level, two downward branches emerge from “Milk”, with the left branch pointing to a rectangular text box labeled “Full fat” and the right branch pointing to a rectangular text box labeled “Low fat”. At the fourth level, three downward branches emerge from “Ice-cream”, with one branch pointing to a rectangular text box labeled “Fruity”, a second branch pointing to a rectangular text box labeled “Traditional”, and a third branch pointing to a rectangular text box labeled “Stick”. From “Butter”, two downward branches emerge, with one branch pointing to a rectangular text box labeled “Other type” and another branch pointing to a rectangular text box labeled “Regular”. From “Cream”, two downward branches emerge, with one branch pointing to a rectangular text box labeled “Flavored” and a second branch pointing to a rectangular text box labeled “Normal”. From “Dough”, two downward branches emerge, with one branch pointing to a rectangular text box labeled “N carbonated” and a second branch pointing to a rectangular text box labeled “Carbonated”. From “Cheese”, three downward branches emerge, with one branch pointing to a rectangular text box labeled “Cream”, a second branch pointing to a rectangular text box labeled “Lactic”, and a third branch pointing to a rectangular text box labeled “Natural feta”. From “Yogurt”, two downward branches emerge, with one branch pointing to a rectangular text box labeled “Full fat” and a second branch pointing to a rectangular text box labeled “Low fat”.The suggested nested choice tree for dairy products
The framework shows, on the left side, five rightward arrow-shaped blocks arranged vertically and labeled from top to bottom as “Root”, “First level”, “Second level”, “Third level”, and “Fourth level”. At the root level, a rectangular text box appears on the right labeled “Choosing dairy products”. At the first level, two downward branches emerge from “Choosing dairy products”, with the left branch pointing to a rectangular text box labeled “Other brands” and the right branch pointing to a rectangular text box labeled “Kaleh brand”. At the second level, two downward branches emerge from “Kaleh brand”, with the left branch pointing to a rectangular text box labeled “Milk” and the right branch pointing to a rectangular text box labeled “Made from milk”. At the third level, under “Made from milk”, six horizontally arranged rectangular text boxes appear labeled “Ice-cream”, “Butter”, “Cream”, “Dough”, “Cheese”, and “Yogurt”. At the fourth level, two downward branches emerge from “Milk”, with the left branch pointing to a rectangular text box labeled “Full fat” and the right branch pointing to a rectangular text box labeled “Low fat”. At the fourth level, three downward branches emerge from “Ice-cream”, with one branch pointing to a rectangular text box labeled “Fruity”, a second branch pointing to a rectangular text box labeled “Traditional”, and a third branch pointing to a rectangular text box labeled “Stick”. From “Butter”, two downward branches emerge, with one branch pointing to a rectangular text box labeled “Other type” and another branch pointing to a rectangular text box labeled “Regular”. From “Cream”, two downward branches emerge, with one branch pointing to a rectangular text box labeled “Flavored” and a second branch pointing to a rectangular text box labeled “Normal”. From “Dough”, two downward branches emerge, with one branch pointing to a rectangular text box labeled “N carbonated” and a second branch pointing to a rectangular text box labeled “Carbonated”. From “Cheese”, three downward branches emerge, with one branch pointing to a rectangular text box labeled “Cream”, a second branch pointing to a rectangular text box labeled “Lactic”, and a third branch pointing to a rectangular text box labeled “Natural feta”. From “Yogurt”, two downward branches emerge, with one branch pointing to a rectangular text box labeled “Full fat” and a second branch pointing to a rectangular text box labeled “Low fat”.The suggested nested choice tree for dairy products
2.3 Technical algorithm
In line with the aim of the research, an iterative algorithm was used to maximise the producer's revenue by simultaneously considering the consumer's preference. In an iterative algorithm, a sequence of instructions is implemented, and the pre-defined steps are repeated until a stop-rule is met (Routh, 2016). In this study, we implement and illustrate the proposed algorithm using Microsoft Excel, executing the instructions manually without computer programming. However, these instructions and rules can easily be converted into a computer program using suitable software. After the calculations, the contents of the desired dairy bundle are suggested.
Once the NL model is estimated, the consumers' preference weight must be calculated at the beginning of the algorithm process. For this purpose, considering the proposed four-level decision tree (Figure 2), the attractiveness parameter () indicates the attractiveness of the dairy product corresponding to the node in level 4 (at this level, a node represents products derived from dairy products, such as low- or full-fat yoghurt, lactic-cream cheese).For the function of the offered bundle a consumer associates the preference weight with each node (dairy product). A consumer is more likely to purchase dairy products that have higher priority weights. The choice process starts from the root at the top of the nested choice tree until the consumer reaches a dairy product at the last level (fourth level), moving from top to bottom hierarchically. In particular, the probability of the following node (dairy products presented in the fourth level) by a consumer in a non-leaf node (dairy products presented at the third level: yoghurt, cheese, doogh, cream, butter and ice cream; also to option at the second level: made from milk and directly from milk options; finally two option at the first level: Kaleh brand and other brands) j is . Therefore, the preference weight for each non-leaf node (j) is computed as Li et al. (2015):
where is a dissimilarity parameter from the NL model associated with node j. The parameter is reported in the final results of the estimation of the NL model.
In the next step of the algorithm, after calculating the weight corresponding to consumers' preferences, it is necessary to calculate the expected revenue from a consumer (corresponding to the aim of maximising the producer's revenue). Therefore, considering Rj as the expected revenue associated with the dairy product j, is used to denote the expected revenue obtained from a consumer at node j (related dairy product and other options at other levels) in the tree during the choice process. If the consumer is at node j at the first, second and third levels, then he chooses the node (dairy product on the next level, i.e. level four) with probability . The expected revenue from a consumer is written at node j at the first, second or third levels (Li et al., 2015):
Therefore, we use the expected revenue associated with a dairy product and the attractiveness parameter or consumer preferences for each node or product on the fourth level or any related level. The estimated dissimilarity parameter is used to find the best dairy bundle based on consumer preferences for each option (node) at the second to fourth levels.
First, each dairy product's optimal solution as a bundle is the bundle with the highest expected revenue for the producer and is determined at the third level nodes (yoghurt, cheese, doogh, cream, butter and ice cream). For example, for yoghurt, the two recommended bundles can be determined (indicating the number of bundles that can only be offered with yoghurt, considering the maximum expected revenue). Then, we can verify that this collection includes an optimal solution for each dairy product. In the next step, to input the effect of consumers' preferences for each separate dairy product in the proposed bundle, the preference weight previously calculated based on equation (4) is multiplied by the expected revenue calculated based on equation (5).
The principle of the algorithm consists of drawing the lines that arise from the results of the last step – the lines with the slopes of -, - and y-intercepts of , (Figure 3). For this problem, if the suggested dairy product bundle is and j1 and j2 are derivatives of the j dairy product, we can verify that this collection includes an optimal solution at the j dairy product node in the suggested tree. Each subset was constructed based on the maximum expected revenue. Each node's preference weight and expected revenue in the third level were calculated using equations (4) and (5), respectively. Each product's expected revenue was calculated based on a standardised 100 grams quantity to homogenise the dairy products. Finding the pairwise intersection points (optimal intervals or solutions) of these two lines, if the interval is [−∞, I1], then the highest of these lines corresponds to the dairy product subset . Similarly, if the interval is [I1,I2], the highest line corresponds to the dairy product subset . The calculation formats are the same for the other dairy products.
The image shows a two-dimensional graph with a vertical axis labeled “w subscript j open parenthesis B subscript j close parenthesis R subscript j open parenthesis B subscript j close parenthesis” and a horizontal axis labeled “u”. The horizontal axis extends from “negative infinity” on the left to “positive infinity” on the right, with a marked point labeled “I subscript 1” positioned to the right of negative infinity and another marked point labeled “I subscript 2” positioned to the left of positive infinity. A slanted line labeled “curly bracket open j subscript 1, j subscript 2curly bracket closed” emerges from a higher point on the vertical axis, slopes downward, and ends at the horizontal axis around the middle region. Another slanted line labeled “curly bracket open j subscript 2 curly bracket closed” emerges from a middle position on the vertical axis, slopes downward more steeply, and ends at a higher value on the horizontal axis near “I subscript 2”. These two slanted lines meet at a highlighted black point above the horizontal axis. From this meeting point, a vertical dashed line stretches downward and connects to the horizontal axis exactly at the point labeled “I subscript 1”.The lines and points for j product collection
The image shows a two-dimensional graph with a vertical axis labeled “w subscript j open parenthesis B subscript j close parenthesis R subscript j open parenthesis B subscript j close parenthesis” and a horizontal axis labeled “u”. The horizontal axis extends from “negative infinity” on the left to “positive infinity” on the right, with a marked point labeled “I subscript 1” positioned to the right of negative infinity and another marked point labeled “I subscript 2” positioned to the left of positive infinity. A slanted line labeled “curly bracket open j subscript 1, j subscript 2curly bracket closed” emerges from a higher point on the vertical axis, slopes downward, and ends at the horizontal axis around the middle region. Another slanted line labeled “curly bracket open j subscript 2 curly bracket closed” emerges from a middle position on the vertical axis, slopes downward more steeply, and ends at a higher value on the horizontal axis near “I subscript 2”. These two slanted lines meet at a highlighted black point above the horizontal axis. From this meeting point, a vertical dashed line stretches downward and connects to the horizontal axis exactly at the point labeled “I subscript 1”.The lines and points for j product collection
In the next step, the optimal bundle proposed for each dairy product is checked together with other dairy products to provide a combined bundle of all dairy products. A similar algorithm is repeated until the upper levels of the decision tree (towards the root) are reached.
Since we assume that each consumer starts the choice process from the root (top of the tree), if bundle B is offered, then the expected revenue obtained from a consumer is . This study aims to find a bundle that maximises the expected revenue from a consumer at the root. The objective function to be maximised is the following (Li et al., 2015).
Therefore, the algorithm can be summarised as shown in Figure 4.
The diagram shows three vertically arranged rectangular text boxes on the left side, connected in a vertical sequence and labeled from top to bottom as “estimating dissimilarity parameters from the N L model”, “calculating consumers’ preference weight”, and “calculating the expected revenue”. In the center, five vertically arranged rectangular text boxes appear, connected in a vertical line and labeled from top to bottom as “multiplying the preference weight by the expected revenue”, “finding the collection of the dairy products bundles (in the third level)”, “calculating the optimal interval for dairy products in the third level”, “identifying the optimal bundle for dairy products made from the milk node (second level)”, and “check each dairy product’s optimal proposed bundle”. On the right side, three vertically arranged rectangular text boxes are shown, connected in a vertical line and labeled from top to bottom as “calculating the optimal intervals for milk products in the second level”, “calculation of the optimal interval for the Kaleh products node in the first level”, and “identifying the optimal dairy products bundle for root with the highest expected revenue”. From “calculating consumers’ preference weight” and “calculating the expected revenue”, rightward branches emerge and merge into a single branch that points to the first text box of the central sequence labeled “multiplying the preference weight by the expected revenue”. A rightward arrow emerges from the last text box of the central sequence labeled “check each dairy product’s optimal proposed bundle” and points to the first text box of the right sequence labeled “calculating the optimal intervals for milk products in the second level”. Two dashed lines emerge from the central text box labeled “calculating the optimal interval for dairy products in the third level”, with one dashed line pointing to “calculating the optimal intervals for milk products in the second level” and the other dashed line pointing to “calculation of the optimal interval for the Kaleh products node in the first level”.Diagram of conducting the algorithm
The diagram shows three vertically arranged rectangular text boxes on the left side, connected in a vertical sequence and labeled from top to bottom as “estimating dissimilarity parameters from the N L model”, “calculating consumers’ preference weight”, and “calculating the expected revenue”. In the center, five vertically arranged rectangular text boxes appear, connected in a vertical line and labeled from top to bottom as “multiplying the preference weight by the expected revenue”, “finding the collection of the dairy products bundles (in the third level)”, “calculating the optimal interval for dairy products in the third level”, “identifying the optimal bundle for dairy products made from the milk node (second level)”, and “check each dairy product’s optimal proposed bundle”. On the right side, three vertically arranged rectangular text boxes are shown, connected in a vertical line and labeled from top to bottom as “calculating the optimal intervals for milk products in the second level”, “calculation of the optimal interval for the Kaleh products node in the first level”, and “identifying the optimal dairy products bundle for root with the highest expected revenue”. From “calculating consumers’ preference weight” and “calculating the expected revenue”, rightward branches emerge and merge into a single branch that points to the first text box of the central sequence labeled “multiplying the preference weight by the expected revenue”. A rightward arrow emerges from the last text box of the central sequence labeled “check each dairy product’s optimal proposed bundle” and points to the first text box of the right sequence labeled “calculating the optimal intervals for milk products in the second level”. Two dashed lines emerge from the central text box labeled “calculating the optimal interval for dairy products in the third level”, with one dashed line pointing to “calculating the optimal intervals for milk products in the second level” and the other dashed line pointing to “calculation of the optimal interval for the Kaleh products node in the first level”.Diagram of conducting the algorithm
This algorithm was discussed theoretically in previous studies; in this study, we also perform the calculations and discuss practical aspects and results. The algorithm's output is obtained through numerical calculations with widely used spreadsheet software, Microsoft Excel, to provide an empirical example. A final dairy bundle with the highest expected revenue, considering consumer preferences, is selected after consecutive calculations, as illustrated in the results section.
3. Results
3.1 The estimated nested logit model
The NL model was used to estimate the factors affecting the choice and preference of dairy products. According to the hierarchical decision-making approach, the purchasing decision process is like a decision tree. The choice of the nest and dairy products depends on the factors discussed in the following text.
The results of the Hausman test (Hausman and McFadden, 1984) were examined to verify the need for the NL model. If the assumption of independence of IIA is violated, using more advanced logit models, including the NL model is justified. Indeed, the Hausman test statistics (chi-square coefficient:17.54, significant at the 1% level) shows that the IIA assumption was violated.
The results of the NL model estimation are reported in Table 2. The analysis of associations with demographic characteristics revealed that consumers' age had a positive and statistically significant effect on choosing products such as low-fat milk and yoghurt, non-carbonated doogh and regular butter. It had the most substantial effect on milk choice, which indicates that older consumers tend to consume low-fat dairy products because of conditions like high blood cholesterol. Consumers' sensitivity to consuming low- or full-fat products can also be seen as a result of the exercise variable's significant effect on the probability of choosing low-fat milk. The level of education can also affect the choice of healthy and low-fat dairy products. Men preferred less full-fat yoghurt, cream cheese and sticks ice cream. Greater household size increased the probability of choosing various products, such as ice cream types. Brand preferences affect the probability of choosing full-fat yoghurt, lactic cheese and sticks ice cream. The four classical marketing mix elements also influenced consumers' preferences. Price (4p), product (4p), place (4p) and promotion (4p) had the strongest effect on the probability of choosing cream cheese, non-carbonated doogh, traditional ice cream and cream cheese products, respectively. This outcome may be because of product value, quality, packing, shopping access, brand loyalty and reputation.
Nested logit model estimation results
| Variables | Products | Coefficient | Standard deviation | Z | Marginal effect (per cent) |
|---|---|---|---|---|---|
| Price | Total products | −1.417*** | 0.593 | −2.39 | −0.308 |
| Age | Low-fat milk | 5.655*** | 2.077 | 2.72 | 1.230 |
| Low-fat yoghurt | 1.261*** | 0.512 | 2.47 | 0.274 | |
| N-carbonated doogh | 0.456*** | 0.201 | 2.27 | 0.099 | |
| Regular butter | 4.062* | 2.284 | 1.78 | 0.883 | |
| Gender | Full-fat yoghurt | −4.249* | 2.365 | −1.80 | −0.924 |
| Cream cheese | −1.431*** | 0.555 | −2.58 | −0.311 | |
| Normal cream | 0.965** | 0.505 | 1.91 | 0.210 | |
| Other butter | 4.026* | 2.264 | 1.78 | 0.876 | |
| Sticks ice cream | −6.408* | 3.784 | −1.69 | −1.394 | |
| Household size | Low-fat milk | 1.254*** | 0.323 | 3.88 | 0.273 |
| Natural cheese | 5.111*** | 1.762 | 2.90 | 1.112 | |
| N-carbonated doogh | 3.132** | 1.448 | 2.16 | 0.681 | |
| Traditional ice cream | 2.413*** | 1.003 | 2.40 | 0.525 | |
| Fruity ice cream | 7.043* | 4.032 | 1.75 | 1.532 | |
| Education | Low-fat milk | 0.482** | 0.247 | 1.96 | 0.105 |
| Low-fat yoghurt | 0.927* | 0.550 | 1.69 | 0.202 | |
| N-carbonated doogh | 0.792* | 0.462 | 1.72 | 0.172 | |
| Regular butter | 2.644*** | 0.786 | 3.36 | 0.575 | |
| Traditional ice cream | 1.753*** | 0.768 | 2.28 | 0.381 | |
| Living cost | Low-fat yoghurt | −1.244* | 0.715 | −1.74 | −0.271 |
| Natural cheese | 4.812*** | 1.549 | 3.11 | 1.047 | |
| Lactic cheese | −3.664*** | 1.005 | −3.64 | −0.797 | |
| Normal cream | −3.212*** | 1.436 | −2.24 | −0.699 | |
| Sticks ice cream | −0.782* | 0.428 | −1.83 | −0.170 | |
| Exercise | Low-fat milk | 1.226*** | 0.247 | 4.97 | 0.267 |
| Brand | Full-fat yoghurt | 1.620* | 0.881 | 1.84 | 0.352 |
| Lactic cheese | 1.729*** | 0.518 | 3.34 | 0.376 | |
| Sticks ice cream | 1.335* | 0.260 | 5.12 | 0.290 | |
| Price (4p) | Full-fat yoghurt | 1.965** | 0.918 | 2.14 | 0.427 |
| Natural cheese | 2.052** | 0.989 | 2.07 | 0.446 | |
| Cream cheese | −4.061*** | 1.276 | 3.18 | −0.883 | |
| Normal cream | −1.846** | 0.884 | −2.09 | −0.401 | |
| Regular butter | 0.751* | 0.414 | 1.81 | 0.163 | |
| Sticks ice cream | 0.246*** | 0.076 | 3.26 | 0.053 | |
| Traditional ice cream | 0.761*** | 0.347 | 2.19 | 0.165 | |
| Fruity ice cream | −3.075*** | 1.246 | −2.47 | −0.669 | |
| Product (4p) | Low-fat milk | 1.326* | 0.789 | 1.68 | 0.288 |
| Full-fat yoghurt | 1.768* | 1.004 | 1.76 | 0.384 | |
| N-carbonated doogh | 2.165** | 1.027 | 2.11 | 0.471 | |
| Regular butter | −1.433* | 0.764 | −1.87 | −0.312 | |
| Place (4p) | Traditional ice cream | 2.009* | 1.138 | 1.77 | 0.437 |
| Promotion (4p) | Cream cheese | 1.746** | 0.884 | 1.97 | 0.380 |
| Variables | Products | Coefficient | Standard deviation | Z | Marginal effect (per cent) |
|---|---|---|---|---|---|
| Price | Total products | −1.417*** | 0.593 | −2.39 | −0.308 |
| Age | Low-fat milk | 5.655*** | 2.077 | 2.72 | 1.230 |
| Low-fat yoghurt | 1.261*** | 0.512 | 2.47 | 0.274 | |
| N-carbonated doogh | 0.456*** | 0.201 | 2.27 | 0.099 | |
| Regular butter | 4.062* | 2.284 | 1.78 | 0.883 | |
| Gender | Full-fat yoghurt | −4.249* | 2.365 | −1.80 | −0.924 |
| Cream cheese | −1.431*** | 0.555 | −2.58 | −0.311 | |
| Normal cream | 0.965** | 0.505 | 1.91 | 0.210 | |
| Other butter | 4.026* | 2.264 | 1.78 | 0.876 | |
| Sticks ice cream | −6.408* | 3.784 | −1.69 | −1.394 | |
| Household size | Low-fat milk | 1.254*** | 0.323 | 3.88 | 0.273 |
| Natural cheese | 5.111*** | 1.762 | 2.90 | 1.112 | |
| N-carbonated doogh | 3.132** | 1.448 | 2.16 | 0.681 | |
| Traditional ice cream | 2.413*** | 1.003 | 2.40 | 0.525 | |
| Fruity ice cream | 7.043* | 4.032 | 1.75 | 1.532 | |
| Education | Low-fat milk | 0.482** | 0.247 | 1.96 | 0.105 |
| Low-fat yoghurt | 0.927* | 0.550 | 1.69 | 0.202 | |
| N-carbonated doogh | 0.792* | 0.462 | 1.72 | 0.172 | |
| Regular butter | 2.644*** | 0.786 | 3.36 | 0.575 | |
| Traditional ice cream | 1.753*** | 0.768 | 2.28 | 0.381 | |
| Living cost | Low-fat yoghurt | −1.244* | 0.715 | −1.74 | −0.271 |
| Natural cheese | 4.812*** | 1.549 | 3.11 | 1.047 | |
| Lactic cheese | −3.664*** | 1.005 | −3.64 | −0.797 | |
| Normal cream | −3.212*** | 1.436 | −2.24 | −0.699 | |
| Sticks ice cream | −0.782* | 0.428 | −1.83 | −0.170 | |
| Exercise | Low-fat milk | 1.226*** | 0.247 | 4.97 | 0.267 |
| Brand | Full-fat yoghurt | 1.620* | 0.881 | 1.84 | 0.352 |
| Lactic cheese | 1.729*** | 0.518 | 3.34 | 0.376 | |
| Sticks ice cream | 1.335* | 0.260 | 5.12 | 0.290 | |
| Price (4p) | Full-fat yoghurt | 1.965** | 0.918 | 2.14 | 0.427 |
| Natural cheese | 2.052** | 0.989 | 2.07 | 0.446 | |
| Cream cheese | −4.061*** | 1.276 | 3.18 | −0.883 | |
| Normal cream | −1.846** | 0.884 | −2.09 | −0.401 | |
| Regular butter | 0.751* | 0.414 | 1.81 | 0.163 | |
| Sticks ice cream | 0.246*** | 0.076 | 3.26 | 0.053 | |
| Traditional ice cream | 0.761*** | 0.347 | 2.19 | 0.165 | |
| Fruity ice cream | −3.075*** | 1.246 | −2.47 | −0.669 | |
| Product (4p) | Low-fat milk | 1.326* | 0.789 | 1.68 | 0.288 |
| Full-fat yoghurt | 1.768* | 1.004 | 1.76 | 0.384 | |
| N-carbonated doogh | 2.165** | 1.027 | 2.11 | 0.471 | |
| Regular butter | −1.433* | 0.764 | −1.87 | −0.312 | |
| Place (4p) | Traditional ice cream | 2.009* | 1.138 | 1.77 | 0.437 |
| Promotion (4p) | Cream cheese | 1.746** | 0.884 | 1.97 | 0.380 |
Note(s): ***, ** and * indicate significance at the 1, 5 and 10% levels, respectively
McFadden pseudo R2 = 0.58, chi-squared = 7.44, log-likelihood function = −26.31
Source(s): Table by authors
3.2 Optimisation algorithm
To run the optimisation algorithm, we need the estimated coefficients of inclusive value (as dissimilarity parameters) in Table 3 to calculate each dairy product node's preference weight (equation 4). These coefficients also confirm the nests' independence based on Figure 2 (Hauber and Parsons, 2000; Wen, 2010).
Estimation results of inclusive value coefficient
| Nest | Coefficient | Standard deviation | Z statistics | |
|---|---|---|---|---|
| Second level | Yoghurt | 0.852*** | 0.261 | 3.26 |
| Cheese | 0.678*** | 0.279 | 2.43 | |
| Doogh | 0.468** | 0.242 | 1.93 | |
| Cream | 0.497*** | 0.224 | 2.22 | |
| Butter | 0.503* | 0.279 | 1.80 | |
| Ice cream | 0.566* | 0.324 | 1.75 | |
| Third level | Milk products | 1.428* | 0.87 | 1.64 |
| Milk final consumption | 0.712** | 0.368 | 1.94 | |
| Fourth level | Company brand | 2.154*** | 0.923 | 2.33 |
| Other brand | 1.514*** | 0.722 | 2.10 |
| Nest | Coefficient | Standard deviation | Z statistics | |
|---|---|---|---|---|
| Second level | Yoghurt | 0.852*** | 0.261 | 3.26 |
| Cheese | 0.678*** | 0.279 | 2.43 | |
| Doogh | 0.468** | 0.242 | 1.93 | |
| Cream | 0.497*** | 0.224 | 2.22 | |
| Butter | 0.503* | 0.279 | 1.80 | |
| Ice cream | 0.566* | 0.324 | 1.75 | |
| Third level | Milk products | 1.428* | 0.87 | 1.64 |
| Milk final consumption | 0.712** | 0.368 | 1.94 | |
| Fourth level | Company brand | 2.154*** | 0.923 | 2.33 |
| Other brand | 1.514*** | 0.722 | 2.10 |
Note(s): ***, ** and * indicate significance at the 1, 5 and 10% levels, respectively
Source(s): Table by authors
We used the parameters Rj (expected revenue associated with dairy product j) and (attractiveness parameter or consumer preferences) for each node or dairy product in the fourth level, and the estimated (dissimilarity parameter) for each node on the second to fourth levels (coefficients in Table 3), to find the best dairy bundle based on consumer preferences (The abbreviations of the names of dairy products are listed in Appendix, Table A1).
The abbreviations of the names of dairy products
| Dairy products | Name | Dairy products | Name |
|---|---|---|---|
| Low-fat yoghurt | ylf | Flavoured cream | Cf |
| Full-fat yoghurt | yff | Regular butter | Br |
| Normal cheese | chn | Other types of butter | Bo |
| Lactic cheese | chl | Sticks ice cream | Is |
| Cream cheese | chc | Traditional ice cream | It |
| Carbonated doogh | dc | Fruity ice cream | If |
| Non-carbonated doogh | dn | Low-fat milk | Mlf |
| Normal cream | cn | Full-fat milk | Mff |
| Dairy products | Name | Dairy products | Name |
|---|---|---|---|
| Low-fat yoghurt | ylf | Flavoured cream | Cf |
| Full-fat yoghurt | yff | Regular butter | Br |
| Normal cheese | chn | Other types of butter | Bo |
| Lactic cheese | chl | Sticks ice cream | Is |
| Cream cheese | chc | Traditional ice cream | It |
| Carbonated doogh | dc | Fruity ice cream | If |
| Non-carbonated doogh | dn | Low-fat milk | Mlf |
| Normal cream | cn | Full-fat milk | Mff |
Source(s): Table by authors
First, each dairy product's optimal interval/solution was calculated on the third level (yoghurt, cheese, doogh, cream, butter and ice cream). For this problem if (the number of bundles that can only be offered with yoghurt, considering maximum expected revenue), then we can verify that this collection includes an optimal solution at the yoghurt node. Similarly, if , then this collection includes an optimum at the cheese product (node). Each subset of this collection was constructed based on the maximum expected revenue. The preference weight and expected revenue of each dairy product node on the third level were calculated using equations (4) and (5), respectively. Each product's expected revenue was calculated based on a standardised 100 grams quantity to homogenise the dairy products. The preference weight results are shown in the second row of Table A2. These were multiplied by the expected revenue calculated based on equation (5), and the results are presented in the third row of Table A2. To find the optimal interval/solution in this table's fourth row, consider the lines with the slope - and y-intercept , where is calculated based on equation (4). Finding the pairwise intersection points of these two lines, if the interval is [−∞, 577], the highest of these lines corresponds to the subset .
Calculation of the optimal interval for dairy products in the third level
| (Bundle for yoghurt products) | ||||
|---|---|---|---|---|
| 27.7 | 13.9 | 0 | ||
| 17,697 | 9,869 | 0 | ||
| Optimal interval | [–∞, 577] | [577,710] | [710, +∞] | |
| 14 | 9.9 | 7.3 | 0 | |
| 9,709 | 7,219 | 5,475 | 0 | |
| Optimal interval | [–∞, 607] | [607,671] | [671,750] | [750, +∞] |
| 7.1 | 5.3 | 0 | ||
| 2,331 | 1855 | 0 | ||
| Optimal interval | [–∞, 264] | [264,350] | [350, +∞ ] | |
| 3.3 | 2.2 | 0 | ||
| 2039 | 1,430 | 0 | ||
| Optimal interval | [–∞, 554] | [554,650] | [650, +∞] | |
| 4.4 | 2.6 | 0 | ||
| 2,760 | 1820 | 0 | ||
| Optimal interval | [–∞, 522] | [522,700] | [700, +∞] | |
| 6.6 | 5 | 3.2 | 0 | |
| 2,852 | 2,704 | 1920 | 0 | |
| Optimal interval | [–∞, 92] | [92,436] | [436,600] | [600, +∞] |
| 16.7 | 8.9 | 0 | ||
| 6,994 | 4,005 | 0 | ||
| Optimal interval | [–∞, 383] | [383,450] | [450, +∞] |
| 27.7 | 13.9 | 0 | ||
| 17,697 | 9,869 | 0 | ||
| Optimal interval | [–∞, 577] | [577,710] | [710, +∞] | |
| 14 | 9.9 | 7.3 | 0 | |
| 9,709 | 7,219 | 5,475 | 0 | |
| Optimal interval | [–∞, 607] | [607,671] | [671,750] | [750, +∞] |
| 7.1 | 5.3 | 0 | ||
| 2,331 | 1855 | 0 | ||
| Optimal interval | [–∞, 264] | [264,350] | [350, +∞ ] | |
| 3.3 | 2.2 | 0 | ||
| 2039 | 1,430 | 0 | ||
| Optimal interval | [–∞, 554] | [554,650] | [650, +∞] | |
| 4.4 | 2.6 | 0 | ||
| 2,760 | 1820 | 0 | ||
| Optimal interval | [–∞, 522] | [522,700] | [700, +∞] | |
| 6.6 | 5 | 3.2 | 0 | |
| 2,852 | 2,704 | 1920 | 0 | |
| Optimal interval | [–∞, 92] | [92,436] | [436,600] | [600, +∞] |
| 16.7 | 8.9 | 0 | ||
| 6,994 | 4,005 | 0 | ||
| Optimal interval | [–∞, 383] | [383,450] | [450, +∞] |
Source(s): Table by authors
Similarly, if the interval is [577,710], then the highest line corresponds to the subset . In other words, if the interval is [−∞, 577], then the optimal solution is given by . Thus, the points are given by {−∞, 577, 710, +∞}. We then considered the lines with the slope −27.7 and y-intercept 17,697, and the slope −13.9 and y-intercept 9,869. Thus, the intersection point between two lines for yoghurt bundles is 577. We performed these calculations similarly for yoghurt, cheese, doogh, cream, butter, ice cream and milk (Table A2).
Taking the union of these interval points in Table A2, 15 intervals in Table A3 were obtained to identify optimal bundles for products in the milk node (second level). In this case, if the interval is [−∞, 92], the optimal bundle for this interval is {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, ik, it, if}, which includes total products made from milk (except final milk products because there are none on the third level). Similarly, if the interval is [92, 264], the optimal bundle is {low-fat yoghurt, full-fat yoghurt, normal cheese, lactic cheese, cream cheese, carbonated doogh, non-carbonated doogh, normal cream, flavored cream, regular butter, other-type butter, traditional ice cream and fruity ice cream}, from which sticks ice cream (IS) are excluded.
Identifying the optimal bundle for products made from milk node (second level)
| Interval | [–∞, 92] | [92,264] |
|---|---|---|
| Bundle | {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, is, it, if} | {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, it, if} |
| Interval | [264,350] | [350,436] |
| Bundle | {ylf, yff, chn, chl, chc, dn, cn, cf, br, bo, it, if} | {ylf, yff, chn, chl, chc, cn, cf, br, bo, it, if} |
| Interval | [436,522] | [522,554] |
| Bundle | {ylf, yff, chn, chl, chc, cn, cf, br, bo, if} | {ylf, yff, chn, chl, chc, cn, cf, bo, if} |
| Interval | [554,577] | [577,600] |
| Bundle | {ylf, yff, chn, chl, chc, cf, bo, if} | { ylf, chn, chl, chc, cf, bo, if} |
| Interval | [600,607] | [607,650] |
| Bundle | { ylf, chn, chl, chc, cf, bo} | { ylf, chl, chc, cf, bo} |
| Interval | [650,671] | [671,700] |
| Bundle | { ylf, chl, chc, bo} | { ylf, chc, bo} |
| Interval | [700,710] | [710,750] |
| Bundle | { ylf, chc } | {chc } |
| Interval | [750, +∞] | |
| Bundle |
| Interval | [–∞, 92] | [92,264] |
|---|---|---|
| Bundle | {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, is, it, if} | {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, it, if} |
| Interval | [264,350] | [350,436] |
| Bundle | {ylf, yff, chn, chl, chc, dn, cn, cf, br, bo, it, if} | {ylf, yff, chn, chl, chc, cn, cf, br, bo, it, if} |
| Interval | [436,522] | [522,554] |
| Bundle | {ylf, yff, chn, chl, chc, cn, cf, br, bo, if} | {ylf, yff, chn, chl, chc, cn, cf, bo, if} |
| Interval | [554,577] | [577,600] |
| Bundle | {ylf, yff, chn, chl, chc, cf, bo, if} | { ylf, chn, chl, chc, cf, bo, if} |
| Interval | [600,607] | [607,650] |
| Bundle | { ylf, chn, chl, chc, cf, bo} | { ylf, chl, chc, cf, bo} |
| Interval | [650,671] | [671,700] |
| Bundle | { ylf, chl, chc, bo} | { ylf, chc, bo} |
| Interval | [700,710] | [710,750] |
| Bundle | { ylf, chc } | {chc } |
| Interval | [750, +∞] | |
| Bundle |
Source(s): Table by authors
Based on the last algorithm (Tables A2 and A3), optimal intervals were calculated for milk products on the second level. The first interval calculated [−∞,189] with a bundle of {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, is, it, if}. Since the Kaleh brand had the highest preference over other brands of dairy products, these results were used with the optimal interval result of milk {mlf, mff}, and {mlf} to identify the optimal bundle for the Kaleh products node on the first level (Table A5). In the first interval of Table A4 ([−∞,189]), the bundle is {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, is, it, if, mlf, mff}. This bundle includes the whole assortment of dairy products the Kaleh company offers.
Calculation optimal interval for products made from milk node (second level)
| Bundle | {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, is, it, if} | {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, it, if} |
|---|---|---|
| wmp(Bmp) | 160 | 155 |
| wmp(Bmp) Rmp(Bmp) | 94,803 | 93,857 |
| Optimal interval | [–∞,189] | [189,297] |
| Bundle | {ylf, yff, chn, chl, chc, dn, cn, cf, br, bo, it, if} | {ylf, yff, chn, chl, chc, cn, cf, br, bo, it, if} |
| wmp(Bmp) | 150 | 137 |
| wmp(Bmp) Rmp(Bmp) | 92,372 | 85,989 |
| Optimal interval | [297,399] | [399,485] |
| Bundle | {ylf, yff, chn, chl, chc, cn, cf, br, bo, if} | {ylf, yff, chn, chl, chc, cn, cf, bo, if} |
| wmp(Bmp) | 129 | 123 |
| wmp(Bmp) Rmp(Bmp) | 83,532 | 80,192 |
| Optimal interval | [485,557] | [557,565] |
| Bundle | {ylf, yff, chn, chl, chc, cf, bo, if} | {ylf, chn, chl, chc, cf, bo, if} |
| wmp(Bmp) | 120 | 81 |
| wmp(Bmp) Rmp(Bmp) | 78,496 | 55,370 |
| Optimal interval | [565,593] | [593,618] |
| Bundle | {ylf, chn, chl, chc, cf, bo} | {ylf, chl, chc, cf, bo} |
| wmp(Bmp) | 72 | 61 |
| wmp(Bmp) Rmp(Bmp) | 49,805 | 43,082 |
| Optimal interval | [618,624] | [624,663] |
| Bundle | {ylf, chl, chc, bo} | {ylf, chc, bo} |
| wmp(Bmp) | 55 | 49 |
| wmp(Bmp) Rmp(Bmp) | 39,102 | 35,051 |
| Optimal interval | [663,675] | [675,681] |
| Bundle | {ylf, chc} | {chc} |
| wmp(Bmp) | 42 | 11 |
| wmp(Bmp) Rmp(Bmp) | 29,946 | 7,150 |
| Optimal interval | [681,697] | [697,715] |
| Bundle | ||
| wmp(Bmp) | 0 | |
| wmp(Bmp) Rmp(Bmp) | 0 | |
| Optimal interval | [715, +∞] |
| Bundle | {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, is, it, if} | {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, it, if} |
|---|---|---|
| wmp(Bmp) | 160 | 155 |
| wmp(Bmp) Rmp(Bmp) | 94,803 | 93,857 |
| Optimal interval | [–∞,189] | [189,297] |
| Bundle | {ylf, yff, chn, chl, chc, dn, cn, cf, br, bo, it, if} | {ylf, yff, chn, chl, chc, cn, cf, br, bo, it, if} |
| wmp(Bmp) | 150 | 137 |
| wmp(Bmp) Rmp(Bmp) | 92,372 | 85,989 |
| Optimal interval | [297,399] | [399,485] |
| Bundle | {ylf, yff, chn, chl, chc, cn, cf, br, bo, if} | {ylf, yff, chn, chl, chc, cn, cf, bo, if} |
| wmp(Bmp) | 129 | 123 |
| wmp(Bmp) Rmp(Bmp) | 83,532 | 80,192 |
| Optimal interval | [485,557] | [557,565] |
| Bundle | {ylf, yff, chn, chl, chc, cf, bo, if} | {ylf, chn, chl, chc, cf, bo, if} |
| wmp(Bmp) | 120 | 81 |
| wmp(Bmp) Rmp(Bmp) | 78,496 | 55,370 |
| Optimal interval | [565,593] | [593,618] |
| Bundle | {ylf, chn, chl, chc, cf, bo} | {ylf, chl, chc, cf, bo} |
| wmp(Bmp) | 72 | 61 |
| wmp(Bmp) Rmp(Bmp) | 49,805 | 43,082 |
| Optimal interval | [618,624] | [624,663] |
| Bundle | {ylf, chl, chc, bo} | {ylf, chc, bo} |
| wmp(Bmp) | 55 | 49 |
| wmp(Bmp) Rmp(Bmp) | 39,102 | 35,051 |
| Optimal interval | [663,675] | [675,681] |
| Bundle | {ylf, chc} | {chc} |
| wmp(Bmp) | 42 | 11 |
| wmp(Bmp) Rmp(Bmp) | 29,946 | 7,150 |
| Optimal interval | [681,697] | [697,715] |
| Bundle | ||
| wmp(Bmp) | 0 | |
| wmp(Bmp) Rmp(Bmp) | 0 | |
| Optimal interval | [715, +∞] |
Source(s): Table by authors
Identifying the optimal bundle for Kaleh products node (first level)
| Interval | [−∞,189] | [189,297] |
|---|---|---|
| Bundle | {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, is, it, if, mlf, mff} | {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, it, if, mlf, mff} |
| Interval | [297,383] | [383,399] |
| Bundle | {ylf, yff, chn, chl, chc, dn, cn, cf, br, bo, it, if, mlf, mff} | {ylf, yff, chn, chl, chc, dn, cn, cf, br, bo, it, if, mff} |
| Interval | [399,450] | [450,485] |
| Bundle | {ylf, yff, chn, chl, chc, cn, cf, br, bo, it, if, mff} | {ylf, yff, chn, chl, chc, cn, cf, br, bo, it, if} |
| Interval | [485,557] | [557,565] |
| Bundle | {ylf, yff, chn, chl, chc, cn, cf, br, bo, if} | {ylf, yff, chn, chl, chc, cn, cf, bo, if} |
| Interval | [565,593] | [593,618] |
| Bundle | {ylf, yff, chn, chl, chc, cf, bo, if} | {ylf, chn, chl, chc, cf, bo, if} |
| Interval | [618,624] | [624,663] |
| Bundle | {ylf, chn, chl, chc, cf, bo} | {ylf, chl, chc, cf, bo } |
| Interval | [663,675] | [675,681] |
| Bundle | {ylf, chl, chc, bo} | {ylf, chc, bo} |
| Interval | [681,697] | [697,715] |
| Bundle | {ylf, chc} | {chc} |
| Interval | [715, +∞] | – |
| Bundle | – |
| Interval | [−∞,189] | [189,297] |
|---|---|---|
| Bundle | {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, is, it, if, mlf, mff} | {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, it, if, mlf, mff} |
| Interval | [297,383] | [383,399] |
| Bundle | {ylf, yff, chn, chl, chc, dn, cn, cf, br, bo, it, if, mlf, mff} | {ylf, yff, chn, chl, chc, dn, cn, cf, br, bo, it, if, mff} |
| Interval | [399,450] | [450,485] |
| Bundle | {ylf, yff, chn, chl, chc, cn, cf, br, bo, it, if, mff} | {ylf, yff, chn, chl, chc, cn, cf, br, bo, it, if} |
| Interval | [485,557] | [557,565] |
| Bundle | {ylf, yff, chn, chl, chc, cn, cf, br, bo, if} | {ylf, yff, chn, chl, chc, cn, cf, bo, if} |
| Interval | [565,593] | [593,618] |
| Bundle | {ylf, yff, chn, chl, chc, cf, bo, if} | {ylf, chn, chl, chc, cf, bo, if} |
| Interval | [618,624] | [624,663] |
| Bundle | {ylf, chn, chl, chc, cf, bo} | {ylf, chl, chc, cf, bo } |
| Interval | [663,675] | [675,681] |
| Bundle | {ylf, chl, chc, bo} | {ylf, chc, bo} |
| Interval | [681,697] | [697,715] |
| Bundle | {ylf, chc} | {chc} |
| Interval | [715, +∞] | – |
| Bundle | – |
Source(s): Table by authors
There are two nodes on the first level (Kaleh brand and other brands), and optimal intervals were calculated based on Table A6 and consumers' preferences regarding other brands. The results are shown in Table A7.
Calculation optimal interval for Kaleh products node (first level)
| Bundle | {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, is, it, if, mlf, mff} | {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, it, if, mlf, mff} |
|---|---|---|
| wk(Bk) | 4,797 | 4,577 |
| wk(Bk) Rk(Bk) | 3,864,502 | 3,848,910 |
| Optimal interval | [–∞, 71] | [71,104] |
| Bundle | {ylf, yff, chn, chl, chc, dn, cn, cf, br, bo, it, if, mlf, mff} | {ylf, yff, chn, chl, chc, dn, cn, cf, br, bo, it, if, mff} |
| wk(Bk) | 4,360 | 4,031 |
| wk(Bk) Rk(Bk) | 3,826,280 | 3,780,536 |
| Optimal interval | [104,112] | [112,117] |
| Bundle | {ylf, yff, chn, chl, chc, cn, cf, br, bo, it, if, mff} | {ylf, yff, chn, chl, chc, cn, cf, br, bo, it, if} |
| wk(Bk) | 3,450 | 3,049 |
| wk(Bk) Rk(Bk) | 3,738,428 | 3,689,907 |
| Optimal interval | [117,121] | [121,125] |
| Bundle | {ylf, yff, chn, chl, chc, cn, cf, br, bo, if} | {ylf, yff, chn, chl, chc, cn, cf, bo, if} |
| wk(Bk) | 2,865 | 2,650 |
| wk(Bk) Rk(Bk) | 3,612,907 | 3,611,950 |
| Optimal interval | [125,127] | [127,141] |
| Bundle | {ylf, yff, chn, chl, chc, cf, bo, if} | {ylf, chn, chl, chc, cf, bo, if} |
| wk(Bk) | 2,545 | 1,337 |
| wk(Bk) Rk(Bk) | 3,532,460 | 1,911,910 |
| Optimal interval | [141,176] | [176,247] |
| Bundle | {ylf, chn, chl, chc, cf, bo} | {ylf, chl, chc, cf, bo} |
| wk(Bk) | 1,102 | 840 |
| wk(Bk) Rk(Bk) | 1,700,386 | 1,389,360 |
| Optimal interval | [247,276] | [276,352] |
| Bundle | {ylf, chl, chc, bo} | {ylf, chc, bo} |
| wk(Bk) | 709 | 587 |
| wk(Bk) Rk(Bk) | 1,233,660 | 1,085,950 |
| Optimal interval | [352,418] | [418,468] |
| Bundle | {ylf, chc } | { chc } |
| wk(Bk) | 456 | 51 |
| wk(Bk) Rk(Bk) | 533,520 | 34,833 |
| Optimal interval | [468,542] | [542,683] |
| Bundle | ||
| wk(Bk) | 0 | |
| wk(Bk) Rk(Bk) | 0 | |
| Optimal interval | [683, +∞] |
| Bundle | {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, is, it, if, mlf, mff} | {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, it, if, mlf, mff} |
|---|---|---|
| wk(Bk) | 4,797 | 4,577 |
| wk(Bk) Rk(Bk) | 3,864,502 | 3,848,910 |
| Optimal interval | [–∞, 71] | [71,104] |
| Bundle | {ylf, yff, chn, chl, chc, dn, cn, cf, br, bo, it, if, mlf, mff} | {ylf, yff, chn, chl, chc, dn, cn, cf, br, bo, it, if, mff} |
| wk(Bk) | 4,360 | 4,031 |
| wk(Bk) Rk(Bk) | 3,826,280 | 3,780,536 |
| Optimal interval | [104,112] | [112,117] |
| Bundle | {ylf, yff, chn, chl, chc, cn, cf, br, bo, it, if, mff} | {ylf, yff, chn, chl, chc, cn, cf, br, bo, it, if} |
| wk(Bk) | 3,450 | 3,049 |
| wk(Bk) Rk(Bk) | 3,738,428 | 3,689,907 |
| Optimal interval | [117,121] | [121,125] |
| Bundle | {ylf, yff, chn, chl, chc, cn, cf, br, bo, if} | {ylf, yff, chn, chl, chc, cn, cf, bo, if} |
| wk(Bk) | 2,865 | 2,650 |
| wk(Bk) Rk(Bk) | 3,612,907 | 3,611,950 |
| Optimal interval | [125,127] | [127,141] |
| Bundle | {ylf, yff, chn, chl, chc, cf, bo, if} | {ylf, chn, chl, chc, cf, bo, if} |
| wk(Bk) | 2,545 | 1,337 |
| wk(Bk) Rk(Bk) | 3,532,460 | 1,911,910 |
| Optimal interval | [141,176] | [176,247] |
| Bundle | {ylf, chn, chl, chc, cf, bo} | {ylf, chl, chc, cf, bo} |
| wk(Bk) | 1,102 | 840 |
| wk(Bk) Rk(Bk) | 1,700,386 | 1,389,360 |
| Optimal interval | [247,276] | [276,352] |
| Bundle | {ylf, chl, chc, bo} | {ylf, chc, bo} |
| wk(Bk) | 709 | 587 |
| wk(Bk) Rk(Bk) | 1,233,660 | 1,085,950 |
| Optimal interval | [352,418] | [418,468] |
| Bundle | {ylf, chc } | { chc } |
| wk(Bk) | 456 | 51 |
| wk(Bk) Rk(Bk) | 533,520 | 34,833 |
| Optimal interval | [468,542] | [542,683] |
| Bundle | ||
| wk(Bk) | 0 | |
| wk(Bk) Rk(Bk) | 0 | |
| Optimal interval | [683, +∞] |
Source(s): Table by authors
Identifying the optimal bundle for root
| Interval | [−∞,71] | [71,104] |
|---|---|---|
| Bundle | {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, is, it, if, mlf, mff} | {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, it, if, mlf, mff} |
| Expected price | 786 | 840 |
| Interval | [104,112] | [112,117] |
| Bundle | {ylf, yff, chn, chl, chc, dn, cn, cf, br, bo, it, if, mlf, mff} | {ylf, yff, chn, chl, chc, dn, cn, cf, br, bo, it, if, mff} |
| Expected price | 896 | 984 |
| Interval | [117,121] | [121,125] |
| Bundle | {ylf, yff, chn, chl, chc, cn, cf, br, bo, it, if, mff} | {ylf, yff, chn, chl, chc, cn, cf, br, bo, it, if} |
| Expected price | 1,231 | 1,264 |
| Interval | [125,127] | [127,141] |
| Bundle | {ylf, yff, chn, chl, chc, cn, cf, br, bo, if} | {ylf, yff, chn, chl, chc, cn, cf, bo, if} |
| Expected price | 1,370 | 1,328 |
| Interval | [141,176] | [176,247] |
| Bundle | {ylf, yff, chn, chl, chc, cf, bo, if} | {ylf, chn, chl, chc, cf, bo, if} |
| Expected price | 1,405 | 1,466 |
| Interval | [247,276] | [276,352] |
| Bundle | {ylf, chn, chl, chc, cf, bo } | {ylf, chl, chc, cf, bo } |
| Expected price | 1,520 | 1,684 |
| Interval | [352,418] | [418,468] |
| Bundle | {ylf, chl, chc, bo } | {ylf, chc, bo } |
| Expected price | 1,752 | 1,910 |
| Interval | [468,542] | [542,683] |
| Bundle | {ylf, chc } | { chc } |
| Expected price | 1,260 | 690 |
| Interval | [683, +∞] | – |
| Bundle | – | |
| Expected price | 0 |
| Interval | [−∞,71] | [71,104] |
|---|---|---|
| Bundle | {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, is, it, if, mlf, mff} | {ylf, yff, chn, chl, chc, dc, dn, cn, cf, br, bo, it, if, mlf, mff} |
| Expected price | 786 | 840 |
| Interval | [104,112] | [112,117] |
| Bundle | {ylf, yff, chn, chl, chc, dn, cn, cf, br, bo, it, if, mlf, mff} | {ylf, yff, chn, chl, chc, dn, cn, cf, br, bo, it, if, mff} |
| Expected price | 896 | 984 |
| Interval | [117,121] | [121,125] |
| Bundle | {ylf, yff, chn, chl, chc, cn, cf, br, bo, it, if, mff} | {ylf, yff, chn, chl, chc, cn, cf, br, bo, it, if} |
| Expected price | 1,231 | 1,264 |
| Interval | [125,127] | [127,141] |
| Bundle | {ylf, yff, chn, chl, chc, cn, cf, br, bo, if} | {ylf, yff, chn, chl, chc, cn, cf, bo, if} |
| Expected price | 1,370 | 1,328 |
| Interval | [141,176] | [176,247] |
| Bundle | {ylf, yff, chn, chl, chc, cf, bo, if} | {ylf, chn, chl, chc, cf, bo, if} |
| Expected price | 1,405 | 1,466 |
| Interval | [247,276] | [276,352] |
| Bundle | {ylf, chn, chl, chc, cf, bo } | {ylf, chl, chc, cf, bo } |
| Expected price | 1,520 | 1,684 |
| Interval | [352,418] | [418,468] |
| Bundle | {ylf, chl, chc, bo } | {ylf, chc, bo } |
| Expected price | 1,752 | 1,910 |
| Interval | [468,542] | [542,683] |
| Bundle | {ylf, chc } | { chc } |
| Expected price | 1,260 | 690 |
| Interval | [683, +∞] | – |
| Bundle | – | |
| Expected price | 0 |
Source(s): Table by authors
After solving the optimisation problem, the dairy products collection with the highest expected revenue includes an optimal bundle, and the result for the root is shown in Table A7. Therefore, the optimal bundle is {ylf, chc, bo} (low-fat yoghurt, cream cheese, other-type butter) with an expected revenue of 1910 tomans (which is a super unit of the official currency of Iran, the rial) equal to 0.50 euro, considering that each product's expected revenue was calculated based on a standardised 100 grams quantity to homogenise the dairy products.
4. Discussion
We analysed consumers' preferences using the NL model as a hierarchical decision model. Hierarchical analysis of product selection can be a dynamic solution for highlighting shopping attributes. Analysing factors affecting consumer preferences revealed that demographic characteristics and marketing mix elements affected consumers' preferences. Consistent with previous research (Bhanu et al., 2017; Kaguru et al., 2017) and the economic theory, price increases decreased choice probability. However, consumers are willing to pay a premium for dairy products if they perceive them to be higher quality or more nutritious (Habiyaremye et al., 2023; McGuinness et al., 2022). In addition, various pricing strategies, such as bundle offers, discounts or value packages, can attract price-sensitive consumers and encourage larger purchases (Bimbo et al., 2016; Zhou et al., 2023).
The results concerning the age variable showed that older people and people concerned about their health tended to consume low-fat dairy products. This finding is in line with the studies of Hamilton et al. (2000), Kähkönen (2000) and Johnston et al. (2014), who claim that older adults and people who are concerned about their health tend to eat low-fat foods due to various reasons related to nutrition and health benefits. The tendency of consumers to choose low-fat milk is consistent with the findings of Küster and Vila (2017), who found that the concepts of health and appearance play an important role in people's attitudes towards consuming low-fat products.
As previous research confirms, household size increases the probability of choosing various products, especially in developing countries where household size can vary more and be much larger than in developed countries (Nie and Zepeda, 2011; Verzeletti et al., 2010; Yeo et al., 2020). Larger households usually have more people to feed, which often results in a higher total consumption of dairy products. This higher consumption may include larger amounts of milk, yoghurt, cheese and other dairy products.
The classical marketing mix elements, that is product value, quality, packaging, access to shopping and brand loyalty, also affect consumers' preferences. This result echoes the finding of Ahmadi Kaliji et al. (2019), Nguyen et al. (2015) and Wongleedee (2015). Quality is a critical factor in consumer choice. To earn consumer trust, dairy products must meet certain standards for taste, consistency and freshness (Sajdakowska et al., 2020). Products that are of consistently high quality are more likely to win consumer loyalty and receive positive word of mouth (Kim, 2021). In addition, packaging plays an important role in attracting consumer attention and conveying information about the product. Attractive and informative packaging can set a product apart from its competitors, convey important features and evoke positive emotions (Shukla et al., 2022). Furthermore, in the case of access to shopping, convenient access to dairy products influences consumer preferences (Bahety et al., 2022; Canavari et al., 2019). Convenience stores, supermarkets and online marketplaces that carry a wide variety of dairy products meet a wide range of consumer needs and preferences.
Regarding the best bundle of dairy products, a bundle containing low-fat yoghurt, cream cheese and other butter types was presented with the highest expected revenue. The bundle's contents can be modified based on the company's goals and consumers' preferences. This sales method can promote the consumption and sale of dairy products and, more generally, fresh foods. Targeted dairy bundles can be proposed for segments with specific needs and desires, such as a “low-fat dairy bundle” for elderly consumers or a “diet dairy bundle” for athletes or people who want to lose weight (Li et al. (2018).
5. Conclusions
This paper proposed an approach to suggest a dairy product bundle that maximises both consumer utility and producer revenue. According to the results, demographic characteristics and marketing mix elements significantly influenced consumer preferences. In addition, regarding the best bundle of dairy products, an algorithm based on the estimated dissimilarity parameter identified the best bundle of dairy products that simultaneously achieves the highest utility and expected revenue.
5.1 Theoretical implications
This study applies a bundling strategy to the food market, which has received little attention in previous research despite the wide use of bundling in practice. Previous studies have addressed the benefits of bundling for producers and marketers, including launching a new brand (Sheng and Pan, 2009), gaining consumer surplus (Venkatesh and Mahajan, 2009) and differentiating service and product offerings (Dominique-Ferreira, 2017). In contrast to these previous applications, in addition to the usual approach of maximising producer revenue, we also consider consumer preferences when selecting and designing the bundled content. The bundled content is determined using a hierarchical structure-based choice model that extends the bundled content selection methods proposed by Li et al. (2015).
5.2 Managerial and policy implications
Maximising consumer preferences and producer revenues can be a useful and attractive marketing and retail management strategy. Studying consumer responses to different types of bundle offers can help companies understand what motivates customers to make bundle purchases and what factors influence their decisions. Dairy product suppliers can use this marketing strategy to increase sales and convince customers to use their specific dairy products.
Research on product bundling can contribute to pricing strategies in various industries. Studying the impact of different bundling approaches on pricing and profitability can help companies optimise their pricing models to maximise revenue. The results of our study show that in addition to price, perceptions of quality, brand and advertising influence the choice of bundled content. Therefore, managers and marketers can pay special attention to these factors and adjust bundle content to meet customers' needs and promote their brand.
5.3 Limitations and opportunities for future research
This study has limitations that can be addressed in future research. The survey was conducted in a developing country, and its results should be validated in other contexts. In addition, the dairy preference data used in this study were collected in 2018, following the introduction of an increasing number and variety of dairy products into that market. Future studies should examine the effect of the latter on consumer preferences.
In terms of methodology, we examined the dairy decision tree at four levels, but more (or fewer) levels in the NL model might be appropriate in different situations. Finally, in our model, there was only one unit of each dairy product in the proposed bundle. In addition to considering the role of preferences in choosing a multi-product bundle, consumption habits can be incorporated into the model by allowing more than one unit of each dairy product type in each bundle.
