What is Store Segmentation?

It aims to divide a network of stores into meaningful groups. For example, a retailer with a network of 350 stores may generate 6 different store types, with each comprised of a ‘similar’ set of stores based on user-defined variables

Store segmentation will allow the brands to:

  1. Identify their top or low performing stores.
  2. Understand the drivers that help the top-performing stores in achieving high sales.
  3. Improve customer engagement by providing the right products and pricing in the right stores.

What are the features that are going to be used to segment stores into different groups?

Store segmentation divides stores into groups according to many observed behaviours. The type of variables used for segmenting the store will differ from industry to industry. Typical store segmentation variables include:

  1. Store Driven Segmentation
    1. Footfall per day, number of transactions per day, Sales per day. 
    2. Seasonality (Which months have higher sales and which are the ones when sales are low).
    3. Store Age
    4. Weekday/Weekend trend.
  2. Shopper Driven Segmentation
    1. Customer purchase frequency – Single Visit, multiple visits customer.
    2. Customer spending power - High Spending Customers or Low Spending Customers. 
    3. Loyalty Program Overview -  Points awarded, Points redeemed and Points Expired.
    4. Transactional – product split & spend

There can be many other features depending upon the type of industry for which we are doing this exercise. For example: If we are creating store based segmentation for a QSR brand then one very important feature that we must include other than the ones listed above is the type of channel from which most of the orders in a store are coming in (Carryout, Dine in or external delivery partner). The other important feature which can be considered for QSR/F&B brands is the time of the day during which the customer is usually buying from a particular store.



How can brands make use of the Store segmentation?

  1. Targeting – understanding the target audience for each of these store groups their likely needs and buying behaviour.
  2. Product Positioning – Using the different segment groups to decide on the different product positioning and ranging required for each.
  3. Developing bespoke sales and marketing mix with promotional activity to suit each store’s specific target audience
  4. Informs retailers of where prioritisation of resource or investment is needed based on store opportunity


Sample output


Input Parameters for running the notebook

  • Org ID: Enter the org id for which the store segmentation needs to be done.
  • Active Period: Enter the active period for the brand i.e. the no. of days after which if a customer hasn’t made a transaction will be considered as lapsed.
  • Inventory DB: Enter the database name which has the updated inventory table.
  • Inventory Table: Enter the name of the table which has the name of the table that has the updated inventory data.
  • Product Code Column: Enter the name of the column which is there in the inventory table and captures the field which can be joined with the item_code column of the bill_lineitems table in the capillary database for that org.
  • Level 1 Category: Enter the name of the column which is there in the inventory table and captures the field which represents the topmost product category for that org. For example for an apparel brand, it can be: Type of Wear i.e. Jeanswear/Sportswear/Casualwear or for an electronics brand, it can be the brand of the product: Apple, Samsung etc.
  • Level 2 Category: Enter the name of the column which is there in the inventory table and captures the field which represents the second level of the product category for that org. For example for an apparel brand if the values in the Level 1 Category is something like: Type of wear i.e. Jeanswear/Sportswear/Casual Wear then values the level 2 category can be Shirt, Trouser, Denim etc.

Notebook Flow

Notebook links: India Cluster | APAC Cluster | EMEA Cluster

  1. Data generation for single view: 
    1. This is the first step in this exercise.
    2. At this step, all the KPIs i.e No. of transactions per day, sales per day, customers shopped per day and many more are being pulled at a store level.
    3. The store identifier which is being used is the “External ID” of the stores.
    4. Only the stores which are currently active are being considered.
  2. EDA and Dimension Reduction:
    1. In this step, we are looking at the summary statistics of each feature which we have pulled in the previous step at a store level.
    2. The summary statistics that we are looking at for each feature are basic Mean, Median, Mode values for every feature for each store.
    3. In order to bring all the variables to a common scale, we have to transform the feature matrix and bring it to a common scale.
    4. After exploring the data, we move on to the dimensionality reduction step. The dimension reduction is done by a method called PCA.
    5. The principal components tend to reduce our dimensions by explaining as much variation as possible. Right now, we have kept the cut off of explained variance to be 80% i.e we will be considering only the number of principal components till which the cumulative explained variance is <=80%.
  3. Training of K Means:
    We have used the K Means clustering method for creating the final set of segments after reducing dimensionality.
  4. Analyzing the Profiling Output:
    The final output of the notebook can be obtained from command 64. After interpreting the output, the user can run the notebook again and input the no. of segments to be created in command 65.
  5. Naming the Segments:
    1. Users can assign names to each segment in command 68.
    2. For example, if we have made a decision that we are going to go ahead with 5 segments. Then by default, the name of the segments will be 0,1,2,3,4. 
    3. We can rename these segments as per the characteristics of each segment which can be observed from the output of command 64.
  6. Download the final output
    The final output i.e. the name of the segment against each store can be downloaded from the output of command 68.