Sign In to Follow Application
View All Documents & Correspondence

Method And System For Runtime Personalization Of Use Cases Using A Meta Service

Abstract: Personalization is a critical and challenging process to bring experience at digital touchpoints for users because each digital touchpoint predefines personalized use cases to be shown to the users. This disclosure relates generally to a processor implemented method of runtime personalizing at least one use case. A request is received from at least one channel as at least one meta data object. A user is assigned to each cluster from one or more clusters based on an identified intent associated with the user; or the user being known user based on at least one historic activity, when the identified intent associated with the user is not matched with at least one characteristic associated with each cluster. A propensity score is computed for each use case to dynamically personalize the one or more runtime use cases for the user based on a predefined range of the propensity score.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
02 July 2021
Publication Number
01/2023
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
kcopatents@khaitanco.com
Parent Application

Applicants

Tata Consultancy Services Limited
Nirmal Building, 9th Floor, Nariman Point Mumbai Maharashtra India 400021

Inventors

1. RETHINAM, Ravindran
Tata Consultancy Services Limited Chennai One, SEZ unit, IG3 Infrastructure Services Ltd, 200 FT Thoraipakkam - Pallavaram Ring Road, Chennai Tamil Nadu India 600096
2. KAMDAR, Mohammad Imran
Tata Consultancy Services Limited Chennai One, SEZ unit, IG3 Infrastructure Services Ltd, 200 FT Thoraipakkam - Pallavaram Ring Road, Chennai Tamil Nadu India 600096
3. MURALI, Srivatsan
Tata Consultancy Services Limited Chennai One, SEZ unit, IG3 Infrastructure Services Ltd, 200 FT Thoraipakkam - Pallavaram Ring Road, Chennai Tamil Nadu India 600096
4. MUNSHI, Syed Abdus Samy
Tata Consultancy Services Limited Chennai One, SEZ unit, IG3 Infrastructure Services Ltd, 200 FT Thoraipakkam - Pallavaram Ring Road, Chennai Tamil Nadu India 600096
5. ANANTHA, Pragathi
Tata Consultancy Services Limited Chennai One, SEZ unit, IG3 Infrastructure Services Ltd, 200 FT Thoraipakkam - Pallavaram Ring Road, Chennai Tamil Nadu India 600096

Specification

FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENT RULES, 2003
COMPLETE SPECIFICATION (See Section 10 and Rule 13)
Title of invention:
METHOD AND SYSTEM FOR RUNTIME PERSONALIZATION OF USE CASES USING A META SERVICE
Applicant
Tata Consultancy Services Limited A company Incorporated in India under the Companies Act, 1956
Having address:
Nirmal Building, 9th floor,
Nariman point, Mumbai 400021,
Maharashtra, India
The following specification particularly describes the invention and the manner in which it is to be performed.

TECHNICAL FIELD [001] The disclosure herein generally relates to recommendation system, and, more particularly, to method and system for runtime personalization of use cases using a meta service.
BACKGROUND
[002] Personalization is critical to any business execution. It is
challenging to bring experience of a store to a digital touchpoint of users because each customer channel/group of channels are managed by different stakeholders which use a different approach to personalize content for the users. The process of personalizing includes merging of users touch points such as brand’s social media page, customer care, online store, mobile app, kiosk, point of sale (POS) terminal with a common data format, and simpler integration tool. The challenges that arise when achieving a personalization solution are: (i) Integration complexity with multiple microservices or an Application Programming Interfaces (APIs) requesting data about the users and his/her activities in various different formats, (ii) There are different programming rules that identify what needs to be served to the users and most often identification of what entity and what type of products are considered to engage the users are left to the channel specific front end/back end applications to decide, (iii) predetermined approach to decide what type of recommendations to be served to the users based on layout of the page is a problem in current digital channels.
[003] For example, an ecommerce website may have a defined layout for a product detail page at a category level or at a website level. The users expect the website to engage him/her with right data at right time with minimal inputs from him/her. An approach that treats every users the same to decide what type of content are to be used to engage him/her based on the layout of the page is restrictive. The users who decide on design of the ecommerce website and feature decide what type of recommendation to be served to the users based on business knowledge about their user.

[004] In terms of the personalization, each of use cases utilized across all the channels produce product or offer or content as a recommendation. But because these use cases are treated differently at channel level or even at the page level on a particular channel, there are multiple services that provides each use cases and, in some scenario, multiple services provide a single use case with different requests and response format in each website, mobile app or internal application that provides direct or assisted recommendations to the user. This increases integration complexity that each of the application integrates with corresponding own services and separate request/response formats of own. The predetermined approaches, logged in users ends up with pre-decided recommendation to be shown instead of what is suited for the user.
SUMMARY [005] Embodiments of the present disclosure present technological improvements as solutions to one or more of the above-mentioned technical problems recognized by the inventors in conventional systems. For example, in one aspect, a processor implemented method of runtime personalizing of one or more use cases are provided. The processor implemented method includes at least one of: receiving, via one or more hardware processors, a request from one or more channels as one or more meta data object; assigning, via the one or more hardware processors, the user to a cluster from one or more clusters based on: an identified intent associated with the user; or the user being a known user based on one or more historic activities in an event, when the identified intent associated with the user is not matched with one or more characteristics associated with each cluster stored in the one or more clusters; computing, via the one or more hardware processors, a propensity score for one or more runtime use cases associated with the at least one meta data object; and dynamically personalizing, via the one or more hardware processors, for the user, the one or more runtime use cases associated with a predefined range of propensity score for the assigned cluster. The one or more meta data objects corresponds to at least one of: (a) a user, (b) an entity, (c) an action, and (d) a context. The at least one channel includes at least one component having

one or more categories. The one or more runtime use cases corresponds to a personalized widget or a service that provides a single type of recommendation including (a) similar products, (b) complementary products, (c) top offers or combination thereof.
[006] In an embodiment, a response associated with the one or more personalized runtime use cases are consolidated. In an embodiment, a response is provided to the at least one channel with the consolidated response associated with the one or more personalized runtime use cases. In an embodiment, the step of assigning the user to a cluster from a plurality of clusters is based on plurality of characteristics associated with the user for the one or more categories. In an embodiment, the one or more characteristics correspond to at least one of: (a) a filter the sessions for each cluster group, (b) number of clicks in each use case per session, (c) the context in which the user clicked each use case, (d) number of clicks to reach the use case, (d) number of products added to wishlist, (f) num_clicks_on_ratings_reviews, (g) num_clicks_price_filter_high_to_low, and (h) num_clicks_price_ filter_low_to_high. In an embodiment, the step of assigning the user to the cluster is based on an expectation maximization (EM) approach comprising: (a) initialization, (b) expectation step (E-step), and (c) maximization step (M-step). In an embodiment, number of clusters for which the at least one user activity to be grouped is chosen to initialize a cluster count (K). In an embodiment, at least one initial parameter is mapped to a cluster (k) from the cluster count (K) to determine a probability associated with a data point (xi). In an embodiment, the data point (xi) represents the at least one user activity within a session data. In an embodiment, at least one component parameter is re-estimated based on the probability associated with the data point (xi) to improve accuracy of the data point (xi) associated to the cluster (k). In an embodiment, the at least one component parameter corresponds to a mean, a variance, and a weight. In an embodiment, the one or more clusters is optimized by determining one or more behavioral patterns associated with the user among each cluster from the plurality of clusters, based on the one or more characteristics. In an embodiment, a random use case is selected from a pre-populated repository of use cases, based on an action input data is

mapped to at least one category from the one or more categories. In an embodiment, the random use case is selected when the user is unknown or when at least one user activity is not mapped to the plurality of characteristics of at least one cluster from the one or more clusters. In an embodiment, the action input data includes at least one of: (a) click of a product, (b) searching for products or a category, and (c) writing a review grouped to the category. In an embodiment, the step of dynamically personalizing the one or more runtime use cases include: a scoring matrix is generated for weightage analysis for the one or more runtime use cases based on the context and the one or more characteristics.
[007] In another aspect, there is provided a system for runtime personalization of one or more use cases. The system comprises a memory storing instructions; one or more communication interfaces; and one or more hardware processors coupled to the memory via the one or more communication interfaces. The one or more hardware processors are configured by the instructions to: receive, a request from one or more channels as one or more meta data objects; assign, the user to a cluster from one or more clusters based on: an identified intent associated with the user; or the user being a known user based on one or more historic activities in an event, when the identified intent associated with the user is not matched with one or more characteristics associated with each cluster stored in the one or more clusters; compute, a propensity score for one or more runtime use cases associated with the at least one meta data object; and dynamically personalize, for the user, the one or more runtime use cases associated with a predefined range of propensity score for the assigned cluster. The one or more meta data objects corresponds to at least one of: (a) a user, (b) an entity, (c) an action, and (d) a context. The at least one channel includes at least one component having one or more categories. The one or more runtime use cases correspond to a personalized widget or a service that provides a single type of recommendation including (a) similar products, (b) complementary products, (c) top offers or combination thereof.
[008] In an embodiment, the one or more hardware processors are further configured by the instructions to: (a) consolidate, a response associated with the one or more personalized runtime use cases, and (b) respond, to the at least one

channel with the consolidated response associated with the one or more
personalized runtime use cases. In an embodiment, the step of assigning the user
to a cluster from a plurality of clusters is based on plurality of characteristics
associated with the user for the one or more categories. In an embodiment, the one
or more characteristics correspond to at least one of: (a) a filter the sessions for each
cluster group, (b) number of clicks in each use case per session, (c) the context in
which the user clicked each use case, (d) number of clicks to reach the use case, (d)
number of products added to wishlist, (f) num_clicks_on_ratings_reviews, (g)
num_clicks_price_filter_high_to_low, and (h) num_clicks_price_
filter_low_to_high. In an embodiment, the step of assigning the user to the cluster is based on an expectation maximization (EM) approach comprising: (a) initialization, (b) expectation step (E-step), and (c) maximization step (M-step). In an embodiment, number of clusters for which the at least one user activity to be grouped is chosen to initialize a cluster count (K). In an embodiment, at least one initial parameter is mapped to a cluster (k) to determine a probability associated with a data point (xi). In an embodiment, the data point (xi) represents the at least one user activity within a session data. In an embodiment, at least one component parameter is re-estimated based on the probability associated with the data point (xi) to improve accuracy of the data point (xi) associated to the cluster (k). In an embodiment, the at least one component parameter corresponds to a mean, a variance, and a weight. In an embodiment, the one or more hardware processors are further configured by the instructions to: optimize, the plurality of clusters by determining at least one behavioral pattern associated with the user among each cluster from the plurality of clusters, based on the plurality of characteristics. In an embodiment, the one or more hardware processors are further configured by the instructions to select, a random use case from a pre-populated repository of use cases, based on an action input data is mapped to at least one category from the one or more categories. In an embodiment, the random use case is selected when the user is unknown or when at least one user activity is not mapped to the plurality of characteristics of at least one cluster from the one or more clusters. In an embodiment, the action input data includes at least one of: (a) click of a product,

(b) searching for products or a category, and (c) writing a review grouped to the category. In an embodiment, the step of dynamically personalizing the one or more runtime use cases include: a scoring matrix is generated for weightage analysis for the one or more runtime use cases based on the context and the one or more characteristics.
[009] In yet another aspect, there are provided one or more non-transitory machine-readable information storage mediums comprising one or more instructions which when executed by one or more hardware processors causes at least one of: receiving, a request from one or more channels as one or more meta data object; assigning, the user to a cluster from one or more clusters based on: an identified intent associated with the user; or the user being a known user based on one or more historic activities in an event, when the identified intent associated with the user is not matched with one or more characteristics associated with each cluster stored in the one or more clusters; computing, a propensity score one or more runtime use cases associated with the at least one meta data object; and dynamically personalizing, for the user, the one or more runtime use cases associated with a predefined range of propensity score for the assigned cluster. The one or more meta data objects corresponds to at least one of: (a) a user, (b) an entity, (c) an action, and (d) a context. The at least one channel includes at least one component having one or more categories. The one or more runtime use cases correspond to a personalized widget or a service that provides a single type of recommendation including (a) similar products, (b) complementary products, (c) top offers or combination thereof.
[010] In an embodiment, a response associated with the one or more personalized runtime use cases are consolidated. In an embodiment, a response is provided to the at least one channel with the consolidated response associated with the one or more personalized runtime use cases. In an embodiment, the step of assigning the user to a cluster from a plurality of clusters is based on plurality of characteristics associated with the user for the one or more categories. In an embodiment, the one or more characteristics correspond to at least one of: (a) a filter the sessions for each cluster group, (b) number of clicks in each use case per

session, (c) the context in which the user clicked each use case, (d) number of clicks to reach the use case, (d) number of products added to wishlist, (f) num_clicks_on_ratings_reviews, (g) num_clicks_price_filter_high_to_low, and (h) num_clicks_price_ filter_low_to_high. In an embodiment, the step of assigning the user to the cluster is based on an expectation maximization (EM) approach comprising: (a) initialization, (b) expectation step (E-step), and (c) maximization step (M-step). In an embodiment, number of clusters for which the at least one user activity to be grouped is chosen to initialize a cluster count (K). In an embodiment, at least one initial parameter is mapped to a cluster (k) to determine a probability associated with a data point (xi). In an embodiment, the data point (xi) represents the at least one user activity within a session data. In an embodiment, at least one component parameter is re-estimated based on the probability associated with the data point (xi) to improve accuracy of the data point (xi) associated to the cluster (k). In an embodiment, the at least one component parameter corresponds to a mean, a variance, and a weight. In an embodiment, the one or more clusters is optimized by determining one or more behavioral patterns associated with the user among each cluster from the plurality of clusters, based on the one or more characteristics. In an embodiment, a random use case is selected from a pre-populated repository of use cases, based on an action input data is mapped to at least one category from the one or more categories. In an embodiment, the random use case is selected when the user is unknown or when at least one user activity is not mapped to the plurality of characteristics of at least one cluster from the one or more clusters. In an embodiment, the action input data includes at least one of: (a) click of a product, (b) searching for products or a category, and (c) writing a review grouped to the category. In an embodiment, the step of dynamically personalizing the one or more runtime use cases include: a scoring matrix is generated for weightage analysis for the one or more runtime use cases based on the context and the one or more characteristics.
[011] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS
[012] The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles:
[013] FIG. 1 illustrates a system for runtime personalization of use cases using a meta service, according to some embodiments of the present disclosure.
[014] FIG. 2 illustrates an exemplary block diagram of functional blocks comprised in the system of FIG. 1, according to some embodiments of the present disclosure.
[015] FIG. 3 is an exemplary sequence line diagram illustrating a method of runtime personalizing the use cases using the meta service, according to some embodiments of the present disclosure.
[016] FIGS. 4A and 4B are exemplary flow diagrams illustrating a method of runtime personalizing the use cases using the meta service, according to some embodiments of the present disclosure.
DETAILED DESCRIPTION OF EMBODIMENTS [017] Exemplary embodiments are described with reference to the accompanying drawings. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. Wherever convenient, the same reference numbers are used throughout the drawings to refer to the same or like parts. While examples and features of disclosed principles are described herein, modifications, adaptations, and other implementations are possible without departing from the scope of the disclosed embodiments.
[018] An embodiment of the present disclosure provides a solution for enterprise personalization in which a single Application Programming Interface (API) utilizes computational logic to identify right use cases that needs to be served to a user. The embodiment of the present disclosure provides a meta service across one or more user touch points to provide a runtime personalized use cases for the user. The meta service corresponds to the single API with a unified request and a

response format to provide the runtime personalized use cases for the user. The meta service considers historical user data and real time activity data to understand the user’s past and current behavior to identify one or more personalized use cases to be served to the user.
[019] Referring now to the drawings, and more particularly to FIGS. 1 through 4B, where similar reference characters denote corresponding features consistently throughout the figures, there are shown preferred embodiments and these embodiments are described in the context of the following exemplary system and/or method.
[020] FIG. 1 illustrates a system 100 for runtime personalization of use cases using a meta service, according to some embodiments of the present disclosure. In an embodiment, the system 100 includes one or more hardware processor(s) 102, communication interface device(s) or input/output (I/O) interface(s) 106, and one or more data storage devices or memory 104 operatively coupled to the one or more hardware processor(s) 102. The memory 104 includes a database. The one or more hardware processor(s) 102, the memory 104, and the I/O interface(s) 106 may be coupled by a system bus such as a system bus 108 or a similar mechanism. The one or more hardware processor(s) 102 that are hardware processors can be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the one or more hardware processor(s) 102 is configured to fetch and execute computer-readable instructions stored in the memory 104. In an embodiment, the system 100 can be implemented in a variety of computing systems, such as laptop computers, notebooks, hand-held devices, workstations, mainframe computers, servers, a network cloud and the like.
[021] The I/O interface device(s) 106 can include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like. The I/O interface device(s) 106 may include a variety of software and hardware interfaces, for example, interfaces for peripheral device(s), such as a keyboard, a mouse, an external memory, a camera device, and a printer. Further,

the I/O interface device(s) 106 may enable the system 100 to communicate with other devices, such as web servers and external databases. The I/O interface device(s) 106 can facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example, local area network (LAN), cable, etc., and wireless networks, such as Wireless LAN (WLAN), cellular, or satellite. In an embodiment, the I/O interface device(s) 106 can include one or more ports for connecting number of devices to one another or to another server.
[022] The memory 104 may include any computer-readable medium known in the art including, for example, volatile memory, such as static random-access memory (SRAM) and dynamic random-access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. In an embodiment, the memory 104 includes a plurality of modules 110 and a repository 112 for storing data processed, received, and generated by the plurality of modules 110. The plurality of modules 110 may include routines, programs, objects, components, data structures, and so on, which perform particular tasks or implement particular abstract data types.
[023] Further, the database stores information pertaining to inputs fed to the system 100 and/or outputs generated by the system (e.g., data/output generated at each stage of the data processing) 100, specific to the methodology described herein. More specifically, the database stores information being processed at each step of the proposed methodology.
[024] Additionally, the plurality of modules 110 may include programs or coded instructions that supplement applications and functions of the system 100. The repository 112, amongst other things, includes a system database 114 and other data 116. The other data 116 may include data generated as a result of the execution of one or more modules in the plurality of modules 110. Further, the database stores information pertaining to inputs fed to the system 100 and/or outputs generated by the system (e.g., at each stage), specific to the methodology described herein. Herein, the memory for example the memory 104 and the computer program code

configured to, with the hardware processor for example the one or more hardware processor (s) 102, causes the system 100 to perform various functions described herein under.
[025] FIG. 2 illustrates an exemplary block diagram of functional blocks comprised in the system of FIG. 1, according to some embodiments of the present disclosure. A system 200 is configured to runtime personalize the use cases for a user using the meta service. In an embodiment, the meta service corresponds to a single API with a unified request and a response format to provide a runtime personalized use cases for the user. The system 200 in which the single Application Programming Interface (API) is configured to utilize computational logic with a unified request and a response format across one or more user touch points to recommend right recommendation of the one or more runtime personalized use cases to the user. In an embodiment, the computational logic corresponds to clustering of activities associated with the user, but not limited to picking right cluster based on one or more current user activity, or one or more historical user activity, or a controlled random selection based on current activity, scoring the use cases for each cluster and each input data (e.g., categories, demographics etc). In an embodiment, the one or more runtime personalized use cases corresponds to a personalized widget or service that provides a single type of recommendation such as: (a) similar content, or (b) complementary products, or (c) top offers, and combination thereof. The system 200 includes one or more channels 202, a user intent identifier 204, a persona mapper 206, a use case decision engine 208, an execute aggregator 210, and multiple recommendation engines 212A-C (only three recommendation engines are shown for ease of explanation). In an embodiment, one or more functional blocks are named for ease of explanation and are structurally part of the one or more hardware processors 102.
[026] The system 200 receives a request from the one or more channels 202 as at least one meta data object. The one or more channels 202 corresponds to social media, store, e-commerce, user service application, point of sale (POS) terminal, mobile applications, etc for each category, user, and a session. In an embodiment, the one or more channels 202 include at least one component having

one or more categories. In an embodiment, the at least one meta data object
corresponds to: (a) a user, (b) an entity, (c) an action, and (d) a context. The user
intent identifier 204 is configured to record a user activity that may be grouped into
one or more categories and further one or more groups based on associated activities
performed in each of the one or more categories. In an embodiment, one or more
features associated with recording each user activity include but are not limited to:
(a) session_id, (b) num_sessions, (c) total_duration, (d) num of products clicked in
a category, (e) num of items added to wishlist, (f) num_clicks_on_ratings_reviews,
(g) num_clicks_price_filter_high_to_low, (h) num_clicks_price_
filter_low_to_high, (i) num_clicks_avg_user_rating_filters, (j)
num_clicks_newest_arrivals_filters, (k) time_on_retrun_policies, (l)
time_on_specifications, (m) time_on_rating_reviews, and (n)
num_clicks_on_promotions/offers.
[027] The user is assigned to a cluster from one or more clusters based on: (a) an identified intent associated with the user, or (b) the user being a known user based on at least one historic activity in an event, when the identified intent associated with the user is not matched with at least one characteristic associated with each cluster stored in the one or more clusters. In an embodiment, the identified intent associated with the user corresponds to a sequence of activities that shows a specific behavior of the user. In an embodiment, Gaussian mixture models with an expectation maximization (EM) approach and silhouette analysis are utilized to group one or more user activities and to optimize number of clusters. The one or more user activities are stored in a centralized repository across one or more applications such as user service, website, mobile app, store transaction etc for a particular company. In an embodiment, the one or more applications expect that one or more data associated with one or more user activities in every user touchpoint of a client system is recorded in a realtime or near real time fashion into an activity database. In an embodiment, the activity database i.e., a part of the database 114 of the repository 112 forms core for analyzing one or more behavioral patterns of the users/sessions to cluster them accordingly. In an embodiment, one or more probabilities are obtained that given user activities belong to each of the

clusters along with a cluster assignment. The EM approach groups one or more data samples to the one or more clusters (e.g., four clusters). For each sample in data samples, there are n probabilities where n is equal to number of clusters given by model. Each data sample is labelled based on the cluster having highest probability.
[028] The assignment of the cluster to the user by expectation maximization (EM) approach includes three major steps: (a) Initialization, (b) Expectation step (E-step), and (c) Maximization step (M-step). In the initialization step, number of clusters is chosen for which one or more user activities are to be grouped. For example, in the initializing step, the number of clusters are initialized with a cluster count (K) as a random number i.e., K which is from 2 to 25. For example, mean, variance and weight are randomly assigned for each component comprised in the one or more channels 202. The mean, variance, and weights for each kj th component of a Gaussian Mixture Modelling (GMM) is initialized with the information associated with the cluster. In an embodiment, one or more initial weights are set as a positive and sum up to a unity. In an embodiment, the GMM acts as a proper probability distribution which allows to carry out likelihood of a data sample with respect to different components.
[029] In the expectation step, initial parameters for the k clusters, to determine the probability (e.g., one or more soft labels) that the data point (xi) belongs to the cluster (kj). The expectation step (E-step) is performed for a maximum likelihood estimation (MLE). In an embodiment, expectation values of one or more soft labels are calculated for each data point i.e., determining probability of each user falling in each cluster.
[030] The probability of xi data sample belongs to kth cluster using a Baye's rule is determined as follows,

x= Data set (i.e., session data) of n elements (x1, … xn).
i is the index referring to nth element of the data set.
n = Total number of samples (sessions) available in data set.

k = number of cluster.
j is a cluster index referring to the nth element in the cluster.
[031] Each of the elements (xi) represents a list of activities within a session data marked by a unique session id and session characteristics derived from the one or more activities as features for a model.
[032] In the maximization step, one or more component parameters such as mean, variance and weight using posterior probabilities calculated in the estimation step are re-estimated. A log likelihood at end of each EM step (i.e., model fit with the one or more component parameters) is calculated to check convergence and test whether there are any changes that is less than 0.00000001 from the last EM step. If yes, then another step of EM is repeated and similarly if greater than 0.00000001, then consider that EM is converged and then one or more final parameters are determined.
[033] In an embodiment, to determine optimum number of clusters K, a silhouette score technique is used. The silhouette score technique measures ‘x’ and ‘y’ describe below to evaluate a silhouette score.
y- Mean distance between a sample and one or more points in a same cluster.
x- Mean distance between a sample and one or more other points in a next
nearest cluster.
Silhouette Coefficient = (x-y)/ max (x, y)
where, y is a mean intra cluster distance, mean distance to other instances in the same cluster. x depicts mean nearest cluster distance i.e., mean distance to instances of the next closest cluster. The Silhouette coefficient varies between -1 and 1 i.e., check is performed whether the clusters are compact and well separated. The Silhouette coefficient near +1 indicate that the sample is far away from the neighboring clusters. A value of 0 indicates that the sample is on or very close to two neighboring clusters and negative values indicate that the samples might have been assigned to the wrong cluster. The higher the score, the better the clustering. Since the size is not deterministic, this clustering approach should run multiple i.e., at least 20 fits for each number of clusters, then consider the mean and the standard

deviation of the best five runs, to calculate the scores. Finally, the size of cluster which gave the highest silhouette score is considered as optimum.
[034] Finally, one or more users x1 to xn are mapped to a corresponding cluster. A sample of how the clustered data will look after the prediction is as follows in Table 1,

Category User ID Session id Cluster
Category A User1@gmail.com
282023u8393u1 Cluster K1
Category A Anonymous 3i823238983n2j Cluster K2
Category B User3@gmail.com
3289234nfek383 Cluster K3
Category B user4@gmail.com
2398hlowerh739 Cluster K4
Tab le 1
[035] In an embodiment, one or more insights for each cluster are provided. For example, for 70th percentile of people highest contributed feature across the one or more clusters are shown in Table 2:

Cluster Insights
Cluster K1 Price filter clicks from low to high per session and
accessing low priced products
Cluster K2 Time spent on specifications, ratings and reviews on
product page
Cluster K3 Average user rating filter clicks, and price filter clicks
from low to high per session
Table 2
[036] In an embodiment, the plurality of clusters is created based on the plurality of characteristics associated with the user for each category. A propensity score is computed for each at least one runtime personalized use case. The use case decision engine 208 is configured to dynamically personalize, to the user, the at least one runtime personalized use case associated with a predefined range of propensity score for the assigned cluster. For example, a cluster ‘A’ with five use cases given with the propensity score from 25-30 respectively, then the use case with highest propensity score range i.e., 30 is selected. The execute aggregator 210 is configured to consolidate a response associated with each of the at least one

runtime personalized use case and responds to the one or more channels 202 with the consolidated response associated with each of the at least one runtime personalized use case.
[037] Multivariable logistic regression with x number of covariates is a way to find the probability scores but results in selection bias and end up scoring the same use case with higher propensity for a given context as the use would have been accessed in the same context all the time. In an embodiment, a scoring logic with a scoring matrix that also combines cases of anonymous user prediction and randomized use case selection for first time users to avoid the selection bias. The one or more characteristics for the scoring matrix are as follows: (a) filter one or more sessions for each cluster group (e.g., a session is a group of one or more user interactions with one or more channels like website/mobile app/phone line/store kiosk etc that take place within a given time frame; (b) obtain a number of clicks in each use case per session (e.g., clicking on an item in a recommendation widget like similar products widget, you may also like widget etc), (c) context in which the users clicked the use case (e.g., Browsing from a new location on the website clicking the “Inspired products” widget in mobile category page), and (d) number of clicks did to reach the use case (e.g., User clicked three links before he/she clicks on a product in the recommendation widget, then the number of clicks to reach the use case is three).
[038] The scoring matrix is created for weightage analysis for the use cases based on the context, exemplary sample of the scoring matrix to calculate the score for the context is shown below in Table 3:

Channel Page Use case 1 Use case 2 Use case 3 Use case 4
Website Home Page 10 9 5 4

Category Page 7 7 9 10

Product
Details
Page 3 3 4 4

Cart 6 6 3 3
POS Cart Page 8 8 7 7
Mobile App Category Page 7 5 9 9

Table 3
Example of the one or more use cases are similar offers, complementary product,
best selling category, popular content, recommended flights, videos/movies/songs, curated insurance policies etc.
[039] An example of how the scoring can be performed on a specific cluster group using matrix and an example formula to derive the same is provided in Table 4 below i.e., propensity scoring matrix using custom covariates for Use Case 1 for cluster group A:

Covariates Sessi Sessio Sess Sessio Sess Sessio Sessio
on 1 n 1 ion n 2 ion n 4 n 5
(click (click 2 (click 3 (click
1) 2) (clic k 1) 2) 1)
Effect X (number 1 4 9 2 0 1 0
iv of clicks to
eness reach use case)
Weig Y (Context 7 5 6 3 0 10 0
h Score based
tage on “Use Case to Context Scoring Matrix”)
Succe Z (click on 1 1 1 1 0 1 0
ss use case)
Rate
Score 630 300 60 240 0 900 0
Formula (X * -1
+10) * Y * (Z * 10)
Tab le 4
[040] The number of clicks to reach a use case are calculated based on the clicks performed from the start of the browsing session till one clicks on a use case or from the click of a use case till one click on the same or a different use case again. The scoring formula is as follows:
Score = (x *-1 +10) * y * (z *10))
[041] In an embodiment, the effectiveness score is determined to have a higher score if the number of clicks to reach the use case is lower. Hence, multiplied

with -1 and summed up with the base score number of 10 to balance with the other scores. In an embodiment, the table 4 which is used as the propensity scoring matrix for every click on a single use case. For example, three major parameters that influences the scoring for each click on the use are effectiveness of the use case, weightage for scoring and success rate of the use case. In an embodiment, demographics of the user, device types, user loyalty/group etc can also be other factors considered in the scoring logic.
[042] In an exemplary embodiment, the click on a use case with a higher weightage based on the context score takes precedence in cases where effectiveness is good shown in example Session 1 (click 1) and Session 4 (click 1). At the same time Session 2 (click 1) serves as a good example for a use case that was served in a better context but took a lot of clicks to reach the use case, hence the effectiveness of the use case influences the score to be very low. Session 3 and Session 5 without any click for the use case 1, hence adds no weightage to the score. Similarly, for each use case available in the click stream, a scoring matrix are formed and stored in the database. The scoring established for each of the use cases in every cluster groups, the propensity scoring is calculated based on the formula below,
Propensity Score per use case per cluster group = Sum of all scores for the use case / total number of sessions for the cluster group
[043] As an example, the Table 4 with the scoring matrix for use case 1 results with a propensity score as follows,
Propensity score for use case 1 for cluster group A = 2130 / 5 = 426

Use Case Cluster A Cluster B Cluster C
Use Case 1 426 700 300
Use Case 2 340 630 220
Use Case 3 280 320 430
Use Case 4 530 450 560
Use Case 5 400 280 510
Table 5
[044] The example propensity score table by use case table are as shown
in the table 5. Use cases for the cluster are chosen based on the use case with highest

propensity score. If there are multiple use cases with top propensity score with a more than 90% score, then all of them are used for the specific cluster.
[045] A random use case is selected from a pre-populated repository of use cases, based on an action input data is mapped to at least one category. A randomized control trials are run to select use cases randomly on top of the propensity score-based use case selection. A percentage of the randomized control trial is configurable which balance the use case selection and one or more covariates are utilized. The random use case is selected when the user is unknown or when the user is not mapped to each cluster from the plurality of clusters. In an embodiment, the action input data includes at least one of: (a) click of a product, (b) searching for products or a category, and (c) writing a review grouped to the category. The action input data are mapped to specific page/component in a channel. Each of the actions are also mapped to a set of use cases that make sense for the page and the channel. For example, when the meta service receives a specific action in the request, one of the use cases mapped to the action are randomly picked and used as a recommendation. In an embodiment, picking the context based on individual page that the user views lead to a page-based biasing in the selection of the one or more-use cases, and the pages and channels are grouped through journey actions as per table 6:

Action Page + Channel Use Cases
Browse Product listing page (web), category Use case 1
landing page (web +app), Search in Use case 2
Kiosk, Mobile App Search, User Use Case 4
Service Search etc Use Case 3
Engage Product Details Page (web +app), Use case 5
Wishlist, Favorites (web +app), Add Use Case 6
to cart (web +app), Mini cart (web) Use Case 4 Use Case 3
Purchase Checkout screens (web +app), PoS Use Case 7
transaction screen, My account order User case 8
screen (web +app) etc Use Case 5
Visit (Entry Home Page (web +app), App Home Use case 2
Screens) Screen, Kiosk Home Page, Social Use Case 4
Media Ad, Marketing landing page Use Case 3
etc Use case 6

[046] In an exemplary embodiment, the one or more steps involved in assigning a user activity to a cluster at a runtime. For example, when a user is performing some activity, based on the activities which predict the probability of that the user falling in each cluster. The possible scenarios that may occur include:
a) With no intent information as there are not enough clicks to assign
them to a cluster and steps involved are:
a. receive a request from meta service with action as “Visit”
based on the use case matrix in the Table 6.
b. If he/she is a known user, he/she assigned to the cluster that
he/she is grouped into based on the clustering performed
using his/her historical activities already.
c. If he/she is an unknown user, the randomized control trial
option is used to select a use case using the action to the use
case matrix sample in Table 6.
b) Received information associated with intent from the user as he/she
clicked a few pages in the session and should match at least two
criteria to assign a user to a cluster:
i. Based on the clicks, the features associated with “clustering
users into group section” are derived.
ii. Features are sent to the expectation maximization algorithm
to predict the probability of assigning the user x1 to a cluster.
The sample output when data is segmented as four clusters
with a new data sample are as shown below for user x1:
[9.99776359e-01, 2.23640792e-04, 4.72575315e-18,
8.18753303e-24]
The total number of cluster is determined already using the silhouette technique and prediction results shows confidence percentage for every cluster. In the above sample 99.9% is the highest probability for cluster 0, so this data sample are served with cluster 0 recommendations. A threshold value can be configured.

c) If the maximum probability is higher than the threshold value, then the new data sample are mapped to that cluster recommendations predicted for that cluster.
d) If the maximum probability is lesser than threshold value, i.e., not enough information for that user so randomized recommendation is served using the action data.
[047] In an exemplary embodiment, selection logic of the one or more use cases based on one or more actions and the propensity score in which when a user clicks on a specific page in a channel, appropriate “action” needs to be derived based on the sample grouping shown in the Table 6. For example, when the action data is sent to the meta service, (a) pick the use cases mapped to a particular action, (b) pick the cluster that is associated with the user activities, (c) obtain propensity score for one or more use cases assigned to the action and apply the use case propensity score for the cluster and pick the top scoring use case(s) from the propensity score for the given action.
[048] In an exemplary embodiment, a meta service solution recommends relevant use case(s) by tagging the user to specific behavioral group based on the user interaction data in real time along with the past interactions data. Each behavioral group include one or more recommended use case(s) assigned based on the user interaction data and action specific assignment of use cases. For example, any application which needs to render recommendation call the meta service, an application programming interface (API) with the four input data but not limited to (a) information associated with user such as identity of the user, few examples are user ID in ecommerce, profile id in social media, loyalty id for store etc, (b) Entity such as product, category, order, URL etc, (c) action such as adding to wishlist, completing a transaction, searching, page visited etc, and (d) context such as website, mobile application, location, time etc.
[049] The API retrieves real time activities from the database for the past “n” minutes using the user identifier sent in the request. For example, “n” varies based on individual implementations and data/business. The real time activity data is utilized to derive the criteria’s planned using the features for specific deployment

of the meta service solution, find matching group that matches the criteria along with entity, action, and context to decide the right use cases to be picked. The meta service solution performs the following steps once the use case is picked: (a) Create request format required for different use case microservices, for example “popular products in a category” microservice require a category id, while a “related products” microservice require a product id as input; (b) Call the use case related microservice and get the recommendation data for each use case; (c) Consolidate responses into a single response with use case specific objects; and (d) Return one or multiple use cases relevant to user, entity, action and context.
[050] FIG. 3 is an exemplary sequence line diagram illustrating a method of runtime personalizing the use cases using the meta service, according to some embodiments of the present disclosure. For example, considering a clustering job, at least one user behavioural pattern is determined and generating a user pattern ID at one or more use cases microservice from one or more microservices. The one or more user activity is determined and one or more use cases are fetched from the corresponding cluster accordingly. The propensity score is computed for the one or more use cases. The runtime personalized use cases for the user are selected by considering the user, entity, action, and context data along with the computed propensity score. The selected runtime personalized use cases are consolidated at the one or more channels 202. A response associated with the one or more runtime personalized use cases are consolidated. A response is provided to the one or more channels 202 with the consolidated response associated with the one or more runtime personalized use cases.
[051] FIGS. 4A and 4B are exemplary flow diagrams illustrating a method of runtime personalizing the use cases using the meta service, according to some embodiments of the present disclosure. In an embodiment, the system 100 comprises one or more data storage devices or the memory 104 operatively coupled to the one or more hardware processors 102 and is configured to store instructions for execution of steps of the method by the one or more processors 102. The flow diagram depicted is better understood by way of following explanation/description.

The steps of the method of the present disclosure will now be explained with reference to the components of the system as depicted in FIGS. 1 and 2.
[052] At step 402, a request is received from one or more channels 202 as at least one meta data object. The at least one meta data object corresponds to at least one of: (a) a user, (b) an entity, (c) an action, and (d) a context. The at least one channel includes at least one component having one or more categories. At step 404, the user is assigned to a cluster from one or more clusters based on: an identified intent associated with the user; or the user being a known user based on at least one historic activity in an event, when the identified intent associated with the user is not matched with at least one characteristic associated with each cluster stored in the one or more clusters. At step 406, a propensity score is computed for one or more runtime personalized use cases associated with the at least one meta data object. The one or more runtime personalized use cases correspond to a personalized widget or a service that provides a single type of recommendation including (a) similar products, (b) complementary products, (c) top offers or combination thereof. At step 408, the one or more runtime personalized use cases associated with a predefined range of propensity score for the assigned cluster is dynamically personalized for the user. At step 410, a response associated with the one or more runtime personalized use cases are consolidated. At step 412, a response is provided to the one or more channels 202 with the consolidated response associated with the one or more runtime personalized use cases. In an embodiment, the step of assigning the user to a cluster from a plurality of clusters is based on plurality of characteristics associated with the user for the one or more categories. In an embodiment, the one or more characteristics correspond to at least one of: (a) a filter the sessions for each cluster group, (b) number of clicks in each use case per session, (c) the context in which the user clicked each use case, (d) number of clicks to reach the use case, (d) num of products added to wishlist, (f) num_clicks_on_ratings_reviews, (g) num_clicks_price_filter_high_to_low, and (h) num_clicks_price_ filter_low_to_high.
[053] In an embodiment, the step of assigning the user to the cluster is based on an expectation maximization (EM) approach comprising: (a) initialization,

(b) expectation step (E-step), and (c) maximization step (M-step). In an
embodiment, number of clusters for which the at least one user activity to be grouped is chosen to initialize a cluster count (K). In an embodiment, at least one initial parameter is mapped to a cluster (k) from the cluster count (K) to determine a probability associated with a data point (xi), wherein the data point (xi) represents the at least one user activity within a session data. In an embodiment, the data point (xi) represents the at least one user activity within a session data. In an embodiment, at least one component parameter is re-estimated based on the probability associated with the data point (xi) to improve accuracy of the data point (xi) associated to the cluster (k). In an embodiment, the at least one component parameter corresponds to a mean, a variance, and a weight. At step 414, the one or more clusters is optimized by determining one or more behavioral patterns associated with the user among each cluster from the plurality of clusters, based on the one or more characteristics. At step 416, a random use case is selected from a pre-populated repository of use cases, based on an action input data is mapped to at least one category from the one or more categories. In an embodiment, the random use case is selected when the user is unknown or when at least one user activity is not mapped to the plurality of characteristics of at least one cluster from the one or more clusters. In an embodiment, the action input data includes at least one of: (a) click of a product, (b) searching for products or a category, and (c) writing a review grouped to the category. In an embodiment, the step of dynamically personalizing the one or more runtime use cases include: a scoring matrix is generated for weightage analysis for the one or more runtime personalized use cases based on the context and the one or more characteristics.
[054] In an embodiment, below mentioned is an exemplary pseudo code for the above method steps described herein.
Request Format
[055] A JSON request format includes the user, entity, action and context object is as shown below, {

"user": {“type”: “”, “channel”: “”, “id”: “”}
"entity": {“category id”: “”, “productid”: “”, “cart id”: “”, “order id”: “”}
"action": "string",
"context": {“channel id”: “”, “location”: “”, “page id”: “”, “device”: “”} }
User json contains a list of attributes as json that uniquely identifies a single user. Context contains the channel id information along with other contextual information such as location, device name etc.
Entity contains the object information through which the user is engaged with website such as product or category or cart etc. Among product ID, category ID, transactional ID, and search term at least and at most one is required. Where action is a preconfigured list of values. Entity, context, and user json can include any number of attributes.
Response Format
The response includes a list of use cases and item recommendations. The format of the item recommendation can differ based on the type of item (E.g., types include product, content, category, search terms, offer etc) Use case field refers to the name of the use case. ID refers to the unique identifier for the use case.
Type refers to the type of recommendation, example values include product, content, category, search terms, offer etc.
Recommendation contains a json object with all attributes about the single item in the recommendation. Sample: [ {
"usecase":"you may also like", “Type”:”product”,
“id”: 21,
"recommendation": [

{"brandName":"Retailer", "productId":"12314","price":7.5,
"imageURL":"","productAttributes":[ { "name":"fit", "value":"Regular fit"},{
"name":"fabric","value":"Cotton mix"},{
"name":"fabric_type","value":"Printed"}, {
"name":"colour","value":"Purple"} ], "rating":4.1, "description":"Sample Description","productName":"Sample name" },
{"brandName":"Retailer", "productId":"3423423","price":7.5,
"imageURL":"","productAttributes":[ {"name":"fit", "value":"slim fit"},{ "name":"fabric","value":"Cotton "},{ "name":"fabric_type","value":"checked"}, { "name":"colour","value":"blue"} ], "rating":4.1, "description":"Sample Description 2","productName":"Sample name 2" } ]
}, {
"usecase":"complementary products", “Type”:”product”,
“id”: 23,
"recommendation":[
{"brandName":"Retailer", "productId":"12314","price":7.5,
"imageURL":"","productAttributes":[ { "name":"fit", "value":"Regular fit"},{
"name":"fabric","value":"Cotton mix"},{
"name":"fabric_type","value":"Printed"}, {
"name":"colour","value":"Purple"} ], "rating":4.1, "description":"Sample Description","productName":"Sample name" },
{"brandName":"Retailer", "productId":"3423423","price":7.5,
"imageURL":"","productAttributes":[ { "name":"fit", "value":"slim fit"},{ "name":"fabric","value":"Cotton "},{ "name":"fabric_type","value":"checked"}, { "name":"colour","value":"blue"} ], "rating":4.1, "description":"Sample Description 2","productName":"Sample name 2" } ] }

]
[056] The embodiment of present disclosure herein addresses unresolved
problem of enabling enterprise personalization by removing one or more
complexities of integration through the meta service that serves a right personalized
use cases on any channel or any page for the user. The embodiment of present
disclosure provides a system with an ability to unify how each channels request
information and what needs to be served to the user are identified programmatically
instead of business rules or manual marketing rules in each channel. The system
avoids the predetermined use case selection for every user based on a page context
but not limited to a user id, one or more historical activities, current action etc and
dynamically selects one or more one runtime personalized use cases. The system
recommends relevant one or more runtime personalized use cases for individual
users by understanding what they are doing in their current interaction and what
they have done in their past interaction with any of the user facing applications that
he/she recently interacted. Through the meta service approach, a single API is
exposed for any application that requires recommendation
(product/offer/content/search term/categories etc) and use a single request and response format. The system simplifies integration of many microservices, or API call for each of the use cases in different pages and avoids same use case being implemented in different ways in each channel.
[057] The single API running in a distributed application server cluster is used to implement the present solution. The present disclosure provides a runtime personalized use cases which is greatly simplified, where the meta service approach considers a basic input needed to intelligently decide what would be a right use case that needs to be served to the user. For example, a logged-in user, adding items to a cart from the ecommerce website are better served with specific use cases like upsell recommendations and offer recommendations. The API decide this dynamically based on the input and recent behavior data in the data store. The offer recommendation service and the upsell recommendation service to provide a unified response back to the user. The present disclosure makes the integration with each of the channels (ecommerce, POS, mobile app, user service application etc)

much easier, whereby each channel needs to make one API call and abide by separate API contract for any personalization use case. The meta service approach removes manual approach to selecting the one or more one runtime personalized use cases, or type of recommendation suitable for the user based on channel centric application design or business user knowledge or stale point in time data. The meta service approach automates the approach to selecting the right use case or type of recommendation that best fits the known and anonymous users.
[058] The written description describes the subject matter herein to enable any person skilled in the art to make and use the embodiments. The scope of the subject matter embodiments is defined by the claims and may include other modifications that occur to those skilled in the art. Such other modifications are intended to be within the scope of the claims if they have similar elements that do not differ from the literal language of the claims or if they include equivalent elements with insubstantial differences from the literal language of the claims.
[059] It is to be understood that the scope of the protection is extended to such a program and in addition to a computer-readable means having a message therein; such computer-readable storage means contain program-code means for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device. The hardware device can be any kind of device which can be programmed including e.g., any kind of computer like a server or a personal computer, or the like, or any combination thereof. The device may also include means which could be e.g., hardware means like e.g., an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination of hardware and software means, e.g., an ASIC and an FPGA, or at least one microprocessor and at least one memory with software processing components located therein. Thus, the means can include both hardware means and software means. The method embodiments described herein could be implemented in hardware and software. The device may also include software means. Alternatively, the embodiments may be implemented on different hardware devices, e.g., using a plurality of CPUs.

[060] The embodiments herein can comprise hardware and software elements. The embodiments that are implemented in software include but are not limited to, firmware, resident software, microcode, etc. The functions performed by various components described herein may be implemented in other components or combinations of other components. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
[061] The illustrated steps are set out to explain the exemplary
embodiments shown, and it should be anticipated that ongoing technological
development will change the manner in which particular functions are performed.
These examples are presented herein for purposes of illustration, and not limitation.
Further, the boundaries of the functional building blocks have been arbitrarily
defined herein for the convenience of the description. Alternative boundaries can
be defined so long as the specified functions and relationships thereof are
appropriately performed. Alternatives (including equivalents, extensions,
variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope of the disclosed embodiments. Also, the words “comprising,” “having,” “containing,” and “including,” and other similar forms are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items. It must also be noted that as used herein and in the appended claims, the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise.
[062] Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more

processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
[063] It is intended that the disclosure and examples be considered as exemplary only, with a true scope of disclosed embodiments being indicated by the following claims.

We claim:
1. A processor implemented method comprising:
receiving, via one or more hardware processors, a request from at least one channel (202) as at least one meta data object, wherein the at least one meta data object corresponds to at least one of: (a) a user, (b) an entity, (c) an action, and (d) a context, and wherein the at least one channel comprises at least one component having one or more categories (402);
assigning, via the one or more hardware processors, the user to a cluster from a plurality of clusters based on (404):
an identified intent associated with the user (404A); or
the user being a known user based on at least one historic activity in
an event, when the identified intent associated with the user is not matched
with at least one characteristic associated with each cluster stored in the
plurality of clusters (404B);
computing, via the one or more hardware processors, a propensity score for one or more runtime use cases associated with the at least one meta data object, wherein the one or more runtime use cases correspond to a personalized widget or a service that provides a single type of recommendation including (a) similar products, (b) complementary products, (c) top offers or combination thereof (406); and
dynamically personalizing, via the one or more hardware processors, for the user, the one or more runtime use cases associated with a predefined range of propensity score for the assigned cluster (408).
2. The processor implemented method as claimed in claim 1, further
comprising, consolidating, via the one or more hardware processors, a response
associated with the one or more personalized runtime use cases (410), and
responding, via the one or more hardware processors, to the at least one channel
(202) with the consolidated response associated with the one or more personalized
runtime use cases (412).

3. The processor implemented method as claimed in claim 1, wherein the step of assigning the user to a cluster from a plurality of clusters is based on plurality of characteristics associated with the user for the one or more categories, wherein the plurality of characteristics correspond to at least one of: (a) a filter the sessions for each cluster group, (b) number of clicks in each use case per session, (c) the context in which the user clicked the each use case, (d) number of clicks to reach the use case, (d) num of products added to wishlist, (f) num_clicks_on_ratings_reviews, (g) num_clicks_price_filter_high_to_low, and (h) num_clicks_price_ filter_low_to_high.
4. The processor implemented method as claimed in claim 1, wherein the step of assigning the user to the cluster is based on an expectation maximization (EM) approach comprising:
(a) initialization, wherein number of clusters for which the at least one user
activity to be grouped is chosen to initialize a cluster count (K);
(b) expectation step (E-step), wherein at least one initial parameter is
mapped to a cluster (k) from the cluster count (K) to determine a probability
associated with a data point (xi), wherein the data point (xi) represents the at least
one user activity within a session data; and
(c) maximization step (M-step), wherein at least one component parameter
is re-estimated based on the probability associated with the data point (xi) to
improve accuracy of the data point (xi) associated to the cluster (k), wherein the at
least one component parameter corresponds to a mean, a variance, and a weight.
5. The processor implemented method as claimed in claim 1, further
comprising, optimizing, via the one or more hardware processors, the plurality of
clusters by determining at least one behavioral pattern associated with the user
among each cluster from the plurality of clusters, based on the plurality of
characteristics (414).

6. The processor implemented method as claimed in claim 1, further comprising, selecting, via the one or more hardware processors, a random use case from a pre-populated repository of use cases, based on an action input data mapped to at least one category from the one or more categories, wherein the random use case is selected when the user is unknown or when at least one user activity is not mapped to the plurality of characteristics of at least one cluster from the plurality of clusters, and wherein the action input data comprises at least one of: (a) click of a product, (b) searching for products or a category, and (c) writing a review grouped to the category (416).
7. The processor implemented method as claimed in claim 1, wherein the step of dynamically personalizing the one or more runtime use cases comprises: generating a scoring matrix for weightage analysis for the one or more runtime use cases based on the context and the plurality of characteristics.
8. A system (100) comprising:
a memory (104) storing instructions; one or more communication interfaces (106); and
one or more hardware processors (102) coupled to the memory (104) via the one or more communication interfaces (106), wherein the one or more hardware processors (102) are configured by the instructions to:
receive, a request from at least one channel (202) as at least one meta data object, wherein the at least one meta data object corresponds to at least one of: (a) a user, (b) an entity, (c) an action, and (d) a context, and wherein the at least one channel comprises at least one component having one or more categories;
assign, the user to a cluster from a plurality of clusters based on: an identified intent associated with the user; or
the user being a known user based on at least one historic activity in an event, when the identified intent associated with the

user is not matched with at least one characteristic associated with each cluster stored in the plurality of clusters;
compute, a propensity score for one or more runtime use cases associated with the at least one meta data object, wherein the one or more runtime use cases correspond to a personalized widget or a service that provides a single type of recommendation including (a) similar products, (b) complementary products, (c) top offers or combination thereof; and
dynamically personalize, for the user, the one or more runtime use cases associated with a predefined range of propensity score for the assigned cluster.
9. The system (100) as claimed in claim 8, wherein the one or more hardware processors (102) are further configured by the instructions to: (a) consolidate, a response associated with the one or more personalized runtime use cases, and (b) respond, to the at least one channel (202) with the consolidated response associated with the one or more personalized runtime use cases.
10. The system (100) as claimed in claim 8, wherein the user is assigned to the cluster from the plurality of clusters based on plurality of characteristics associated with the user for the one or more categories, wherein the plurality of characteristics correspond to at least one of: (a) a filter the sessions for each cluster group, (b) number of clicks in each use case per session, (c) the context in which the user clicked the each use case, and (d) number of clicks to reach the use case, (d) num of products added to wishlist, (f) num_clicks_on_ratings_reviews, (g) num_clicks_price_filter_high_to_low, and (h) num_clicks_price_ filter_low_to_high.
11. The system (100) as claimed in claim 8, wherein the user is assigned to the cluster from the plurality of clusters based on an expectation maximization (EM) approach comprising:

(a) initialization, wherein number of clusters for which the at least one user
activity to be grouped is chosen to initialize a cluster count (K);
(b) expectation step (E-step), wherein at least one initial parameter is
mapped to a cluster (k) from the cluster count (K) to determine a probability
associated with a data point (xi), wherein the data point (xi) represents the at least
one user activity within a session data; and
(c) maximization step (M-step), wherein at least one component parameter
is re-estimated based on the probability associated with the data point (xi) to
improve accuracy of the data point (xi) associated to the cluster (k), wherein the at
least one component parameter corresponds to a mean, a variance, and a weight.
12. The system (100) as claimed in claim 8, wherein the one or more hardware processors (102) are further configured by the instructions to: optimize, the plurality of clusters by determining at least one behavioral pattern associated with the user among each cluster from the plurality of clusters, based on the plurality of characteristics.
13. The system (100) as claimed in claim 8, wherein the one or more hardware processors (102) are further configured by the instructions to select, a random use case from a pre-populated repository of use cases, based on an action input data is mapped to at least one category from the one or more categories, wherein the random use case is selected when the user is unknown or when at least one user activity is not mapped to the plurality of characteristics of at least one cluster from the plurality of clusters, and wherein the action input data comprises at least one of: (a) click of a product, (b) searching for products or a category, and (c) writing a review grouped to the category.
14. The system (100) as claimed in claim 8, wherein the one or more runtime use cases is dynamically personalized comprises, generate, a scoring matrix for weightage analysis for the one or more runtime use cases based on the context and the plurality of characteristics.

Documents

Application Documents

# Name Date
1 202121029868-STATEMENT OF UNDERTAKING (FORM 3) [02-07-2021(online)].pdf 2021-07-02
2 202121029868-REQUEST FOR EXAMINATION (FORM-18) [02-07-2021(online)].pdf 2021-07-02
3 202121029868-PROOF OF RIGHT [02-07-2021(online)].pdf 2021-07-02
4 202121029868-FORM 18 [02-07-2021(online)].pdf 2021-07-02
5 202121029868-FORM 1 [02-07-2021(online)].pdf 2021-07-02
6 202121029868-FIGURE OF ABSTRACT [02-07-2021(online)].jpg 2021-07-02
7 202121029868-DRAWINGS [02-07-2021(online)].pdf 2021-07-02
8 202121029868-DECLARATION OF INVENTORSHIP (FORM 5) [02-07-2021(online)].pdf 2021-07-02
9 202121029868-COMPLETE SPECIFICATION [02-07-2021(online)].pdf 2021-07-02
10 202121029868-FORM-26 [21-10-2021(online)].pdf 2021-10-21
11 Abstract1..jpg 2022-01-13
12 202121029868-FER.pdf 2023-03-10
13 202121029868-FER_SER_REPLY [22-08-2023(online)].pdf 2023-08-22
14 202121029868-CLAIMS [22-08-2023(online)].pdf 2023-08-22
15 202121029868-US(14)-HearingNotice-(HearingDate-17-11-2025).pdf 2025-10-28
16 202121029868-RELEVANT DOCUMENTS [14-11-2025(online)].pdf 2025-11-14
17 202121029868-Correspondence to notify the Controller [14-11-2025(online)].pdf 2025-11-14

Search Strategy

1 202121029868_AmendAE_26-04-2024.pdf
2 202121029868E_03-03-2023.pdf