Home > Research and expertise > units > LSE Complexity Group > Events > 1995 to 1999 > 1998 > Complexity Seminar, 30 March 1998

 

Complexity Seminar, 30 March 1998

 

THE LSE STRATEGY & COMPLEXITY SEMINAR

30 March 1998

 

Complex Adaptive Modelling at J Sainsbury: The SimStore Supermarket Supply Chain Experiment

Report on presentation by

Dr Mark Venables and Dr Ugur Bilge

Innovation Centre, J Sainsbury plc

 

Overview

Traditional statistically-based modelling and analysis methods cannot deal adequately with the highly complex systems involving many autonomous entities which characterise modern business processes. As a result, many organisations are looking for new ways of creating realistic simulations of complex systems which exploit the growing availability of powerful computing capabilities. This report explains how the Sainsbury's supermarket chain is doing this by applying principles of complex adaptive modelling (Casti 1998) to its business environment.

In the report, Dr Mark Venables and Dr Ugur Bilge of the J Sainsbury Innovation Centre describe the progress being made on SimStore, a two-year complex adaptive modelling project which started in July 1997. This includes a discussion of why they believe SimStore can help to provide unexpected insights into the dynamics of activities like customer behaviour in stores, patterns of customer demand, commodity movements and supply-chain strategies. They focus on the approach Sainsbury's has adopted to structuring and building SimStore, highlighting the early progress being made in developing prototype supermarket simulations.

Dr Mark Venables is Manager of the Innovation Centre at J Sainsbury. His Doctoral research was on the relationship between evolving technology and strategic doctrine. He joined the supermarket in 1977 as a strategic planner. In 1990, he became a formative member of the SABRE project team, which was set up to research and build the company's new generation of store forecasting and ordering systems. He was asked to create an innovation centre for the Logistics Division in March 1995. Dr Venables specialises in: the application of advance mathematics to the logistics supply chain; the theory and practice of knowledge creation and knowledge representation; and the development of innovation and creativity in organisations.

Dr Ugur Bilge obtained his PhD in Computer Science from University College, London (UCL), where he later worked as a Research Fellow specialising in neural networks, genetic algorithms and intelligent hybrid systems. At UCL, he participated in a number of EU funded projects. Dr Bilge started to work for Sainsbury's as a consultant in 1994 and assisted in a variety of projects, including the optimisation of shelf space and transport scheduling, before becoming a key developer of the SimStore system. He has played a particularly important role in designing and building the architecture of SimStore, including the construction of its basic 'agent' components.

This report was edited by London-based Editorial Consultant Malcolm Peltu.

A mission to innovate

Sainsbury's Innovation Centre is a technology-driven group of about ten people. It was set up in 1995 with a brief to deliver at least one substantial business application per annum. Beyond that commitment, the Centre has a great degree of freedom to explore new ideas and experiment with new technologies that have a potential value to the company.

Applications successfully developed by the Centre have included the Radio Frequency Identity (RFID) tagging of vehicles used in the business supply chain and a transport optimisation system constructed with a genetic algorithm. RFID exploited a very new technology initially developed by the American army and genetic algorithms are an intelligent-system technique based on the principles of biological evolution.

Looking to the future, we are interested in emerging physical technologies, such as 'smart materials' like new polymer structures that could have a profound effect on the storage of chilled foods by avoiding the need for costly and bulky refrigeration equipment. We are also participating in a major project to understand the effects of weather on sales. For example, we know there is a linear effect on the consumption of ice cream: as it gets a little warmer, sales increase a little along a regular slope. At some point, a change in behaviour of significant magnitude may be triggered as warming continues. This could be called a 'non-linear shift' or 'slightly chaotic, non-periodic behaviour'.

Traditional statistically-based modelling, analytic and diagnostic approaches are not very good at dealing with this kind of non-linear behaviour. They have been concerned largely with the distribution of value in population statistics and linear sets. Although these have been of much practical benefits for a long time, their inadequacies are being exposed by the growing degree of complexity in many modern business operations.

This has led the Innovation Centre to look beyond previous linear approaches to find better ways of getting to grips with understanding and managing complexity. Genetic algorithms are an example of an intelligent-system approach to achieving this. For instance, a genetic algorithm can take account of complex business and human considerations when scheduling vehicle movements, such as the need for drivers to end up always at a particular depot, although vehicles do not have to come back to a given base. This kind of capability is much more sophisticated than traditional methods and abandons the linear programming notion that there is a perfect way of scheduling a thousand vehicles a day.

In addition to intelligent-system solutions, the new modelling methods we are studying include Complex Adaptive System (CAS) concepts that address issues like turbulence and chaos.

Why Sainsbury's is interested in complex adaptive modelling

Our general interest in the potential of emerging non-linear complexity concepts eventually led us to the wealth of CAS research at the Santa Fe Institute (eg Casti 1990; Kauffman 1993). The work on complex adaptive modelling by Professor John Casti (1997; 1998) offered a particularly promising approach to overcoming the limitations of previous modelling techniques, such as Systems Dynamics.

These traditional approaches typically employed discrete-event simulations in which a set of equations control and report on the behaviour of entities that are treated as 'boxes' receiving inputs and producing outputs. A box could represent a shop into which goods enter and sales flow out. Inventory and order control in these systems typically used equations like: i = s - d - x, where i is the total inventory at the end of a trading day; s is the stock at the start of the day; d is the day's sales; and x is an estimate of theft during the day. Inventory and sales are the prime drivers of orders to suppliers.

Such models deal well with discrete events, for example by generating orders every day for a range of commodities needed by a store. An order can be traced through a sequence of time steps involving depots and suppliers, until the required delivery of goods is made within the target time period. Parameterised values fed into the model's equations enable various time-step games to be played, like calculating what would happen if deliveries are made every four hours rather than daily; exploring the consequences of introducing occasional errors, say through failures to deliver some goods; or evaluating the impact of a reduction in theft rates.

These models are very useful in terms of analysing time frames and time lags. But they lack a whole dimensionality of complexity because they can use only fixed equations, although it is possible to play around with a host of external parameters. In contrast, CAS 'would-be worlds' as defined by Casti make it possible to build up a realistic simulations from granular building blocks of multiple autonomous 'agents', which can interact to produce the unexpected emergent behaviour of a complex system. This gives CAS modelling great potential for overcoming the limitations of traditional simulation and analysis techniques.

Complexity in the supermarket business

The application of CAS concepts to business is not as obvious as the industrial use of more tangible innovations, such as the usefulness of RFID technology to supermarket transportation. The Innovation Centre's investigation of complex adaptive modelling was, therefore, regarded as a speculative area of work when the CAS-based SimStore project started in July 1997

Figure 1(at the end of the report) is a relatively simple example of the many ways in which we attempt to analyse the rich complexity of a supermarket's operations. It shows an overview of the supply chain, highlighting three principle focal points between which goods and information flow:

§ individual Sainsbury's shops involving commodities, customers and staff;

§ Sainsbury's depots and their operators;

§ suppliers of commodities to Sainsbury's.

The detailed functioning of each of these elements encompasses interactions between many complex activities. For instance, the day-on-day supply chain system driven by customer demand covers an interconnected range of dynamically changing activities within stores. These include daily sales figures, forecasts, logistical factors like special promotions and seasonal demand fluctuations, in-store inventory control, and shipments received from suppliers. In order to meet this customer-driven pull, each depot must manage its inventory labour capacity to ensure the stores it serves gets their requested goods on time (typically an order received on Tuesday night must arrive by Thursday morning). In addition, Sainsbury's Head Office aggregates the activities of all depots. Manufacturers and suppliers receive orders based on the customer demand fed through depots and from agreements with Head Office on initiatives like new product ranges and promotions. These orders eventually feed back into production processes that must deliver the goods as required.

The dynamic and continuously changing interaction during this flow of goods and information has a remarkable degree of complexity, combining a mix of uncertainty and predictability. Within this overall flow, there are many activities which are of great complexity in their own right, such as inventory management, order processing, customer demand forecasting, sales analyses, marketing, store design, and production management. For instance, in-store management must take account of the multifaceted characteristics of customers, staff and commodities. Some goods in the store, like grey shoe polish, might be extremely slow moving compared to commodities like soap powder and milk with a turnover of many millions of units a week. Customers' requirements can also vary greatly during the eleven million or so shopping visits made to Sainsbury's stores each week.

Applying complex adaptive modelling to supermarkets

Casti (1997; 1998) characterises a CAS model as having a 'medium-grain' number of 'intelligent and adaptive' agents with 'local information'. Anything between 100 to 100,000 could be regarded as medium grained. Casti defines intelligent and adaptive agents as ones which can make decisions using rules that can be modified as new information becomes available. An agent has access only to its own local information, which might include information received from a small subset of agents, but with no single agent having access to what all other agents are doing. The ability of agents to interact is not regarded as intrinsic to every complex adaptive model. But such interactions make for better, more complex models because they can lead to the emergence of more unpredictable outcomes.

The Innovation Centre has been working closely with Casti to investigate how these principles could be applied to the supermarket environment and to evaluate what benefits they offer compared to traditional methods. We considered and rejected a number of potential CAS-based projects, such as management games based on the competitive dynamics of the supermarket industry, supply-chain simulations, transport optimisation and simulations of the life cycle of a new product. There were a variety of reasons for deciding these were unsuitable. For instance, supermarket 'business games' would involve too few agents and would probably be too unpredictable. We already had much existing work and expertise in other areas and didn't want to compete with these groups.

Our main worry was whether we could validate anything useful with the model. But our initial research indicated we could achieve tangible benefits by starting with a model based on a real store. That would give business users a practical understanding of the business benefits achievable with this kind of modelling.

Identifying the agents to be used for SimStore

Our initial experience indicates that the concept of an agent is likely to be one of the main benefits we will get out of the CAS approach because agents can represent the varied autonomous behaviour of key elements in a system. The most challenging questions that we faced in the early days of SimStore, therefore, related to the definition and construction of agents. Our initial list of what we considered to be legitimate agents covered the key players in the supply chain identified in Figure 1: customers; shop staff; operators in the supply chain; and commodities. For example, a staff agent could include factors like pride in the job, bonus payments, length of experience and business knowledge. A store agent would be determined by dimensions relating to its location, including the nature of its customer base and how that affects replenishment cycles for stocking shelves.

We eventually decided to focus on modelling customer agents. Customers drive the whole business and have the potential for being an extremely interesting and diverse type of agent, capable of meeting Casti's granularity and other criteria. Focusing on in-store customer behaviour early on gave us the opportunity to deliver something of business value ahead of the project's two-year overall time frame.

One the first applications of SimStore is for a previously-established project looking at how to alleviate congestion, which some experts feel is an important strategic customer driver. Simulation is a vital aid for this because we can't conduct experiments on a real store by moving things around overnight to evaluate the effects of different layouts. Major store refits are planned for months ahead and may lead to the shop being closed for a period.

Agents based on real customer data

Our intention to start with a SimStore model reflecting current reality was reinforced by the fact that we are in the fortunate position of being able to draw on Sainsbury's extensive information and business knowledge on customer behaviour, in-store operations and all the links in the supply chain. For instance, the initial task of designing customer agents made use of a rich store of information collected by analysing the use of Sainsbury's Reward loyalty card and from data recorded at check-out tills. This is supplemented by a wide range of knowledge gleaned from marketing surveys and other sources.

Loyalty-card and check-out data gives us valuable information on many individuals, although none are identified by name. We have not had to do our own detailed analyses of the raw data as that is carried out continuously by our marketing specialists. The stream of data from tills can tell us, say, how many 100 gram jars of Sainsbury's Gold label coffee were sold on a particular day. By time stamping this data, we can know precisely when the jars were sold. Then, we can aggregate this data by basket to find out that a coffee jar sold at 11.07 am on Monday 8 June was in a basket with snacks, frozen fish fingers, and so on.

Such 'basket data' is a sound foundation on which to build realistic profiles of the shopping habits of actual customers. The connection of basket data to loyalty card identifiers enables us to accumulate details at what times of day different people shop, what items they tend to buy on a shopping trip, how often they shop each month, and how long they spend in the shop.

Analyses of the vast array of information available to Sainsbury's has clearly highlighted some general shopping patterns. For example, most people shop to reasonably consistent patterns and very few shop completely randomly. Many customers tend to divide their shopping between bulk buying in a 'main shop' and smaller top-up 'basket shops'. This may be carried out in two Sainsbury's stores ¾ an outer city one for bigger shops and an in-town shop for shorter trips. Work done at the Innovation Centre, using techniques like niche theory complemented by basket data, has also told us lot about customers' propensities to substitute one commodity for another. For instance, a customer who regularly buys 4-packs of Coke will happily buy an 8-pack of Coke, representing an almost 100% substitution rate, whereas they won't buy Pepsi, or vice versa.

We also know that most people visit a supermarket with some kind of ideal shopping list of commodities they intend to buy in a visit, such as bread, milk, biscuits, vegetables, cereals, snacks, alcohol, etc. Customers will generally run through a list on every visit, even if it isn't always written down. This behaviour is very different to, say, a clothes or music store which people enter, often on a whim, with the intention of buying a limited range of items specific to that visit.

Segmentation of customers

Sainsbury's marketing specialists have used our information sources to categorise customers into distinctive 'segments', define by characteristics like:

§ age;

§ life stage (eleven categories including student, middle aged, retired);

§ behavioural traits (ten categories, like being a trolley/basket, frequent/infrequent shopper);

§ environmental influences on behaviour (for example, local sporting events that affects traffic patterns or the opening of a rival store in the area);

§ other more speculative factors (such as whether people are habitual or impulse buyers).

The life stage and behavioural characteristics can be visualised together as an 11x10 'customer segmentation matrix' for each store. We are also beginning to be able to use basket data to say what kinds of products are likely to be mixed during a visit by a customer from a particular segment. This could help us to determine things like what kind of alcoholic drinks are likely to be bought by parents with pets who shop on Wednesday evening and Saturday morning. These analyses go well beyond the crude techniques traditionally used to deduce, say, the likelihood that more baby food will be sold in an area with a high birth rate.

A typical Sainsbury's store has about 10,000 to 15,000 regular customers. A few thousand of these may visit on any one day, with many returning a few days later, perhaps for a top-up shop. From the data we have, this enables us to specify what time of day and what day of the week each agent is likely to shop and what kind of shopping list they may have. For example, a customer in the segment 'middle aged parents who are frequent basket shoppers' is likely to visit a store twice a week with different time-of-day profiles in weekdays and at weekends.

The structure of rule-based customer agents

The most important breakthrough in our development of SimStore came when we developed a sustainable structure for the customer agent. This happened after many months of hard thinking about how we could apply an understanding of the theory of complex adaptive modelling to practical situations. We started with what we regarded as some common sense rules and saw how they fitted the known behaviour patterns and customer segmentation categories which was already known from existing data. It would have been too complex to try to derive our first efforts at defining rules from the mass of data held on customers.

The structure we eventually chose for a customer agent consists of two main levels, which we believe will hold good for all other agents. The low level is concerned mainly with structural, habitual types of behaviour, such as an ideal shopping list, while the high level is concerned more with rules relating to decisions like whether or not a person's propensity to commodity substitution. Rules at each level are illustrated in Table 1 below.

Table 1: Agent-customer rules

Initial low-level rules for 'Customer n'

§ frequency in visits by month

§ time slot/weekday-to-weekend ratio

§ main shop/top-up shop

§ ideal shopping list

§ events, promotions

§ availability of commodities

Examples of high-level strategic rules

§ minimise time in store as a function of commodity purchase

§ always fulfil shopping list

§ maximise promotional take up

§ meet specific time constraints for a particular type of customer

§ take account of the degree of willingness to substitute

§ act to avoid congestion

We ascribe values to agents in computational coding terms at each of these levels, so that each agent is defined by a kind of rule-based instruction set. For example, 'Customer 1' could be the type of customer who has a common combination of visiting a store eight time a month, four times during the week (typically 5 to 7 pm on a Thursday) and four time at weekends (2 to 4 pm on a Sunday). As we do more simulations and get more experience in applying CAS principles, we will be able to refine the rules which underpin agent behaviour. The balance between how generic or specific we make agent shopping lists will depend on how many agents we finally have. Events, like a local bicycle race or new car park which affect traffic patterns around the store, can also affect customers' shopping patterns.

At a strategic level, rules seek to address key questions about why customers might stop shopping at Sainsbury's and how we can make shopping at our stores as pleasant as possible. There is a great deal of debate in the supermarket business about what really are the key strategic customer drivers. Price, congestion, commodity availability and propensity to substitution are some of the drivers which have been identified.

Although price might seem to be a priority, studies show that it is not a decisive factor in the competition for customers between stores like Sainsbury's, Tescos, Safeways and Asda. People who are strongly price driven are likely to shop at other stores targeted at this group, like Kwik Save and Netto. Even price-cutting promotions are often aimed at maintaining brand loyalty, rather than to appeal to price-driven customers.

SimStore's approach is oriented more towards strategic management issues concerned with increasing market share in terms of customers and trading volume. Profit-based calculations are less easy to model and Sainsbury's already has effective methods of monitoring and improving its profitability.

Refining agents' structures and adaptive behaviour

We haven't yet decided on the optimum number of agents. The possibilities range from the unlikely extremes of having just two agents, one each for male and female customers, to having one agent per customer. Having too few would fail to represent the fine-grained variations between customers; too many might make it difficult to handle the computational demand. As we want to have as many agents as is feasible, in order to represent a wide range of customers, we will probably need to keep agent rules relatively simple. We could add more if that proves to be necessary, but need to take care as we do not want to have so many that it becomes difficult to maintain rule bases efficiently and reliably. Currently, we estimate we will eventually be able to handle up to about a hundred at the low level and many dozen strategic rules.

There is likely to be a need for some kind of consistency checks between the two agent levels to ensure we are not generating random agents whose low-level rules do not correspond to the behaviour of a real customer. Such checks would take account of analyses of basket data to avoid the purchase of an unlikely combination of commodities. We also need to be able to introduce elements of random variations around rule-defined behaviour to provide sufficient variety in the behaviour of models.

Strategic rules can be applied to guide lower-level adaptive behaviour to create a realistic simulation of a particular business environment, such as a store. For instance a high-level goal of minimising the time spent in a store while buying everything on the shopping list would operate on low-level rules to prevent any drift in shopping times for that agent. This could apply, say, to an agent representing mothers who want to be in and out of stores quickly between 3:30 and 4:30 pm on the way home from picking up the kids at school.

It should also be possible to build models where agents are guided by more than one strategic rule. For example, one agent's strategic drivers might be to get in and out as quickly as possible, never looking at promotions, and be totally unwilling to substitute anything for Florida orange juice. A change in the shopping environment which increases congestion or leads to the regular unavailability of Florida orange juice should be able to modify a low-level rule like shopping times. Instead of habitually shopping at 2 to 4 on a Sunday afternoon, the agent-customer could then decide to come on a Saturday morning, which could have a knock-on effect at that time if many other customers were doing something similar.

Interactions between agents should also be able to lead to behavioural adaptations. The initial SimStore prototypes allow interactions only between customer agents, say when congestion is caused as they move around a store on a shopping trip. Rules to avoid congestion then lead to further interactions, such as through a general instruction to 'avoid congestion at all costs'. However, as congestion often occurs because people don't explicitly set out to avoid it, we could perhaps think in terms of rules like:' When a blockage occurs, turn left. If another blockage occurs, turn right.' And so on. This could generate almost random movements and agent interactions around a store. We haven't tried out rules like these yet, but they illustrate the potential for exploring complex adaptive behaviour.

As new agents are defined, more complex interactions can be created between different agent types, say between customers and a store's staff. The autonomy of rule-driven agents as the granular basis of model is important to the process of developing simulations of adaptive behaviour

The architecture and operation of SimStore's prototypes

We are building models based on the plans of real store and, as near as we can get it, to the behaviour of real customers. We are not interested in carrying out a theoretical exercise in modelling individual and group behaviour in an imaginary store. And by having rule-based agents, we are also not suggesting that customers behave like a mindless flock of bird. As the rules are derived from extensive data on real customer behaviour and allow for adaptation and learning, we believe agent-based models will provide fresh insights into the actual dynamics of the supermarket business.

The structure of SimStore's initial prototypes is shown in Figure 2 (at the end of the report). Sainsbury's large 'data warehouse' of information on customers, stores and the supply chain provides the basis on which realistic agents can be generated for a simulation. The behaviour of customer agents are determined by instructions held in the rules base. Common sense is treated as a vital input to support statistical and survey knowledge from the data warehouse. The results of simulations are verified against what is known to happen when real customers visit real stores. Knowledge gained by comparing simulations against reality can be fed back to enhance the data warehouse and rules base, generating ever more realistic agents.

This structure been used to develop the modular architecture of early SimStore prototypes (see Figure 3 at the end of the report). Information on customers gathered from loyalty-card transactions is amalgamated with knowledge on local events to develop the categories that define how different customer segments are likely to behave. Information specific to the store and its customer base forms store categories, such as 'city centre' or 'out of town', based on typical real stores. A customer segment matrix is used to generate customer agents and their shopping lists for the chosen store category and scope of a simulation. Real time simulations can then be target at various applications, with the model allowed to tun over specified time periods. Although the agents in any one simulation are a hypothetical group, they have a sound basis in real customers in real stores.

We have paid much attention to providing a visually interesting and easily understood interactive interface through which users can observe the outcomes of simulations. It can use colour displays and animation to show graphical features, like a store's layout and allows 'What if' scenarios to be tried out easily to examine a variety of goals. The model responds immediately to changes input by the user to give a sense of what is happening as the store is populated by agents. Simple access is also provided to sophisticated modelling aids, like genetic algorithms, without the user having to know anything about the underlying techniques.

The prototype SimStore simulator was developed in Java because it is a simple and Internet-ready language. Java is object oriented, so it is relatively straightforward to create customer agents as objects, with rules assigned as attributes. This means the rules are 'hardwired', which is necessary in building a model from scratch for Sainsbury's requirements. Establishing a completely generic CAS would be very difficult

Business guidance in developing SimStore

The establishment of a basic design of customer agents and the SimStore architecture was carried out with advice from some business specialists in the company. As our ideas began to crystallise, we talked directly to more potential business users to find out where they felt such a system could be of value to them. We wondered, for instance if there was a role for exploiting the system in an area like planning customer demand around the Christmas period to take account of the way the holidays split affects customer demand.

Our Marketing Services group has much knowledge about customer segmentation, as discussed earlier. But they were very interested in exploring how complex adaptive modelling could help to gain a deeper understanding of questions such as:

§ Do customers in the same segments display similar behaviour?

§ Can we identify simple low-level rules which are used by customers to decide their day and time of shopping?

§ What kinds of strategic rules determine how customers adapt their behaviour in response to changing circumstances, like a new store layout?

§ What is the best way of organising frequently visited commodities?

§ How can movement through the most popular customer paths in a store be optimised?

§ What are the most promising options for minimising congestion?

§ How does the migration between customer segments occur as people move through different life stages?

§ What would be the effects of opening stores for longer hours?

These seem to be promising areas of research, but we needed to find more specific focal points for our R&D. We felt the best way of moving forward in collaboration with business users would be to build a prototype based on agents with some simple rules. If this could simulate the way a store actually works, say by showing increases in customers towards the weekend, we could give business people a hands-on understanding of what could be achieved with a basic CAS model. This would give us realistic feedback on which applications are likely to be most productive to investigate. Therefore, we decided the first phase of model building should generate customer agents which could be used to simulate basic in-store customer behaviour in terms of simple rules like shopping times.

The initial models are based on an actual store in a London suburb, which gives us a benchmark against which to compare their outputs. The confidence-building process would be assisted if we could apply this model to a different store, with a different customer base, as well as running models with both real and simulated data.

The SimStore prototypes

The first-phase SimStore prototype starts by displaying a two-dimensional plan of the store. This is populated by reading a store's customer segment matrix, which generates the required stream customers. The user can ask for, say, a thousand customers to be generated as a base for the simulation over a period of 60 days. Each day is divided into seven time segments. Agents in the same segment are not all the same, as for real people, which allows for variations around a mean to ensure each week does not follow exactly the same pattern during a simulation. Different event profiles can introduce further variations.

The way the model is populated during a simulation run depends on the 'what day of week profiles' for agents. These can be divided between weekday and weekend visits. For example, one agent may be a male stockbroker of 25-27 who never shops before 8 pm and always shops at 10:30 on a Sunday morning. A starting position for that agent might be to arrive at the shop with a list of about half a dozen items on the second Thursday of a simulation run. Although the model is essentially a generator based on existing data, it also provides information that could be used by analysts to study how behaviour is changed over the life of a simulation.

The first-phase model stimulated some business specialists to ask if the model could help to explain why congestion occurs. This exemplified the two-way process by which we plan to develop SimStore using ideas originated by business users. Modelling congestion behaviour then became the goal of the second phase of the project, which began at the end of 1997. This could also be applied to strategically important applications like assisting in the design of store layouts.

We initially built the second phase top-down, starting with a coded, visually appealing representation of the layout of a store showing the entrance, checkouts and location of various commodities. Having established this top-down view, started building bottom-up simulations based on having each customer as a separate agent and using the relevant customer segment matrix to generate the times of arrival of agents at the store. Once agents arrive at the door, we can 'let them loose' to see how they navigate through the store on the basis of their individual rules. For this application, we added simple high-level rules relating to the priority given to avoiding congestion, impulse buying and other factors that store designers might want to study.

A user can set the model to run for a specified period, during which it could display, for example, the paths taken by agents as they seek to buy the goods on their shopping list. A simulation of a four hour period in a typical store might involve the movement of many thousands of autonomous agents following their own particular set of rules. Once an agent visits a store, the likelihood of it visiting the next day is decreased. That likelihood increases over the subsequent days, like a compound interest calculation, until that agent reappears in the simulation run.

In general, the paths followed by agents are based on rational movements from one section to the next, typically starting with fresh fruit and vegetables by the door, then moving to the next nearest shelves containing items on their list, then the next nearest, and so on. We can also make use of existing information about typical lengths of time people take to purchase different kinds of commodities, such as just a few seconds for milk but much longer for wine. Deviations from mainstream rules are also allowed to mimic random human behaviour, for example to get an agent to pass an item on the shopping list by mistake and returning to it later, or to allow a customer who favours Australian red wine to occasionally buy another 'New World' wine ¾ but never a European wine.

Learning to exploit the power of complex adaptive models

Early in 1998, Sainsbury's marketing specialists began to use the second-phase SimStore prototype for studying store layout, a task for which no other modelling tool is available off-the-shelf. The prototype provides a variety of graphical and statistical information. For example, paths taken by agents through the store are shown in blue, with the thickness of the line indicating the most frequently used aisles. Red shading is employed to indicate shelf areas which are the main 'hot spots'. Figures like breakdowns of the number of customers in a particular time slot and how many of them visited more than a specified number of locations. The shopping visits made by particular agents could also be displayed on request.

Users can ask 'What if…?' questions by running the model to see the effects of changes made to the aspects being investigated, such as seeing how navigation paths and congestion are affected by innovative layouts or alterations to factors like the siting of special promotions or the percentages of people visiting a minimum number of locations. The optimum balance between different strategic high-level objectives could also be investigated in this way, say be seeing the effect of reducing congestion while allowing for more impulse purchasing in places where people pass by frequently, at the same time as seeking an even distribution of hot spots throughout the store.

Users could trigger a genetic algorithm to see what happens if, for example, the most popular route through the store is minimised or maximised, or to try to minimise the number of hot spots within ten metres of each other. The impact on customer satisfaction levels of factors like congestion or commodity unavailability could also be analysed. For instance, a 'never-substitute-Florida-juice' rule could cause the fitness function calculation of a genetic algorithm to go down and down to indicate growing dissatisfaction if the juice is unavailable on repeated visits.

We found that just leaving the software with a business analyst stimulated a great deal of interest. Its seems to be an excellent aid for analysts who start out with a hunch and want to find out where it could lead. Genetic algorithms and other intelligent techniques built into the simulation can suggest particularly valuable options which analysts might not have thought of on their own. The practical appeal of the prototypes has meant the Innovation Centre hasn't had to go out and sell the theory of complex adaptive systems; potential users have identified potential benefits themselves. This has encouraged the Centre to believe we can pursue an evolutionary process towards a range of valuable practical applications through collaborative interactions with business groups.

Future prospects

We are currently concentrating on a dynamic model that focuses on small-dimension computable aspects of a customer agent's in-store behaviour, where we can draw on extensive data to ascribe values to the rules we have defined. We are interested initially in quantifiable questions, like how important is it for an agent to always have Florida orange juice, rather than why they want that juice and what might motivate them to buy something else. At some stage, we might consider investigating more normative models that ask bigger questions about why customers behave in particular ways. In the meantime, we hope the dynamic models will provide a reasonable description of what might be driving customers.

Although our CAS models run across a time frame, the aim isn't to either forecast what will actually happen on a particular day in terms of a fairly accurate numerical value, such as the number of tubs of ice cream which will be sold next Thursday, or to make a prediction in more probabilistic terms, like saying sales will jump by a factor of 6.5 or 7 next Thursday. Gaining a better understanding of various aspects of the supermarket business is likely to be the most valuable outcome. We also hope the models might eventually be able to offer some insights into future customer demand, which would be more valuable than the sales forecasting provided by traditional statistical modelling.

We have been particularly impressed by the potential of the rule-driven, agent-based nature of CAS models. The development of agents other than customer ones will, therefore, be of central importance as our complex adaptive modelling research unfolds. Other future opportunities could include being able to associate characteristics like basket data and shopping-time frequencies with more detailed demographic profiles of customers. It might also become possible to get more precise data on the sequence in which goods are bought on a shopping trip using innovations in the use of systems which enable customers to self-scan purchases as they navigate through the store. As a store is an agent, we could also think of modelling the impact of local competition. The introduction of other agents will also obviously enable us to start exploring broader areas of the supply chain.

Such prospects could have immense business pay-offs. However, the work discussed in this report represents a very early stage of SimStore development. We haven't yet got concrete data on how useful it will be in practice, so can't make any firm statements at this stage about what the outcomes and benefits will be. Nevertheless, the substantial progress we have made in developing agents and the enthusiastic response from early users are extremely promising first steps.

References

Casti John L "Paradigms Lost" New York: Avon Books, 1990.

Casti John L "Would-be Worlds" Chichester: John Wiley & Sons, 1997.

Casti John L "Developing and Applying Complex Adaptive Models" Warwick: ESRC Business Process Resource Centre, Warwick University, 1998.

Kauffman Stuart "Origins of Order: Self-Organisation and Selection in Evolution" Oxford: Oxford University Press, 1993.

Figures - The Complexity of the Supply Chain

 

 

Share:Facebook|Twitter|LinkedIn|