Arnaud Doniec

Stéphane Lecoeuche

René Mandiau
email: rene.mandiau@uphf.fr

Antoine Sylvain

Purchase intention-based agent for customer behaviours

Keywords: Agent-based modelling, Customer behaviours, Purchase intention, Stores' simulation

ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Introduction

The retail activity is a crucial challenge in terms of employment and 2 growth of a country. In 2016, worldwide retail sales reached $22.049 tril-3 lion [START_REF] Liu | Worldwide retail Ecommerce sales: the eMarketer Forecast for[END_REF]. The share of e-commerce has greatly increased, representing $1.915 4 trillion. In fact, many analysts predict stronger increases in the coming years 5 and agree that e-commerce is cannibalizing traditional retailing. Thus, this 6 industry needs to evolve, to reinvent itself, to offer customers new shopping 7 experiences in physical stores. Therefore, traditional retailers need tools to 8 analyse, understand and simulate customer behaviours inside their physical 9 stores. In our opinion, a store simulation should be useful: 10

• to give an interactive, dynamic and global view of the store,

11

• to study the different customers (or shoppers) inside the store: entrance flow, consistency and flow traffic in the store departments, area/product of interest, checkout management,

• to identify critical areas of congestion, and

• to predict the impact of changes in the organization for the trading area: changes of department location, changes of shelves sizes.

A number of commercial decision support tools related to retail already exist and can be classified in different categories:

• planogram designs and 3D visualization of products inside the store (e.g. Retail Smart 1 , Buzz 3D Retail 2 ),

• queue management at the cash desk (e.g., QNomy 3 ),

• supply chain management of the store (e.g., Llamasoft 4 ), and

• marketing policies simulation (e.g., Markstrat 5 ).

To the best of our knowledge, there are still no commercial tools to describe the customer behaviours within a store, even if such tools are useful from a manager's point of view. We believe that the construction of these behaviours is a convincing motivation for analysing the customer purchase intentions.

The customer behaviour inside a physical store depends on many factors: the type of the store (supermarkets, clothes shops, DIY store), the motivations for visiting the store (weekly food provision, shopping trip with friends), their habits, etc. The behaviours can thus vary greatly, so it is rather illusory to propose a unique customer model.

From a research point of view, the study of customer behaviour clearly falls within the scope of social simulations. In the last decade, they have been extensively studied from the perspective of agent-based modelling, since human activities are often too difficult to express using classical mathematical equation-based models [START_REF] Badeig | Analyzing multiagent approaches for the design of advanced interactive and collaborative systems[END_REF][START_REF] Parunak | Agent-based modeling vs. equation-based modeling: A case study and users' guide[END_REF][START_REF] Wooldridge | An Introduction to MultiAgent Systems[END_REF]. Contrary to an analytical approach, a Multi-Agent Based Simulation (MABS ) does not try to model the system in its entirety but splits it up in interacting entities (called agents), whose behaviours are sometimes simpler to implement rather than finding equations describing the global system. The core idea of MABS relies on the concept of emergence: the overall dynamic of the system results from their individual behaviours and their interactions. In addition, we can note that agent-oriented approaches have been used, for a long time, for trading in virtual markets where agents could autonomously purchase or sell products [START_REF] Guttman | Agent-mediated electronic commerce: A survey[END_REF]. The main contributions of these studies are often based on web technology and multi-agent negotiation models concerning the different transactions (e.g. variable price, bounded time for the transaction). For all these reasons, we think that a multi-agent approach is well suited to describe realistic simulations of stores.

In this article, the focus is on situated agent-based simulation within a physical store which should reproduce the trips and purchases of customers.

These simulated customers (modelled as agents) can thus move in the shop, purchase different products, etc. To obtain these behaviours, we propose to use some existing psychological studies to build a configurable model of customers inside a store and then, to fit this model to a specific store through real-data assimilation techniques (features are learned from real data of existing supermarkets, mainly trajectories and receipts). Our contribution models essentially the purchase intentions, and we propose a new approach accounting for the way to characterize the relationships between the customers and the products.

The paper is organized as follows. Section 2 deals with the state of the art related to psychological studies of customer behaviour and MABS for retail. Section 3 presents our agent model based on different behaviours (in a shop), the walking and the purchase intentions. In particular, we focus on a model of product-customer attraction. Our model is evaluated in Section 4, through various experiments involving the use of real collected data. Section 5 discusses our approach in a more general context. Finally, the last section concludes and gives a few perspectives.

Related work

We briefly present the state of the art about psychological and marketing studies for customer behaviour (Sect. 2.1) and existing agent-based models for marketing and retail (Sect. 2.2).

Psychological and marketing studies of customer behaviour

There is an extensive literature [START_REF] Jia | Understanding the evolution of consumer psychology research: A bibliometric and network analysis[END_REF][START_REF] Suri | The effects of time constraints on consumers' judgments of prices and products[END_REF] related to customer behaviours in stores. These studies claim that these various behaviours are closely related to the concerned type of store. In particular, they distinguish two main groups, called shoppers (i.e., customers coming with a real purchase intention) and gatherers (i.e., customers looking for some information and entertainment, but without necessarily purchasing products). These two types of behaviours correspond to two views of the sale space: an economic space used for supplying, or an entertainment space used for leisure activities [START_REF] Donovan | Store atmosphere and purchasing behavior[END_REF].

For example, in the case of supermarkets, there are few gatherers (i.e., the majority of customers are shoppers, whereas these gatherers represent a third of beauty shops' visitors [START_REF] Schmitt | Parcours, déplacements et actions face au rayon: mieux comprendre le comportement physique du consommateur en magasin pour mieux comprendre ses achats[END_REF]). Note however that customers inside the same group still present distinct behaviours. Indeed, not all shoppers purchase exactly the same products, so they could be classified depending on their displacements and purchases.

The modelling of these behaviours has been the subject of extensive resarch. As suggested by different authors [START_REF] Bonnin | L'observation des comportements au point de vente : vers une étude de la valorisation de la visite au magasin[END_REF][START_REF] Karimi | A purchase decision-making process model of online consumers and its influential factor: a cross sector analysis[END_REF], a customer behaviour inside a supermarket results essentially from two main activities: (i) a walking activity and (ii) a purchase activity.

The walking activity is defined by physical parameters: for example, a rhythm (i.e., the way they move with slow speed or fast), an extent (i.e., the number of crossed departments), an orientation (i.e., the field of vision) allowing customers to observe their own environment.

The purchase activity may be considered as a more cognitive task than the previous one. Many works have studied the purchase intention (i.e., the reasons that led a customer to buy a particular product). For example, Sakas et al. [START_REF] Sakas | Simulation model for commercial success of customer behaviour[END_REF] describe a dynamic simulation model based on four graphical items: (i) a tank representing the quantity of resources, (ii) a flow for an activity filling or draining a tank, (iii) a convector keeping certain values, and (iv) connectors providing links between the items. In their analysis, the authors express their model based on the connections between different tanks: the characteristics (for example, incentives, roles and personality) affecting the decision-making for the purchases by the customer, as well as psychological factors (for example, perception and beliefs/preferences).

Several features of a product influence its attractiveness and therefore the purchase intention of customers: the brand, the price [START_REF] Grewal | The effect of store name, brand name and price discounts on consumers' evaluations and purchase intentions[END_REF], the special offers and promotions [START_REF] Lam | Evaluating promotions in shopping environments: Decomposing sales response into attraction, conversion, and spending effects[END_REF], the position of the product (both inside the supermarket and on the shelf) [START_REF] Chandon | Does in-store marketing work? effects of the number and position of shelf facings on brand attention and evaluation at the point of purchase[END_REF], the products already put in the basket [START_REF] Agrawal | Mining association rules between sets of items in large databases[END_REF].

Some researchers [START_REF] Chen | Enhance green purchase intentions: The roles of green perceived value, green perceived risk, and green trust[END_REF] explain that the purchase intentions can be estimated by these different elements (called perceived risks).

In addition, the purchase activity can be influenced by two main environmental factors [START_REF] Schmitt | Parcours, déplacements et actions face au rayon: mieux comprendre le comportement physique du consommateur en magasin pour mieux comprendre ses achats[END_REF]: a crowd density and an available time. The crowd density corresponds to the number of persons present in a given area that a customer perceives. A higher density reduces the time that a customer accepts to spend in the store: he/she can play on his/her exploration and deliberation times. This constraint negatively influences the purchases and the interactions with other agents. The available time is a constraint (during the cognitive step) which can imply a fast decision to purchase (or not) products and also a more limited exploration of the store. In our context, this available time produces a pressure (if this time is short) similar to the pressure caused by a higher crowd density.

We share the idea, initially proposed by Ladwein [START_REF] Ladwein | Le comportement du consommateur et de l'acheteur[END_REF], claiming that the customer behaviour is split in four main actoms (i.e., atomic actions), namely mobility, stop, prehension and purchase. The mobility actom corresponds to the displacement of the customer inside the store, and the observation of the departments during the walking [START_REF] Sylvain | Purchase intention based model for a behavioural simulation of sale space[END_REF]. The stop actom considers the situation in which the customer is stopping in front of a shelve. A stop usually follows the identification of a product (i.e., a visual perception of the department) during the mobility phase. The prehension actom means a hand gripping of a product. The purchase actom corresponds to an action to purchase or not (also to put or not the product in the cart).

Agent-based models for marketing and retail

We find a lot of contributions concerning the use of simulations for marketing and retail. Some of these contributions have investigated the use of macroscopic simulations to understand customers' interactions in a specific market [START_REF] Said | Agent-based interaction analysis of consumer behavior[END_REF], to study new sellers strategies like dynamic pricing [START_REF] Dimicco | Learning curve: A simulation-based approach to dynamic pricing[END_REF] or to train sellers (based on serious games) [START_REF] Mathieu | Format-store: a multi-agent based approach to experiential learning[END_REF].

Regarding the simulation of stores in terms of flows, some solutions using MABS have already been proposed. For example, MassMotion6 simulates the displacements in different types of buildings, including, for example, shopping malls. Moulin et al. [START_REF] Moulin | Mags project: Multi-agent geosimulation and crowd simulation[END_REF] propose a pedestrian simulation inside a mall. Each agent (the customer) enters the mall with a list of predefined stores or kiosks to visit, often with specific motivations for services: banking, café and restaurant, entertainment (e.g., theatres, cinema), etc.

SimMarket [START_REF] Schwaiger | SimMarket: Multiagent-based customer simulation and decision support for category management[END_REF] focuses on the purchase intention. The authors propose a behavioural model of customers -agents -involving different factors like the price, the promotion awareness or the brand loyalty. The behaviour is expressed in this study by using Bayesian networks. For each category of products, a Bayesian network is extracted through the search of data mining patterns from individual customer data.

Format-Store [START_REF] Mathieu | Format-store: a multi-agent based approach to experiential learning[END_REF] proposes a serious game dedicated to employees. Based on a methodology named IODA (acronym for Interaction Oriented Design of Agent simulation), the authors describe all possible interactions occurring in the store: for example, the interactions between a customer and a product, or between an employee and a customer. All the entities defined by an interaction (customers, products, employees) are thus considered as agents.

This methodology may have the benefit of describing a very homogeneous multi-agent model, but it has the drawback of a very high number of agents (due to the large number of products and customers) and of making the concept of purchase intentions less clear (furthermore, it is important to note that it was not the initial motivation of their studies).

Bell and Mgbemena [START_REF] Bell | Data-driven agent-based exploration of customer behavior[END_REF] describe an agent-based modelling (in the mobile services sector) using the decision-tree analysis to create agents (in near real-time) from data analysis and social interactions. Their approach called CADET (Customer Agent DEcision Tree), is based on decision trees (treelike graphs with possible paths to arrive at a decision) employed to study the interactions between customers. These authors claim that most research that addresses customer churn using data-mining techniques (such as clustering and classification) do not typically account for social effects on customer retention. The influence of social networks has also been found to be a key factor to customer retention [START_REF] Richter | Predicting customer churn in mobile networks through analysis of social groups[END_REF]. The advantage of the CADET approach is a very quick adaptability of the agent-based modelling. However, we think that the data-mining techniques remain sufficient for a validation of a model based on the purchase intentions of customers for a physical shop. ABISS (Agent-Based In-Store Simulator) [START_REF] Terano | Agent-based in-store simulator for analyzing customer behaviors in a super-market[END_REF] focuses on "virtually" customers (by walking and purchase activities) within a supermarket. This tool is able to consider planned purchases (shopping list) and unplanned purchases (promotion items) through different purchasing probabilities. These probabilities are determined from the analysis of real past transactions. According to us, ABISS is probably the most advanced, but few of the influencing factors previously presented (loyalty to a brand, products' pricing, time pressure) are taken into account.

The model SHOPPER [START_REF] Ruiz | SHOPPER: A probabilistic model of consumer choice with substitutes and complements[END_REF] is not an agent-based model, but it aims to

• • • • • [20] • • • • • • [28] • • • • • • • [29] • • [36] • • • • • • [40] • • • • • [44] • • • • Our Study • • • • • • • • • •
reproduce the customer behaviour inside a supermarket. This approach uses learning techniques based on previous shopping trips (receipts) and proposes to investigate seasonal effects and interactions between products.

We investigate an approach where the agents represent the human customers in the store (the products are then seen as resources of this environment). Adapted from Kitazawa et al. [START_REF] Kitazawa | How do customers buy them at a supermarket? behavior analysis from real observation and agent simulation[END_REF] and Ruiz et al. [START_REF] Ruiz | SHOPPER: A probabilistic model of consumer choice with substitutes and complements[END_REF], Table 1 gives a synthesis of different elements for the two main activities, walking and purchasing. Considering all these existing models, we can observe that the purchase activity is either absent or very simplified and that the walking activity is not always directly related to the purchase intention. For the walking activity, we show that the avoidance actions are not always really implemented, although they are well-known in the literature. Concerning the second activity, it seems that the shopping list is usually pre-defined (we agree with Ruiz et al. [START_REF] Ruiz | SHOPPER: A probabilistic model of consumer choice with substitutes and complements[END_REF] that this list should be adapted dynamically based on the purchased products or promotions, for example). Moreover, the checkout management is not always considered, although it has an impact (essentially, the time pressure) for the real behaviour of a customer.

Finally, the staying time is often considered, but the crowd density (not defined in the existing studies) may change the customer behaviour during its purchase. The literature in the field of marketing and consumer psychology is extremely rich and shows interest in the temporal pressure and in different actoms. We think that these concepts should be considered for our agent model, presented in the next section.

Proposition of a multi-agent model for customers in a store

We start with the representation of a store, and we list the specific characteristics of products and features of agents (Sect. 3.1). Then, we describe the model based on states for the different agents (Sect. 3.2). We also focus on a crucial aspect concerning our modelling, namely the attraction between products and agents (Sect. 3.3).

Presentation of our multi-agent model

Our approach consists of a set of agents (i.e., customers) evolving in the same environment (i.e., a virtual representation of a store). The agents may move in the store where they may be located in different places (e.g., shelves, checkouts). The products are viewed as resources situated in the same environment. The agent can purchase a product, if there exists an attraction between the product and the agent.

Environment: the store

To plan their movements inside a store, the agents (simulated customers) need a computational representation of their environment. Since a supermarket is (most of the time) well structured with aisles and shelves, a graph models the environment of our simulation: the nodes of the graph cover all intersections between aisles and shelves while edges represent the lines along which customers can move. This graph needs to be enhanced with additional information like, for example, the department name, the list of items located around a graph node.

Resources: the products

Each product p situated in this environment is defined by Cat p , Rpr p , A p :

• Cat p refers to the category of product (or a hierarchy of categories).

For example, a packet of tortillas can be classified in the following hierarchy: Snacks → Salty Snacks → Chips (this classification may also facilitate the comparison between two products of the same category).

• Rpr p represents the real price of product p.

• A p is a vector of parameters describing the attractiveness of this product (in this study, we consider only four parameters for this vector, and will show that they are sufficient for our validation):

-Attractiveness to height (A 1 p ∈ [0, 1]): Many marketing studies

show that a product situated on a shelf at eye level has a higher probability to be bought than a product located at ground level.

-Attractiveness to price positioning (A 2 p ∈ [0, 1]) in a same category: This parameter is directly related to the purchase power of customers.

-Attractiveness to brand (A 3 p ∈ {0, 0.5, 1}): This parameter refers to its location in a product range, the reputation and the prestige brand of a product. For example, food retail can be distinguished by: low cost brands (A 3 p = 0), store brands (A 3 p = 0.5) or big brands (A 3 p = 1).

-Attractiveness to promotion (A 4 p ∈ {0, 0.5, 1}): A set of special offers may be applied to products based on three values corresponding to "no-reduction", "discount" or "de-stocking", for example.

Features for the agents

Each simulated customer a is also located in the environment, and is defined by a tuple Ln a , Lp a , Sp a , η a (t), R a :

• Ln a is a list of places (a predefined path inside the store) that agent a has to visit.

• Lp a defines a hash map containing all products of the store. To each key (product) p ∈ Lp a is associated a purchase intention at time t, denoted I p a (t). This intention influences the agent attractiveness for products w.r.t. a list of possible purchases.

• Sp a is the locomotion speed for walking in the store. Recent studies concerning the speed for human beings show that this value is very hard to determine [START_REF] Campanella | Microscopic modelling of walking behaviour[END_REF]. In the following, we consider that the speed for each agent is between 1 and 1.9 ms -1 .

• η a (t) represents a temporal pressure expressing what a customer is able to spend in "energy" (normalized between 0 and 1). From an initial temporal pressure η a (0) corresponding to the temporal pressure felt before entering the shop, the temporal pressure evolves during the simulation as function of time t: the more the pressure rises, the less agent a has "energy" to continue its shopping; and consequently, this temporal pressure tends to zero.

• R a represents a vector of parameters describing four receptiveness parameters:

-Receptiveness to height (R 1 a ∈ [0, 1]) which influences its eyecatching and hand-catching capacities.

-Receptiveness to budget (R 2 a ∈ [0, 1]) which expresses a price level that it is willing to support financially, more than a spending limit.

-Receptiveness to brand (R 3 a ∈ {0, 0.5, 1}) which represents the inclination for low costs, prestige brands or greater range of products.

-Receptiveness to special offers (R 4 a ∈ {0, 0.5, 1}) which characterizes the sensitivity to marketing operations.

Description of agents' behaviour

Within the simulation, the agents act according to a finite-state automaton, where all the transitions between states are deterministic (Figure 2). For all connected nodes n from the current one, a score S a (n) is computed (Equation 1), reflecting the overall attraction of these nodes, according to the products that n contains. To find the next location to visit, a score is evaluated for all products p i situated at node n using a matching function, noted by Φ(a, p i ). The matching function models the attraction between a product and a customer, and it could be both used to decide for the purchase intention and to determine the next location for customer. Details on the function Φ will be given in Section 3.3.

S a (n) = p i ∈Lpa(n) Φ(a, p i ) + 1, if n ∈ Ln a 0, otherwise (1)
where S a (n) represents the score of considered node n, Lp a (n) accounts for the set of products attached to this node, lastly Ln a is the pre-calculated trajectory for a.

The choice of the next location is based on the following idea: rather than visiting the next node in Ln a , agent a could change its trajectory, if an alternative node n gives a higher score (i.e., it owns a significant number of attractive products). If n is not the next element of its trajectory Ln a , we add it to Ln a , between the current and next nodes. Note that the node n draws a direct benefit, if this node has initially been specified in Ln a .

State 2: Walking towards the next location

From its current node, the agent moves towards the next node of Ln a .

This activity involves two complementary sub-tasks: (i) walking in the store and avoiding different obstacles or customers, and (ii) perceiving the environment.

The walking sub-task is derived from two standard algorithms. To reach a goal, each agent may produce a plan based on a graph by applying a path planning algorithm. The plan is based on a set of transit nodes. Then, at each iteration, the agent can move between two nodes by avoiding the different obstacles (shelves, other agents). More precisely, the agents / customers plan their trip inside the store with a standard A * algorithm [START_REF] Hart | A formal basis for the heuristic determination of minimum cost paths[END_REF]. Between two nodes of the graph, the agent's displacements take place in a continuous space. This walking activity is thus ensured by a well-known steering algorithm [START_REF] Reynolds | Steering behaviors for autonomous characters[END_REF].

In this model, a goal node may be defined by the purchase of products, checkouts or exits of a store, and unavoidable nodes (i.e., the agent must pass by determined nodes because it belongs to a specific group of customers).

At the end of its move, the current node is equal to the next node in list Ln a .

During its walking in the metric space, the simulated customer perceives the other agents inside a cone of vision. Then, it computes a perceived density δ a (t), which is equal to the ratio between the space occupied by these agents and the surface of this perceived cone. This density thus changes its temporal pressure (Equation 2).

η a (t) = η a (0) -δ a (t), (2)
where η a (0) ∈ [0, 1] is the initial temporal pressure and δ a (t) ∈ [0, 1] is a perceived density at time t.

A high density of agents only temporarily influences the temporal pressure. It means that an agent arriving in a very busy department will have a high temporal pressure for visiting it. Once arrived in a less crowded aisle, the agent will get back to a normal temporal pressure. This change should still have an impact on the purchase intention. At each change of the temporal pressure, the purchase intention I p a (t) for each product p of list Lp a is also updated (Equation 3).

I p a (t) = η a (t) • I p a (t -1), (3)
where η a (t) ∈ [0, 1] is the temporal pressure at instant t and I p a (0) ∈ [0, 1] is the initial purchase intention of product p defined by Lp a .

We suppose that the profiles of human customers should be known, which will make our multi-agent simulation more realistic. To characterize these profiles into different groups of agents, we propose to use clustering techniques determining the typical trajectories (see Subsection 4.2.2).

State 3: Evaluating products close to the current node

When the agent is present at a current node n, it retrieves the list of products and estimates the interest of different products associated with this node. For each product p ∈ Lp a (n), the agent will evaluate its contextualized purchase intention C p a (t) (Equation 4).

C p a (t) = I p a (t) + Φ(a, p) 2 , (4)
where I p a (t) represents the purchase intention of agent a for product p (at time t) and C p a (t) is a contextualized intention for a product p (at time t).

Agent a selects subsets of products having an interest called Lp Sel a (n). It determines products p k for each category Cat j (i.e., it searches the equivalent products belonging to the same category), and estimates the set of the maximum values C p k a (t) (Equation 5). At the end of this step, it obtains the products with the highest scores available on this node.

Lp Sel a (n) = max p k ∈Cat 1 C p k a (t), . . . , max p k ∈Cat j C p k a (t), . . . , max p k ∈Cat l C p k a (t) ( 5
)
where l is the number of available categories on node n.

State 4: Deliberation

Agent a evaluates individually each product of all previous lists Lp Sel a and decides to purchase the product or not by a comparison of its contextualized purchase intention with a certain purchase threshold SdI. Equation 6 refers to the set of products bought by agent a at its node n:

{p ∈ Lp Sel a (n)/C p a (t) SdI}. (6)
Once product p is bought, its price Rpr p is used to update the amount of money spent by the agent. In addition, the purchase intention of all products belonging to the same category is set to zero in Lp a (to avoid that a customer purchases all products of a same category: these products could also be located at another node).

For a purchased product, a purchase intention of associated products could be strengthened by the use of some association rules. We will detail this aspect in Subsection 4.2.3.

State 5: checkout or exit of a store

When agent a has finished the shop exploration and/or has found all products of its shopping list, it moves towards the exit, pays at checkouts and leaves the shop. It plans a trajectory and chooses the checkout line according to two criteria, the distance to reach the checkout line and the number of agents already waiting to pay. Agent a tries to minimize its estimation S a,c j (Equation 7) for the checkout line c j (the number is fixed a priori ) defined as

S a,c j = (1 + Q c j ) • ∆(a, c j ), (7)
where Q c j is the size of the queue at the checkout line c j and ∆(a, c j ) is the Euclidean distance between the location of agent a and checkout line c j .

After the selection of the checkout line, the agent moves towards the queue and keeps a fixed distance from the last agent (the value is similar for all agents). As in real life, the agent waits until the time of payment (the duration is proportional to the number of purchased products), and then it moves to the nearest exit (during this activity, the other agents continue to move in this queue). After the shop's exit, the agent is removed from the simulation.

In the following, we focus on the way of evaluating the matching function for modelling the attraction between a product and a customer.

Modelling the product-customer attraction

The proposed behavioural model relies on a principle of attraction between a customer and a product. In our model, the interaction between an agent (namely a) and a product (called p) will depend on a matching (called Φ(a, p)) between these two vectors: R a (receptiveness features for the customer agent) and A p (features of the product). Equation 8characterizing this matching, is a weighted sum of functions f i , merging the vectors A p and R a in our case:

Φ(a, p) = 1 4 4 i=1 f i (A i p , R i a ). (8)
The different functions f i are defined following the type of used data:

quantitative or qualitative information.

When A i p and R i a concern quantitative information (such as price, height, etc.), the expression for f i is defined by Equation 9. The result tends to 1 when the attractiveness and the receptiveness components are close. On the contrary, when the difference between these parameters is significant, the result tends to 0. For example, function f 1 compares the positions in height of the customer's head with the product on the shelf, while f 2 compares the price level (budget) that the agent is willing to support financially with the price of product:

f i (A i p , R i a ) = 1 -|A i p -R i a | where A i p , R i a ∈ [0, 1]. (9)
When A i p and R i a concern qualitative or categorical information, expressed as ordinal variables (e.g., special offers, brand category), f i is defined by Equation 10. For example, if agent a is absolutely not sensitive to the brands (i.e., R 3 a = 0), then the result of function f 3 will tend to zero.

Conversely, if a customer is very influenced by the reputation of the brand for the purchased product p (i.e., R 3 a = 1), then he/she will be particularly attracted to products of major brands (f 3 = 1 if A 3 p = 1) and will reject low-cost products. Similarly, f 4 is used to combine promotions and special offers with the receptiveness of customers.

f i (A i p , R i a ) = A i p .R i a + (1 -R i a ) 2
where

A i p , R i a ∈ {0, 0.5, 1}. (10)
To illustrate how these functions f i are combined to determine a purchase decision, we consider a simple example involving three customers and two products in the same category. These three customers must choose between two products (Table 3). The first product (called p 1 ) comes from a high-end prestige brand, situated on the top of the shelf, quite expensive and presented with a special offer. The second one (called p 2 ) comes from its own supermarket label proposed with a limited price, with no promotion and situated at eye level in the shelf.

Receptiveness to Height Budget Brand Promotion

Customer (R 1 a i ) (R 2 a i ) (R 3 a i ) (R 4 a i ) a 1 0.7 0.2 0 1 a 2 0.7 1 1 0 a 3
0.65 0.6 0.5 0.5 and three agents (a 1 , a 2 and a 3 ). We notice that, although agents a 1 and a 3 own different profiles, they are attracted to p 2 (a 2 prefers to select the product p 1 ). For agent a 1 , the promotion proposed for p 2 offsets the height of the store shelf. For agent a 2 , the brand and the price are interesting for its features, and naturally it guides its choice for p 1 . Finally for a 3 , the special offer and the height influence its decision towards product p 2 . 0.75 0.99 0.6 0.9 0.75 0.5 0.25 0.75 0.5875 0.785

The next section presents the validation of this model through various simulation scenarios.

Experiments and Validation

The previously introduced agent model was used to build a simulation of a supermarket. The model was implemented in Java using the platform Repast Simphony7 [START_REF] North | Experiences creating three implementations of the repast agent modeling toolkit[END_REF]. In the following, we give details concerning the real case used for our experiments (Sect. 4.1). Then, we explain how we calibrate our agent model (Sect. 4.2). Finally, we present the experiments and the obtained results (Sect. 4.3).

Description of our case study

The store under consideration is an existing supermarket located in California (USA) 8 . The trading area is about 4,150 m 2 . The store has two entrances, on each side of the check lanes area. It has nine departments (Figure 3): Bakery, Meat, Pharmacy, Dairy, Produce, Frozen foods, Cookies & Crackers, Deli and Groceries. For this case study, we know the floor plan, a list of products available on shelves, as well as their price, the current promotions, their categorization (for example, granny apples belong to the subcategory "Apples", which is a part of the sub-category "Fresh Fruit" which is included in the category "Produce"), their relative positioning (top-of-the-range, mid-range or lowcost products), their location in the department and their placement on the shelf (height).

In addition, we own two kinds of collected data related to the customers of this supermarket: receipts and individual trips. Receipts were collected during twenty-eight days. Each week, the store registers around 35,000 transactions representing about 285,000 items purchased per week (220,000 receipts). Individual trips of customers were also recorded during the same period. Identification tracking (PathTracker R ) tags based on Radio Frequency IDentification (RFID) technology [START_REF] Sorensen | The science of shopping[END_REF] were placed on approximately 250 shopping carts and baskets. 1,500 antennae were located around the perimeter of the store to detect signals transmitted by tags at every second.

An antenna covers an area of about 1.6m 2 . A server captures the coordinates of tags with regard to the wireless antennae. Each sequence of coordinates represents the path for each customer as he/she travels throughout the store.

Unfortunately, the number of recorded trajectories (2,076 trajectories) is inferior to the number of receipts since the displacements of customers have been registered only for some shopping carts and baskets (those equipped with RFID technology). Moreover, the trajectories are not linked to receipts due to privacy reasons.

Calibration of our model

We propose to calibrate our model and particularly Lp a and Ln a with the receipts and individual trips previously described. In this context, we used data-mining techniques (4.2.1) namely clustering (4.2.2) and association rules mining (4.2.3).

Data-mining techniques useful for our model

The Data Mining techniques are widely exploited in the context of customer segmentation (see publications related to RFM9 analysis based on K-means, Decision Trees, ANNs, etc.) [START_REF] Hiziroglu | Soft computing applications in customer segmentation: State-of-art review and critique[END_REF]. To the best of our knowledge, in this domain, supervised techniques are mainly used in order to build a predictive analysis on possible future customer behaviours. This requires the use of the results (labels) given by the clustering tools [START_REF] Yao | Combining visual customer segmentation and response modeling[END_REF]. The use of supervised tools would also imply the need of expert knowledge for the construction of trajectories (walking paths) labels, which seems like a hard task.

In our case, we aim to reproduce in simulation the observed behaviours, not to predict the category of a future customer. Let us recall that the link between wandering data and receipt data is not known. Even thought the labels of customer profiles exist by using fidelity cards and purchase receipts, it is not possible to use them for the classification of the walking activity. For all these reasons, unsupervised methods have been preferred to calibrate our model for the real supermarket described before. Two classical techniques was used: clustering and association rules.

Clustering techniques are requested in order to extract a number of groups sufficiently representative of walking behaviours within the shop.

Each walking pattern has to be different enough from the other groups and homogeneous within the same group [START_REF] Han | Data mining: concepts and techniques (3rd Edition)[END_REF]. These clusters will make it possible to initialise the agents' characteristics, such as the predefined list of places Ln a to be visited, and making it possible to seed the simulation with representative walking paths.

Association rules are also requested to extract complementary knowledge from cash receipts. The idea is to reinforce the purchase intention for a product according to its relationship with other products. Learnt from past purchase records, these rules help to modify, during the simulation, the purchase intention I p a of other products p in Lp a , for which the relationship with the products in the basket is significant. An extension for association rules could be possible by taking advantage of works proposed by Weng et al. [START_REF] Weng | Applying bayesian network and association rule analysis for product recommendation[END_REF].

Clustering on trajectories

As is traditionally done in machine learning, our set of trajectories has been split in two: 1,038 trajectories were used for learning clusters, the rest was used to validate the results.

Many techniques have been proposed in literature for mining trajectory data [START_REF] Zheng | Trajectory data mining: An overview[END_REF]. Since our raw trajectories are time-stamped, it is possible to compute a single matrix in which each column is labelled by a node of the store, and each line is a recorded trajectory [START_REF] Li | Mining user similarity based on location history[END_REF].

The clustering algorithm used on the resulting matrix is K-means [START_REF] Ordonez | Clustering binary data streams with K-means[END_REF],

tailored to the use of binary vectors. To fix the number k of clusters, we tested different values between 5 and 60, and our choice is based on the obtained results by analysing cluster variety and compactness (using the tool Silhouette with Matlab 10 ). In our context, the real data give interesting results for 15 k 30. 15 clusters are sufficient to obtain different behaviours; whereas 30 clusters give more details with a best precision (each cluster corresponds to at least 1 % of the population).

Finally, we choose 30 clusters (which means 30 types of agents with different strategies and aims) for the experiments. For each cluster, we use the centre to extract the trip points needed to initialize Ln a in the simulation. The cardinality of each cluster can be used to generate the agent population. Table 5 shows the percentage representativeness of each cluster. analysis, the support of these rules relies on the rise in frequency, and not in the quantity of purchased products. Moreover, these results could also express a purchase behaviour, depending on the socio-cultural habits [START_REF] Henry | Cultural values do correlate with consumer behavior[END_REF] related to the location of the store.

To sum up, the real data of our case study allowed us to parametrize a large part of our agent model (products list Lp a and trajectory Ln a ).

Finally, only two parameters have been empirically set, i.e., the threshold for purchase intention (SdI = 0.8), and the initial temporal pressure (for all agents a, η a (0) ∈ [0.990, 0.999]). In the experiments presented in the next section, these two parameters have been adjusted approximately to meet the real average amount of purchases.

Evaluation of our simulation tool

Four experiments were carried out for the validation of our simulation tool (Figure 4). The first two scenarios evaluate the tool based on the current real data (receipts and trajectories). The first scenario aims to compare the real data with measures obtained by our software (4.3.1), whereas the second one illustrates typical behaviours of customers (4.3.2). The last experiments aim to propose additional results for our tool (4.3.3), i.e., to give some indications for the manager during a traffic rise, and to point out the scalability problem.

Comparison between the real and simulated data

The evaluation describing the comparison between real and simulated data is based on objective and subjective criteria. This first experiment gives objective metrics, such as time, distance travelled and expense for the customers; and shows subjective results using heat maps. These simulation results are averages over 25 runs. For each run (corresponding to the simulation of a normal operational day of the supermarket), the shopper population is the same (only their arrival in the store may be different):

5,000 customers following the percentage of clusters (Cf. Table 5).

Microscopic metrics: time, distance travelled and expense. From different private technical reports and audits, we can consider three criteria used to compare our results with the real case (Table 7). The first two criteria aim to analyse microscopic metrics: (i) the average time spent through the store and (ii) the average distance of their trip. The last criterion characterizes the purchase behaviour (i.e., the average expense per customer).

We find that the behaviours appear to be fairly diversified. For example, the distances travelled vary from 108 metres (corresponding to an agent with a very short path and buying only few items) up to 3 km (an agent with a important list of items to purchase). The same observation can be done for the time spent inside the store, which can go from 2min up to more than 1h30min. Considering the average expense, the results of the simulation are very satisfying since the difference is inferior to 5 %. This result tends to show that our purchase model is relevant and realistic for customer behaviours. Now, considering the two other criteria (distance and time, which are correlated), the differences are higher. To explain this phenomenon, we compare the real trajectory with the trajectory computed by the path plan-ner implemented in our tool. Two reasons can explain this difference with a similar shape of trajectories. Firstly, the path planning algorithm used in simulation tends to produce optimal trajectories minimizing the distance (which is not always true for humans). Secondly, the distances provided by real data are slightly overestimated since the path tracker system is based on the antenna located in the middle of the aisle. For example, zigzags in an aisle cannot be captured with the system.

Macroscopic comparison using heat maps. The displacements of agents have also been evaluated from a more macroscopic view (Figure 5). The two figures present the same information concerning the traffic for this store:

the main congestion points (red or orange colours), the areas with very little traffic (blue or green colours) and the areas in yellow colour with an average attendance.

A heat map describing the store shelves traffic from the different audits is shown in Figure 5.1. This map is interesting because it results from behaviours of customers. For example, a main path which serves several shelves, has a high frequency (i.e., a quasi-obliged path). Shelves including key products (which can be in a lot of carts) will also be crowded areas. The comparison between these two figures underlines that the areas with high and very little traffic overlap. However, the areas with an average traffic may be different: the agents are autonomous and free to go (or not) through other trip points. These first results show thus that our model can produce real behaviours in terms of trajectories and purchases. In the next subsection, we go into more detail regarding the types of behaviour.

Typology of customers

For this second experiment, the simulation results from agents belonging to the same cluster. Among 30 clusters, we would like to describe two examples illustrating the variability of walking behaviours: the first cluster describes behaviours based on a fast visit; the second cluster concerns behaviours based on a higher store exploration.

Cluster 1 -Behaviours based on a fast visit at the store. The cluster gathers the behaviours based on a fast visit, with very little space exploration and purchases very localized (Table 8). These purchases focus on the areas between the checkout lines and the aisles end-caps (book or stationery aisles). The purchases are thus well targeted. We can imagine that these Cluster 2 -Behaviour based on a higher exploration of the store. The second cluster (including different purchase behaviours) gathers behaviours based on longer distances with a higher purchase volume (Table 9). While some customers could leave the shop without purchasing anything, for cluster 2, the average basket is around $88.22 with expenses reaching $99 for other customers. The longest path may reach an increase of 32 %, related to the shortest one (2,600 meters), also underlining a difference between the different paths. whereas other ones could present more varied displacements. Recall that our choice was to constrain the number of clusters by finding a compromise between a reasonable number of clusters and a greater homogeneity of their walking activities.

The following subsection gives additional results, which may also show other possibilities for our tool.

Additional results

We propose to investigate our model performance through two additional experiments: an increase of the traffic and the scalability problem.

Traffic rise. In this scenario, the manager would assess the impact of higher traffic on the store's turnover. From our point of view, this experiment consists in increasing the number of agents inside the simulation and evaluates the impact in terms of purchases.

The results of this experiment show that the average shopping cart tends to decrease, although the number of customers increases (Figure 6). This result is consistent with our behavioural model, where the temporal pressure can influence the purchase behaviour. If the perceived density is higher, the temporal pressure is stronger: i.e., the customers become very impatient and they want to exit the shop as soon as possible (these behaviours lead them to reduce their purchases). In the last experiment, we evaluate the ability of our tool to simulate a large number of agents, i.e., to study the scalability of our simulation. Scalability problem. To simulate a retail space requires to reproduce a significant number of customers. However, our model, by its nature, may be time-consuming. This experiment studies the ratio between simulated and computing times (Figure 7). Results are obtained (similar for the different experiments) on a computer equipped with a dual-core 2.66 GHz CPU and 8 GB.

We can thus note that the simulation may be considered real time (i.e., ratio of 1) approximately for 1,000 customers per hour. Our model is thus perfectly applicable to a medium-sized store, and in particular for the store being studied. In contrast, for more frequented stores or shopping malls, we expect that it will be needed to reduce the computational time for our approach.

Through the various experiments, we have shown that our model reproduces fairly accurately the customers travelling within the store (see heat maps in Figure 5). The distances covered in simulation are lower, due to the use of shortest path algorithms in our model. In terms of purchases, the differences obtained between the reality and the simulation are less than 5 %. Our model can thus reproduce the overall performance of a store: in terms of attendance and sales. The scenarios concerning traffic rises show that our approach could be useful to predict interesting metrics like the average expense for the customers. However, it also highlights a drawback of a real-time simulation by constraining the number of agents.

In the following section, we discuss the potential and limits of our agentbased model for the simulation of customers in a shop.

Discussion

The purpose of this section is to underline the potential of our approach in light of our hypothesis (Sect. 5.1) and to mention thus a few limitations (Sect. 5.2).

Potential of our approach

Although the analysis described by Badeig et al. [START_REF] Badeig | Analyzing multiagent approaches for the design of advanced interactive and collaborative systems[END_REF] is more general, we think that it is well suited for our work. As suggested by their analysis, the design of tools based on multi-agent systems for complex applications requires four main properties (autonomy, proactiveness, context awareness and situatedness). Hereafter, some discussions on our approach are given for each property.

Autonomy suggests "the necessity to articulate three types of autonomous entities (human manager, artificial customers and simulated retail area)".

In our model, we assume that these entities are governed by different behavioural rules that can vary from a supermarket to another depending on different socio-cultural aspects (localization of the supermarket, standard of living of customers, consumer habits, for example). We showed that the use of a data-driven approach (clustering on trajectories, association rules extracted from receipts) allows to take these socio-cultural aspects into account and thus facilitates the articulation between these three entities.

Proactivness is "the way to maintain a consistent coupling between processing structures and dynamic environments". In our model, the proactivity is expressed through the product-customer attraction which allows an agent to modify its trip inside the supermarket. Note that the temporal pressure can also influence this trip. Other facets could be achieved considering groups of customers. A typical example is the purchase decision inside a family: what is the influence of children when a family goes shopping at the supermarket [START_REF] Thomson | Family purchase decision making: Exploring child influence behaviour[END_REF]? To address this issue, we think that our model should be extended with a decision mechanism able to take into account all individual attractions for a group. Many options are available: for example, the use of an algorithm to produce a global attraction that merges how the group is interested (or not) by a product, the use of a task allocation algorithm to decide which member of the group is in charge of the purchase decision depending on the type of product (children for breakfast cereals and adults for wine as an example), etc. Sakas et al. [START_REF] Sakas | Simulation model for commercial success of customer behaviour[END_REF] propose the concept of roles for these different agents (for example, a friend or a child from the family may influence the buyer), which could also change the purchases.

Context-awareness is the way "to the design of systems in which there is a need to constantly adapt to evolving situations that may be hard to understand". Among the possible evolutions that can impact a store, we think that it is difficult to really understand the possible evolutions of customer behaviours: How do their needs and desires evolve according to the seasons? How do they adapt their purchase depending on their financial situation?

To take these evolutions into account inside the simulation, it would be necessary to continuously assimilate real data in our agent model. To achieve this, we could consider dynamic and incremental machine learning techniques that could let agent clusters evolve. In the SHOPPER model, Ruiz et al. [START_REF] Ruiz | SHOPPER: A probabilistic model of consumer choice with substitutes and complements[END_REF] propose another solution to define customer behaviours more realistically. They use a Bayesian model which is based on the probabilities for buying a new product related to already purchased products. SHOPPER also considers important characteristics for purchase intention (price, interaction between products, seasonal effects). We think that this model could replace association rules and thus describe agents with "on-line" behaviours in terms of purchase intention.

Situatedness is "supported by continuous interactions with physical elements in the environment like traces as a result of their activity". The records based on cameras allow managers to have a better knowledge of their customers. Although this property is not currently exploited, we can imagine that we could propose an in-depth analysis, in which different activities could be evaluated. For example, Zhang et al. [START_REF] Zhang | An examination of social influence on shopper behavior using video tracking data[END_REF] use a video tracking system in combination with a hierarchical Bayes framework to observe the social influence of the environment (salesperson contact, interactions between shoppers) over different activities: exploration of the store, production interaction, purchase, etc. The results of the simulation would be more interesting for the customers: our approach could thus measure the different parameters such as the walking time (a real speed of each agent, and not an average speed), the reasoning time for the purchases, the temporal pressure, etc.

Limits

We propose to focus essentially on three limits, i.e., the choice of k-value for clusters of customers, the consistency of data structure and the capacity to simulate in real time a very large shopping mall.

Firstly, some publications [START_REF] Lingras | Iterative metaclustering through granular hierarchy of supermarket customers and products[END_REF] have also described the machine learning techniques for determining meta-clusters based on transactions involving customers and products. The authors improve thus the clustering profile of the customers who purchase a product. However, we think that although their idea may be useful for our works, their objective is not focused on the retail simulation; but on the way of defining "good clusters" for the customers.

Secondly, unlike other existing models that are based only on receipts, our customer model is relatively generic and can be applied to stores other than supermarkets. For example, in the case of clothing stores, where each entry does not necessarily imply a checkout, the use of trajectories makes it possible to obtain a much more precise and fair store visit. The counterpart is that our model is more complicated to configure. Indeed, it is always necessary that the data structures L n and I p a (0) are consistent for each agent created in the simulation. For example, it is not conceivable to put a high initial purchase intention on fruits and vegetables if the list L n does not contain any nodes of the fruits and vegetables department.

Finally, as seen in the previous section, our simulation tool currently struggles to exceed 1,000 customers per hour. To overcome this limitation, we can plan to use a hybrid multi-level approach. The idea is to make our model work simultaneously (at a microscopic level) and a macroscopic level [START_REF] North | Multiscale agent-based consumer market modeling[END_REF]. This kind of approach has been already applied successfully for road traffic simulation [START_REF] Espié | Hybrid traffic model coupling macro-and behavioral microsimulation[END_REF], and we think it will be relevant in our context.

Another idea is based on a more active environment, which may allow agents to reduce their cognitive tasks, called affordances [START_REF] Klügl | Using the affordance concept for model design in agentbased simulation[END_REF][START_REF] Ksontini | Affordancebased agent model for road traffic simulation[END_REF]. An affordance in this context, could be seen as an attraction of a product for the customer.

Conclusion and future works

In this paper, we have presented an approach to mimic the main customer activities (the walking and the purchase) inside a store. The resulting simulation can help store managers: to study the different flows, to identify the critical areas of congestion or to predict the impact for a new location of products, in order to increase the shop profitability and to improve the service for customers. In our approach, each simulated customer attempts not only to interact with those present in the store and its environment, but also to purchase different products.

We have presented the state of the art from different studies, particularly from two domains: psychological/marketing and multi-agent systems.

These studies focused on a customer behaviour model based on actoms, such as mobility, stop/halt, prehension and purchase acts. The approaches investigated different aspects of marketing (for example, the purchase intentions, interactions between employees and customers), but, to our knowledge, few of them really deal with these two aspects: purchase behaviour and walking activity in the store.

Because of these different considerations, our model is based on a multiagent approach, integrating the representation of a store and the characteristics of products and customers (agents). The proposed model based on these actoms has an essential part, namely the modelling of the possible attractions between products and agents. To design them, we introduce a matching function between different parameters, the attractiveness (for the products) and the receptiveness (for the agents).

This model was validated by simulating a real store, and by comparing the real shoppers and the simulated agents. This comparison confirmed the relevance of our approach. In particular, our tool is able to study the different behaviours of customers and the resulting flows, to visualize a heat map of the store, to test new scenarios and to predict the impact of changes in the organization of the retail space. In this paper, we described four experiments. The first scenario showed that the results in terms of times, distances and expenses were very close to real data. Moreover, the congestion areas are easily visible by heat maps and are good Key Performance Indicators for store managers (they may thus change the organization of their store to avoid these critical areas). The second scenario evaluated the same simulations resulting from agents belonging to the same cluster. It is thus possible to observe the typology of customers by their specific behaviours (the managers may thus propose different promotions well suited for these customers). The third experiment involved a traffic rise and evaluated the impact in terms of purchases (or expenses) for an increasing number of customers. In the last experiment about scalability aspects, we showed that the version of this tool was able to generate realistic scenarios in terms of simulated time.

Future work related to our approach is currently based on the four requirements (namely autonomy, proactiveness, context-awareness and situatedness) introduced for the analysis of complex applications based on multiagent models. Our approach is constrained by the obtained real data (in our study, the real data from paths and receipts are not directly associated), and it is necessary to consider real data more precisely. The autonomy could be improved for the typology of customers, for example, by including results concerning meta-clusters. Proactiveness may be seen in situations where a group (e.g., a family) and not a set of independent customers, decides to purchase certain products. We think that the tool should be able to detect these relationships. Situatedness requires additional data concerning customer behaviour (e.g., halting times in front of a product, questionnaires

giving some explanations about their behaviours and their choices about the purchases). To complete the model, we investigate the adaptation of two approaches (multi-level or affordance models) for context awareness.

Figure 1 :

 1 Figure 1: UML diagram of our simulation model

Figure 2 :

 2 Figure 2: Finite-state automaton describing agents' behaviour

Figure 3 :

 3 Figure 3: Major department locations

Figure 4 :

 4 Figure 4: Illustration of our simulation tool representing the store and its customers. Red points correspond to the nodes of the graph; whereas blue stars represent the simulated shoppers.

Figure 5 . 2 ,

 52 Figure 5.2, obtained from simulations, presents the same information concerning the traffic for this store.

Figure 5 :

 5 Figure 5: Real and simulated heat maps

  per hour) Average shopping cart ($)

Figure 6 :

 6 Figure 6: Trends of shopping carts according to customers flows

Flow

  (customers per hour) Ratio simulated time vs real time

Figure 7 :

 7 Figure 7: Ratio between simulated and computing times according to customers flows

Table 1 :

 1 Synthesis of the main elements for customer activities and comparison between state-of-the-art and our proposed approach

	Walking Activities									Purchase Activities
	Path	Search	Obstacle	Avoiding	Shopping	List	Money	Limit	Staying	Time	Seasonal	Effects	Price	Interaction	between products	Loyalty	Card	User	Preferences	Promotion	Crowd	Density	Checkout	Management
	[4]

  The agents' behaviour is thus expressed through five elementary states (related to the different actoms introduced previously). In State 1, agent a has two possibilities: to move towards its next location if its list Ln a is not empty (State 2), otherwise to pay at checkout and exit the shop (State 5).From State 2, the agent can move again to the next location if it is far from the next location for a product (it remains in State 2). If this condition is not true, a chooses the two following steps: to evaluate products situated

	below.
	1	2	3	4
	5

close to the current location (State 3), and then to deliberate (i.e., to decide to purchase or not a product) (State 4). After its decision to buy or not a product, agent a is again in State 1. These different states are detailed Lna = {} Lna = {} a is far from the next location a is close to the next location

Table 2

 2

	illustrates the motivations of

2 ) is a senior executive (comfortable standard of living).

He/She is also 1.70m tall, very attracted by famous brands, but he/she pays little attention to promotion. The third customer (called a 3 ) is a parent, measuring 1.65 meter. He/She wants to manage his/her budget, appreciates brands but no more, and finally he/she enjoys promotions and special offers.

Table 2 :

 2 Parameters of Receptiveness for three kinds of customers (a1, a2 and a3)

Table 3 :

 3 Parameters of Attractiveness for two different products (p1 and p2)

			Attractiveness to
		Height Price Brand Promotion
	Product (A 1 p j ) (A 2 p j ) (A 3 p j )	(A 4 p j )
	p 1	0.9	1	1	0
	p 2	0.66	0.7	0.5	1

Table 4

 4 illustrates the different matchings Φ for two products (p 1 and p 2 )

Table 4 :

 4 Example of matching between Attractiveness of product and Receptiveness of customer

		f 1		f 2		f 3		f 4		Φ(a i , p j )
	Customer	p 1	p 2	p 1	p 2	p 1	p 2	p 1	p 2	p 1	p 2
	a 1	0.8 0.96 0.2 0.5 0.5 0.5	0	1	0.375	0.74
	a 2	0.8 0.96	1	0.7	1	0.5 0.5	0.5	0.825 0.665
	a 3

Table 5 :

 5 The clusters obtained and their representativeness (%)

	Cluster 1	7 %
	Clusters 3, 6, 14, 15, 17, 29	6 %
	Clusters 4, 10, 22, 27	4 %
	Clusters 8, 11, 13, 16, 19, 25, 26	3 %
	Clusters 5, 12, 18, 20, 21, 23, 24, 30 2 %
	Clusters 2, 7, 9, 28	1 %
	10 http://fr.mathworks.com/help/stats/silhouette.html, Accessed: 2019-05-20

Table 7 :

 7 Comparison between real data and our simulation

		Real data Simulated Results Difference
	Time spent inside the	23	19	21 %
	supermarket (minutes)
	Distance travelled in-	2,067	1,533	34 %
	side the supermarket
	(meters)
	Expense (dollars)	27.1	25.85	4.8 %

Table 8 :

 8 Results for the customer's profiles for cluster 1

		Walking Reasoning Distance
		time	time	travelled Expense
		(seconds) (seconds) (meters) (dollars)
	Minimum	28	0	106.37	0
	Mean	44.91	22.08	134.71	1.08
	Maximum	80	56	179.50	8

Table 9 :

 9 Results of profiles for cluster 2

		Walking Reasoning Distance
		time	time	travelled Expense
		(seconds) (seconds) (meters) (dollars)
	Minimum	685	1,461	2,594.77	0
	Mean	944	2,395.33	2,895.88	88.22
	Maximum	1,342	3,315	3,429.20	99
	More generally, a deeper analysis on k clusters shows that certain clus-
	ters represent behaviours of very similar and homogeneous displacements;

http://www.oasys-software.com/products/engineering/massmotion.html, Accessed: 2020-01-28

Repast, acronym for REcursive Porous Agent Simulation Toolkit, is a tool (implemented in Java) offering designers different features such as graphical interfaces, a behavioural model for agents and a coupling with external tools (e.g., Matlab, R

).[START_REF] Chen | Enhance green purchase intentions: The roles of green perceived value, green perceived risk, and green trust[END_REF] We would like to thank the Sorensen Associates (USA) for this case study: http:// shopperscientist.com/resources/sorensen-associates/index.html, Accessed: 2020-01-28

Recency Frequency Monetary value

Acknowledgments

This research was supported by the competitiveness cluster PICOM. It was funded by the French Ministry of Industry and the region Hauts-de-France. We would like to thank the company Sorensen Associates for giving us access to real store data. The authors would like to thank Christophe Kolski (LAMIH, UPHF), Sanda Lefteriu (IMT Lille Douai) and Marius Silaghi (Florida Institute of Technology, FL, USA) for their useful comments on this paper. We thank also the anonymous reviewers for their constructive remarks.

Information extraction from receipts

To initialize Lp a of each agent, we started by sorting all the products of the supermarket from the most sold to the less sold. The obtained ranking allowed us to give the initial purchase intention I p a . Since the collected trajectories and receipts are not linked together, we consider, for the experiments presented below, that the agents are all initialized with the same Lp a . However, during the simulation, this list will evolve according to each agent's specific parameters: the temporal pressure η a (t) and the perceived density δ a (t). Moreover, according to Ln a list, not all agents will purchase the same products.

To dynamically modify the purchase intentions of agents (I p a ) for certain products, our model includes the possibility of using association rules which express correlations between products. These association rules can be extracted (off-line) from the 220,000 receipts. As a reminder, such rules draw a relation between a set X corresponding to already purchased products, and a set Y of products implied by X (if the condition p ∈ X is verified, then the agent will be able to purchase products Y , and Y may be thus added to the shopping list Lp a for agent a). Two metrics are associated with these rules: a support (called S) and a confidence (called C). Support refers to the part of receipts containing X, and confidence is the part of receipts containing X and Y . For association rules mining, we used a classical algorithm (Apriori) [START_REF] Agrawal | Fast algorithms for mining association rules in large databases[END_REF] by setting support S to 1 % and confidence C to 30 %. but we can explain it by the categories of products, which are considered as perishable products and are bought more often than other products. In our