1 Introduction

Customer segmentation is an important activity of customer relationship management (CRM) to divide a broad customer base into manageable sub-groups of customers. The segmentation concept is introduced by Smith (1956). The concept assumes that every customer's needs and expectations are different; therefore, they require different marketing strategies to fulfil their needs (Wedel and Kamakura 2000). In recent times, owing to the proliferation of database technologies in the retail industry, wherein owners of retail supermarkets tend to maintain large customer transaction databases, customer segmentation has attracted significant academic interest (Chan et al. 2011). In particular, customer segmentation in the retail supermarket industry has significantly impacted strategic decision-making (Teichert et al. 2008). Customer segmentation helps managers understand the customer needs and requirements for formulating effective marketing strategies (Hiziroglu 2013). Managers or owners of retail supermarkets are always interested in segmenting their customers for various reasons. For example, when there are many customers in a retail supermarket, managers have to divide their large customer base based on their buying pattern, i.e., low-value or high-value customers. This process helps the organization (1) to increase customer retention and loyalty, (2) customization of products and services (3) increase profitability (Kim et al. 2006). In the same vein, customers who are supermarket buyers will get personalized services such as special discounts. Segmenting the customer base gives critical information on customers' buying patterns and experiences, which can be useful for product design, product recommendation, and better customer services. Furthermore, efficient customer segmentation gives marketers an edge over competitors in sustaining their best customers, and improving their potential customers (Bachtiar 2019).

Customer segmentation is a process of similar grouping customers based on common characteristics such as similar buying patterns found among the customers. It is typically used to identify highly profitable customers or customers who have the potential to become profitable customers (Han et al. 2012). It extracts useful information such as the percentage of profitable customers and their contribution to total sales, i.e., the Pareto principle (You et al. 2015). Consequently, customer segmentation helps formulate marketing strategies for each segment identified (Zeybek 2018). Not only is it difficult to target each of the customers individually, but also it is challenging for companies to manage a large customer base. Therefore, it is necessary to develop new frameworks that managers can use as a tool in customer segmentation. In line with this, one of the methods introduced in the literature to do customer segmentation is the recency, frequency, and monetary (RFM) analysis method (Hughes 1994). The notion behind the analysis is that customers who bought recently, frequently, with high monetary value would buy again. Segments formed through RFM analysis can help formulate marketing strategies to achieve organizational goals (Fan and Zhang 2009).

Segmenting the customers mainly depends on clustering algorithms to find natural groupings among the customers. Many potential customer segmentation applications are not feasible because of the poor performance of clustering algorithms (Arunachalam and Kumar 2018). Customer transaction-related data are typically clustered using clustering algorithms. These algorithms can be classified into two different categories. One category of algorithms deals with well-separated hard clustering problems wherein there is no overlap between the clusters, e.g., \(k\)-means clustering algorithm (Macqueen 1967). Another category of algorithms deals with overlapping soft clustering algorithms wherein data points are assigned to multiple clusters, e.g., fuzzy \(c\)-means clustering algorithm (Bezdek et al. 1984). (Turksen 1986) proposed the theory of interval-valued fuzzy sets based on normal forms. Some applications of interval-valued fuzzy sets have been presented (Chen 1997; Chen et al. 1997; Chen and Hsiao 2000).

The fuzzy \(c\)-means clustering algorithm is one of the widely used algorithms to achieve the customer segmentation objective (Hiziroglu 2013). One of the drawbacks of these algorithms is that they are static, i.e., clusters obtained from these algorithms cannot be updated by new information. Hence, segmentation done using these algorithms becomes outdated after some time. Also, it is affected by noise and outliers (Askari 2021). For example, a retail supermarket that tries to segment its broad customer base cannot rely upon the static customer segmentation results; instead, they require a customer segmentation system that can continuously update its system with new information to study changes in the customer segments. Dynamic clustering algorithms were developed to update the clusters with new information (Seret et al. 2014). These algorithms operate across different time scales to update customer segments with new information. One of the algorithms capable of updating the customer segments with new information is the dFCM algorithm (Fathabadi 2016).

The dFCM algorithm was used for various applications ranging from evaluating stock performance to reconfiguring the power distribution networks. However, the algorithm has shortcomings that prevent its successful application to the DCS problem. First, the algorithm is not used for the DCS problem until now in the literature. Most importantly, their performance in identifying the changes in the cluster structure effectively in the context of DCS is never investigated before in the literature. Second, the algorithm suffers from the user-defined parameter ‘\({Y}_{\mathrm{thr}}\)’ used to identify the changes in the cluster structure, i.e., movement of clusters \((c)\), creation of new clusters \((c+1)\), and elimination of clusters \((c-1)\). It is to be observed that the user fixes it, and there is no method available in the literature to calculate the optimal value of this parameter. Poor choice of this parameter may result in lousy clustering results.

This study aims to overcome the shortcomings mentioned above for doing the DCS effectively. The major contributions of the study are listed as follows.

  1. 1.

    To overcome the first shortcoming of using the dFCM algorithm for the DCS problem, a novel DCS framework based on the dFCM algorithm is proposed in this study. Managers can use this framework as a tool for DCS. The framework is organized into three consecutive phases. In phase-I, a retail supermarket dataset of one year is clustered in cycles using dFCM clustering algorithm. In phase II, clusters obtained from phase-I are classified into different customer segments based on customers' buying patterns. In phase III, customer targeting strategies are devised for each segment based on the changes observed in the customer segments over time.

  2. 2.

    To overcome the second shortcoming of user-defined parameter ‘\({Y}_{\mathrm{thr}}\)’ used to identify the changes in the cluster structure; the dFCM algorithm is modified using the distance calculated between the new data points and the existing clusters. And it is called the MdFCM algorithm. The modified algorithm can effectively remove the burden of the user-defined parameter.

Extensive experiments were conducted using a retail supermarket dataset of one year with eleven cycles of new updates to assess the performance of the MdFCM algorithm. The performance of the MdFCM algorithm is validated by fuzzy clustering evaluation measures such as Xie-Beni index (XBI), partition coefficient (PC), modified partition coefficient (MPC), partition entropy (PE), and fuzzy silhouette index (FSI). A statistical significance test using MANOVA Pillai's statistics is carried out to check whether clusters obtained from the MdFCM algorithm are significant or not. Finally, a case study on a retail supermarket has been conducted to demonstrate how our framework can help managers change marketing strategies by considering the changes detected in the customer segments over time.

The remaining part of this paper is organized as follows. Section 2 discusses the related works of literature. Section 3 gives a brief review of existing algorithms. Section 4 introduces our proposed methods. Section 5 talks about the experiments conducted. Section 6 discusses the results obtained from the experiments. Section 7 discusses the case study conducted. Finally, Sect. 7 concludes the paper with remarks.

2 Literature review

The section is divided into two subsections. The first section discusses the DCS and its related concepts. The second section discusses the clustering algorithms used in the context of DCS.

2.1 Background of DCS

DCS is generally known as updating the segments with new information. The process helps in the decision-making process by deriving intelligence that is up to date (Peters et al. 2012). This concept came into being to overcome the limitations attached to static customer segmentation (SCS). One limitation of SCS is that it cannot be updated with new information. Moreover, the knowledge derived from SCS becomes obsolete later (Cachon 2012). To overcome these limitations, a study was conducted that focused on identifying the changes happening in the segments over time. It was identified through the cluster's appearance, disappearance, merging, moving, shrinking, and growing phenomenon. Eventually, it was proved by studying the customer's attitudes over time that it is indeed dynamic. The dynamic pricing model is one of the most widely used applications in this domain (Zhang et al. 2017). However, some studies deal with studying customer profitability over time. They start as low-profit customers but eventually develop into high-profit ones (Rust et al. 2011). A dynamic CRM model is developed using data mining algorithms to solve critical managerial problems. The problem of studying the growth of a loyal customer base is solved in this study (Ha et al. 2002). A model has been proposed for profiling the customer's preferences dynamically. The knowledge derived from the model is used for customizing real-time financial information products to customers. Consumer preference for a retail store is more dynamic, and studying it helps formulate customer loyalty programs (Lim and Lee 2015).

We have to apply the clustering concept to find the natural groupings in the dataset. The following subsection discusses the clustering algorithms used for DCS problems.

2.2 Clustering in the field of DCS

In our review, we found that dynamic clustering algorithms have been used rarely to achieve the objective of DCS. The reason there is a shortage is the lack of attention given by the researchers. But we have literature that deals with applying fuzzy sets to inventory problems (Garai et al. 2019). Even though there is a growing need for developing dynamic clustering algorithms to fulfil the application requirements, there is a literature shortage addressing this gap. For example, a study conducted by (Hu and Zhao 2015) used a rough \(k\)-means clustering algorithm to cluster the electricity customers over time. The segment size and change in the roughness of clusters were used to study electricity customer dynamics. Insurance customers were dynamically clustered using the dynamic rough clustering algorithms to demonstrate the utilities of using it for DCS (Peters and Weber 2012). Based on the fuzzy \(c\)-means (FCM) clustering algorithm, a fuzzy recommender system was developed for predicting the user's behavior dynamically (Nadi et al. 2010). Using the latent Dirichlet model (LDA), the temporal behavior sequence of mobile customers was studied (Wilson et al. 2018). A summary of the literature is given in Table 1.

Table 1 Summary of literature review

After reviewing the current research, we identified the literature gaps in the following aspects. To the best of author's knowledge, no study has combined the dFCM algorithm with the DCS problem. To fill this research gap, we have proposed a novel DCS framework. As part of that process, we have proposed the MdFCM algorithm.

3 Existing algorithms

In this section, first, the FCM algorithm is introduced. In the second section, the dFCM algorithm is introduced. For an easy understanding of the symbols and notations used in this study, Table 2 is given below.

Table 2 Symbols and notations

3.1 FCM algorithm

The algorithm is introduced by Bezdek et al. (Bezdek et al. 1984). The algorithm proceeds as follows.

The objective function of the FCM algorithm \({E}_{z}\) is to be minimized with respect to fuzzy membership \({\mu }_{ij}\) and cluster center \({V}_{i}\).

$$ E_{z} = \sum\limits_{i = 1}^{c} {\sum\limits_{j = 1}^{n} {(\mu_{ij} )^{z} d^{2} (X_{j} \,,\,\,V_{i} )} } . $$
(1)

Step 1: Initialize memberships \({\mu }_{ij}\) of \({X}_{j}\) belonging to cluster \(i\) such that

$$ \sum\limits_{i = 1}^{c} {\mu_{ij} = 1} . $$
(2)

Step 2: Compute the cluster center \({V}_{i}\) for \(i=\mathrm{1,2},\dots ,c\) using

$$ V_{i} = \frac{{\sum\nolimits_{j = 1}^{n} {(\mu_{ij} )^{z} } X_{j} }}{{\sum\nolimits_{j = 1}^{n} {(\mu_{ij} )^{z} } }}. $$
(3)

Step 3: Update the fuzzy membership \({\mu }_{ij}\) using

$$ \mu_{ij} = \frac{{\left( {\frac{1}{{d^{2} (X_{j} \,,\,V_{i} )}}} \right)^{{\frac{1}{(z - 1)}}} }}{{\sum\nolimits_{i = 1}^{c} {\left( {\frac{1}{{d^{2} (X_{j} \,,\,V_{i} )}}} \right)^{{\frac{1}{(z - 1)}}} } }}. $$
(4)

Step 4: Repeat steps 2 and 3 until the value \({E}_{z}\) is no longer decreasing.

3.2 dFCM algorithm

The dFCM algorithm is introduced by Fathabadi (Fathabadi 2016). It proceeds as follows.

  1. 1.

    For the incoming new data updates, the membership threshold (\({Y}_{\mathrm{thr}}\)) and the convergence criterion (\({E}_{\mathrm{FCM}}\)) are fixed as a first step.

  2. 2.

    The ‘\(c\)’ cluster centers are uniformly located in the input space, and the memberships of the initial data are calculated using Eq. (4).

  3. 3.

    Now, new data updates ‘\(k\)’ is entered in the algorithm, and its memberships are calculated using Eq. (4). If the maximum membership value is greater than or equal to the membership threshold (\({Y}_{\mathrm{thr}}\)), it indicates that it belongs to the existing '\(c\)' clusters. So, cluster the new data updates into the existing clusters by following the iterative process until it satisfies the convergence criterion (\({E}_{\mathrm{FCM}}\)).

  4. 4.

    If it is less than the membership threshold, examine is there any better choice available than the existing ‘\(c\)’ clusters by using the XB clustering validity index (see Eq. 5), i.e., check the validity index of ‘\(c-1\)’ and ‘\(c+1\)’ clusters.

    $$ XB = \frac{{\sum\nolimits_{i = 1}^c {\sum\nolimits_{k = n + 1}^m {\mu _{ik}^2} } \left\| {{V_i} - X_k^2} \right\|}}{{n\underbrace {{\text{min}}}_{i,p}\left\| {{V_i} - V_p^2} \right\|}}.$$
    (5)
  5. 5.

    If ‘\(c-1\)’ or ‘\(c+1\)’ has a better validity index, ‘\(c-1\)’ or ‘\(c+1\)’ clusters are created using new data updates. The clustering process ends when there are no new data updates.

Evaluating cluster validity

Assume that \({V}_{u}\) and \({V}_{i}\) are the new and existing cluster center vectors, respectively. Now, a condition is defined in Eq. (6):

$$\Vert {V}_{u}-{V}_{i}\Vert =\sqrt{{\sum }_{i=1}^{c}{({V}_{u}-{V}_{i})}^{2}}>{Y}_{\mathrm{thr}}.$$
(6)

Evaluating the cluster validity is necessary if the above condition is satisfied. It is introduced to avoid unnecessary checking of clustering validity. If the new data is present nearer to existing clusters, then it is not checked whether the ‘\(c+1\)’ clusters are better or not.

The problem with this algorithm is it suffers from the user-defined \({Y}_{\mathrm{thr}}\) threshold. When the algorithm is applied to the DCS problem, the user using it will be confronted with the problem of finding the optimal value of the threshold. No method in the literature would help the user to fix the threshold. Because of that, the user may not have confidence in his clustering results. To address the problem, we have proposed the MdFCM algorithm that would solve the problem. The following section discusses the DCS framework and MdFCM algorithm.

4 Proposed methods

The main objective of this study is to propose a novel DCS framework. As part of that process, we propose an MdFCM algorithm to improve the effectiveness.

4.1 DCS framework

The field of business analytics has become an important aspect of decision support systems to improve the decision-making purpose constantly. While SCS is well accepted in the literature, the typical approach does not consider its dynamic changes, i.e., it cannot update the customer segments over time with new information (Gür Ali and Aritürk 2014). On the other hand, DCS would allow the customer segments to be updated with the latest information. From the point of view of managers of the retail supermarket, managers need insights into the growth of their customer segments to implement appropriate marketing strategies (Bansal et al. 2005). Further, studying customer segments' growing and shrinking behavior may enable managers to contain the growth of undesirable segments (Allaway et al. 2014). Finally, DCS is necessary to adjust organizations' marketing strategies from time to time (Khan et al. 2009).

A dynamic clustering-based DCS framework is proposed to explore the buying pattern of customers from several aspects. The proposed framework, as given in Fig. 1, comprises three consecutive phases. The first phase involves clustering the new data updates using the MdFCM algorithm to find the changes in the cluster structure. In the second phase, clusters obtained from the first phase are classified into different segments based on the RFM pattern of clusters. In the last phase, marketing stages are devised for each segment based on the changes identified in the segments. The following elaborates on the three phases in detail.

Fig.1
figure 1

DCS framework

4.1.1 Phase-I using the proposed MdFCM algorithm

In this section, we propose an MdFCM algorithm to overcome the shortcomings of user-defined parameter ‘\({Y}_{\mathrm{thr}}\)’ of the dFCM algorithm. The algorithm is modified by incorporating the condition given in Eq. (7). The condition mainly functions around calculating the distance between the new data updates and existing clusters.

$${d}_{ik}>\mathrm{min}\{d\left({V}_{i} , {V}_{j}\right)\}$$
(7)

If the calculated distance of new data updates ‘\({d}_{ik}\)’ is greater than the minimum distance calculated between the existing clusters; it indicates that the new data updates are somewhere away from the existing clusters; therefore, it requires either creating new clusters or eliminating clusters. If it is less than that, movement of clusters is required. It is to be highlighted that the condition defined in Eq. (7) can effectively solve the problem attached to the user-defined parameter ‘\({Y}_{thr}\)’ of dFCM algorithm, i.e., whether to create new clusters \((c+1)\) or eliminate clusters \((c-1)\). The steps involved in the MdFCM algorithm are as follows.

  1. 1.

    Calculate the distance between the existing cluster centers

  2. 2.

    Choose the minimum distance among the distances calculated in step 1

  3. 3.

    Now calculate the distance of new data points to the existing clusters

  4. 4.

    Check the distance of new data points with the distance calculated in step 2 (see Eq. 7)

  5. 5.

    If it is greater than that, go for the creation of new clusters \((c+1)\) or elimination of clusters \((c-1)\)

  6. 6.

    If ‘\(c-1\)’ or ‘\(c+1\)’ has a better validity index, ‘\(c-1\)’ or ‘\(c+1\)’ clusters are created using new data updates.

  7. 7.

    Otherwise, go for movement of clusters \((c)\)

  8. 8.

    The clustering process ends when there are no new data updates.

The pseudocode for the algorithm is given below.

Input:\(X=\left\{{x}_{1} , {x}_{2}\dots ..{x}_{i}\right\} {D}^{n\times p}\), the number of clusters \(c\), fuzziness parameter \(m\)

Output: Membership degree \(U\) matrix and cluster center matrix \(V\)

Begin

 1. Compute \(d({V}_{i} , {V}_{j})\)

 2. Chose \(\mathrm{min}\{d\left({V}_{i} , {V}_{j}\right)\}\)

 3. Compute \({d}_{ik}\)

 4. If \({d}_{ik}>\mathrm{min}\{d\left({V}_{i} , {V}_{j}\right)\}\), then

 5. Compute \((c+1)\) or \((c-1)\) \(\leftarrow XB\)

 6. else

7.Compute \((c)\)

8. end if

End

4.1.2 Phase-II

The phase involves classifying the clusters obtained from phase-I into different segments based on the buying pattern of customers. One of the most effective customer segmentation methods is the RFM model (Tavakoli et al. 2018). Using the model classifies the clusters into different segments based on the above or below-average RFM attributes (Olson and Chae 2012). The list of different combinations for three-dimensional RFM attributes (2 × 2 × 2) and their segments are given in Table 3.

Table 3 RFM patterns

4.1.3 Phase-III

In this phase, marketing strategies are devised for each segment based on the changes identified in the segments. The targeting strategies are developed based on the 4P's of the marketing mix (Kotler 2009).

5 Experiments

Since the existing dFCM algorithm had some issues, we modified them to overcome them. To assess the performance of the MdFCM algorithm, we conducted an extensive experiment using the retail supermarket dataset with eleven new data updates.

5.1 Dataset description

The dataset was collected from a retail supermarket in India. The dataset contains 35,248 customer transaction records with three-dimensional RFM attributes for one year. The dataset was chosen based on its suitability for dynamic clustering algorithms, i.e., cycles starting from 01/01/2006 to 30/12/2006. The dataset can be downloaded from the R programming library. The URL for the same is given here (RFM—Customer Level Data (r-project.org)). The dataset was segregated by month, and then the RFM values were calculated, as explained in Table 4.

Below is a detailed description of the initial dataset and its subsequent new data updates.

Table 4 RFM description

5.1.1 Initial dataset

January 2006 is an initial dataset to cluster the new data updates. The initial period consists of 796 observations.

5.1.2 New data updates

After clustering the initial dataset, there are 11 cycles as new data updates for each month starting from February 2006 to December 2006. At the end of each month, the latest data updates are clustered to update the customer segments with new information. Then changes occurring in the customer segments are reported to managers for them to act upon. The details relating to each of these cycles are given in Table 5.

Table 5 New data updates

5.2 Pre-processing

Since the unit of measurement for all the three attributes is different, the initial dataset and its subsequent new data updates are normalized between 0 to 1, keeping each month of updates separately (see Eq. 8, 9, and 10). This normalization aims to facilitate the smooth classification of the clusters into various segments as part of the phase-II DCS framework. For example, if the obtained cluster centers are above 0.5, they will be considered above-average (\(\uparrow \)). In the same way, if the obtained cluster centers are below 0.5, they will be regarded as below-average (\(\downarrow \)).

$$ {\text{Recency}}:\;\;1 - \frac{{R_{k} }}{{Max\left\{ {R_{k} } \right\}}}\;{\text{where}}\;\; k = n + 1, \ldots ,n + m $$
(8)
$$ {\text{Frequency}}:\;\;\frac{{F_{k} }}{{Max\left\{ {F_{k} } \right\}}}\;{\text{where}}\; k = n + 1, \ldots ,n + m $$
(9)
$$ {\text{Monetary}}:\frac{{M_{k} }}{{{\text{Max}}\left\{ {M_{k} } \right\}}}\;{\text{where}}\quad k = n + 1, \ldots ,n + m. $$
(10)

5.3 Experimental environment

The experiments were conducted using Intel Core i3 CPU M380 at 2.53 GHz with 4 GB of memory in the Windows 10 environment. We have used “R Studio” with the “fclust” library to perform the clustering task. We have used the “RcmdrPlugin.FuzzyClust” library to check the statistical significance of clusters.

5.3.1 Parameter settings

There are clustering parameters that need to be set by the user for both existing and proposed algorithms. To make the comparison fair, we have used the default parameters of these algorithms (Fathabadi 2016), as given in Table 6.

Table 6 Parameter settings

5.4 Performance evaluation

We are using some of the widely used fuzzy clustering evaluation measures to compare the performance of the MdFCM with dFCM algorithm. The following section explains these measures in detail.

5.4.1 Partition coefficient (PC)

The index measures the overall strength of membership values of fuzzy partition (Bezdek 1973). The index is defined in Eq. (11). A cluster with a maximum value is considered an optimal clustering result.

$$PC=\frac{1}{n+m}\sum_{i=1}^{c}\sum_{k=n+1}^{m}{\mu }_{ij}^{2}.$$
(11)

5.4.2 Modified partition coefficient (MPC)

It is introduced by Dave (Dave 1996) to solve the problem of monotonic evolution tendency with \(c\) of PC index. The index is defined in Eq. (12) and a cluster with maximum value is considered to be an optimal clustering results.

$$\mathrm{MPC}=1-\frac{c}{c-1}\left(1-\mathrm{PC}\right).$$
(12)

5.4.3 Partition entropy (PE)

The index is a scalar measure of the amount of fuzziness in a fuzzy partition (Bezdek 2013). The index is defined in Eq. (13). The index with a minimum value is considered to be an effective result.

$$\mathrm{PE}=-\frac{1}{n+m}\sum_{i=1}^{c}\sum_{k=n+1}^{m}{\mu }_{ij}{\mathrm{log}}_{a}{\mu }_{ij}.$$
(13)

5.4.4 XBI

The index measures the compactness and separateness of fuzzy partition (Xie and Beni 1991). The index with a minimum value is considered to be an effective result. The index is defined in Eq. (5).

5.4.5 Fuzzy silhouette (FS) index

The index is an extension of the crisp silhouette introduced to evaluate the fuzzy clustering algorithms (Campello and Hruschka 2006). The index with maximum value is considered to be a better result. The index is defined in Eq. (14).

$$\mathrm{FS}=\frac{\sum_{j=1}^{n}{({\mu }_{pj}-{\mu }_{qj})}^{\alpha }{S}_{j}}{\sum_{j=1}^{n}{({\mu }_{pj}-{\mu }_{qj})}^{\alpha }}.$$
(14)

5.4.6 Statistical significance test

To check whether the clusters obtained from the MdFCM algorithm are statistically significant or not, we conducted MANOVA Pillai's trace statistics test (Pillai 1955). The test is defined in Eq. (15).

$$\mathrm{PT}=\mathrm{trace}\left[H{\left(H+E\right)}^{-1}\right]=\sum_{i=1}^{q}\frac{{\lambda }_{i}}{1+{\lambda }_{i}}$$
(15)

6 Results and discussion

The experimental results of both dFCM and MdFCM algorithms are reported in this section. The objective of the section is to demonstrate the effectiveness of the proposed MdFCM algorithm compared to the existing dFCM algorithm.

6.1 Performance of MdFCM algorithm

As the first step in dynamic clustering, we have initial clusters to cluster the new data updates. In this connection, the initial clusters are determined as five clusters based on the minimum XBI value for the initial dataset of January 2006 (see Table 7).

Table 7 Initial clusters

As part of phase-II, the initial cluster solution of five clusters is classified into different segments based on their RFM patterns (see Table 8). The first cluster has the best customers and is most valuable to the company, i.e., RFM patterns are above average. The second and third clusters have new, first-time customers, i.e., frequency is below average. The fourth cluster has churn customers who are about to leave the company, i.e., recency is below average. The fifth cluster has uncertain customers who are not so valuable to the company, i.e., RFM patterns are below average. Also, the percentage of customers present in each segment is calculated from the clusters' size to understand the segments' targeting potential.

Table 8 Initial customer segments

There are four segments: best, first-time, churn, and uncertain in the initial period. To update these segments with new information and to study the changes happening in these segments, the latest data updates are subsequently clustered. According to the steps of the MdFCM algorithm, the condition (Eq. 7) is checked. Then, based on its outcome, the relevant function of creation, movement, and elimination of clusters are done to calculate their respective XBI value. The results obtained in this process for all the 11 cycles are presented in Table 9.

Table 9 The result of the MdFCM algorithm

Now the results of the existing dFCM algorithm are obtained by checking ‘\({Y}_{\mathrm{thr}}\)’ and the results obtained in this process are given in Table 10. It is to be noted that the number of clusters remains unchanged during the entire year of the analysis. This kind of result would yield bad customer segmentation results.

Table 10 Results of dFCM algorithm

To show the effectiveness of the proposed MdFCM algorithm, its performance is compared with the performance of the existing dFCM algorithm using the fuzzy clustering evaluation measures. The comparative results of both MdFCM and dFCM (Fathabadi 2016) algorithms are presented in Table 11.

Table 11 Clustering validation results

From Table 11, it can be observed that the results of the MdFCM algorithm are different from the May cycle onwards. The fuzzy clustering evaluation measures indicate that the MdFCM algorithm gives effective clustering results. To test the statistical significance of the results given by the modified algorithm, the MANOVA test is conducted. The statistical significance results are given in Table 12.

Table 12 Result of statistical test

From Table 12, it can be observed that the results produced by the modified algorithm are statistically significant for all the cycles. Since the MdFCM algorithm gives much better clustering results, we went ahead with it for conducting the case study on the retail supermarket.

7 Case study

This section presents a real-life case study that demonstrates the utility of the proposed DCS framework in solving the DCS problem. To achieve that objective, we have developed a case concerning a retail supermarket located in southern India. For confidentiality reasons, they requested to be anonymous. The supermarket has a wide variety of products on offer to its customers. The decision-makers of this supermarket wanted to segment their large customer base based on the buying pattern of customers so that they could target their customers with appropriate marketing strategies. In particular, they wanted to adjust their marketing strategies from time to time based on the changes identified in their segments by clustering the new data updates continuously. In doing so, they are trying to optimize their resources to gain more profit and customer satisfaction. The following section elaborates on the case study conducted.

7.1 The DCS results

The data collected during the months starting from February 2006 to December 2006 was used to update the customer segments (see Table 8) with new information according to the process described in Fig. 1. The updated customer segments are presented in Table 13; as can be seen in Table 13 that the maximum percentage of customers are present in the first-time segment throughout the year.

Table 13 Results of DCS

The marketing strategies devised for each customer segment are presented in Table 14. Here, the percentage of customers present in each segment was used as a reference point to adjust the marketing strategies from time to time.

Table 14 Marketing strategies

7.2 Managerial implications

The study results give important managerial insights. The retail industry is flooded with many companies; hence, heavy competition exists. Because of the competition, each player is deploying innovative marketing strategies to win their customers. Central to this task is machine learning algorithms that can help understand the customers to the minute level. In this direction, we segmented the customers into best, shoppers, first-time, churn, frequent, and uncertain. Throughout the year, the first-time segment had the maximum number of customers; this implies that the company could not convert first-time customers into more profitable ones. Pursuing this segment of customers would improve the wealth of the company. The study results can be used as a useful reference for the retail industry.

8 Conclusion

Applying machine learning techniques to solve real-world problems is important in the growing trend of quantitative decision-making. In line with this, the study has solved a real-world problem faced by the retail supermarket. In comparison with the previous literature, the major contributions of our study are summarized as follows: (1) We proposed a DCS framework that can be used as a tool by managers in doing DCS (2) To overcome the shortcoming of the existing dFCM algorithm, it has been modified, resulting in the MdFCM algorithm. To prove the effectiveness of the modified algorithm, extensive experiments were conducted using the retail supermarket dataset with eleven cycles. Experimental results were then compared with the existing algorithm to show that the proposed algorithm performs better than the existing one. Once the effectiveness of the proposed algorithm was proved, it was employed to conduct the case study on a retail supermarket. The case study discussed the various customer segments of the company and suggested successful marketing strategies to deal with them. In future work, interval-valued fuzzy sets can be used for DCS.