The Smart Shopping List for grocery list-creation process

The Smart Shopping List for grocery list-creation process

Abstract— Grocery Shopping is considered a tedious and less interesting task by many yet a decisive activity to be undertaken as it is a vital part in human lifestyle. Simple techniques are used in assisting to carry out these activities, some of them being taking down the items to be purchased on a paper or on the mobile device or most commonly creating a mental list. This research introduces ‘The Smart Shopping List’, a mobile software solution which enables the users to perform their grocery shopping experience with the ease of overcoming the above complications. The Application consists of several modules; Interactive Shopping List where the user can add/remove/cross items, Shop Locator which assist the user to find the ideal supermarket to go to so that most of the items can be bought in one place, Items Recommender powered with Apriori algorithm to remind the user of any possible missing items or items he may be interested in and ‘BringMe!’, which is a text-to-app feature to share the shopping lists between the users. View More Upon the implementation, it was observed that very healthy results were developed from the data mining algorithm from the correlated data, as well as strong usability feedback given by the users showcasing 82% of beta users being benefited from the solution. Above discussed context has been a strong background which reasons for ‘The Smart Shopping List’ to become a challenging project and as a novel concept not only the in the field of Social lifestyle but also in terms of Data Mining, Geo-Location and mobile technology as well. Keywords— list-creation process; geolocation services; data mining; apriori algorithm; mobile technology; usability


Grocery shopping and human lifestyle has always been an interesting domain basis for many researches as the importance has significantly arisen over the past several decades to unveil the correlation between the human behavioral patterns and sales. Some statistical studies are based on data for a specific region while others discuss about concept in a broader magnitude. These behavioral analyses reveal fascinating facts which are useful information to identify process oriented requirements and possible improvements which can be made to enrich the user experience.

A.Family household and Grocery Store A survey has been conducted by Bassett R., Beagan B. and Chapman G. observing the connection between family household and grocery store [8]. They discuss about how women are more involved in a grocery shopping process and how shopping lists mask a host of activities and tasks that are undervalued because they are unseen and unrecognized. Their findings include that most of the families create a shopping list while over half of them wrote a list and took it with them on their grocery trips, and some individuals maintain a mental list instead of a physical list. There were also a set which made use of a combination of a written list and a mental list and also a set of non-list members. B.Grocery Shopping Trends in the U.S. A very statistical group of analysis have been made by the joint effort of Hartman Group and FMI (Food Marketing Institute) on the grocery shopping trends in the United States. One of their recent report, ‘U.S. Grocery Shopping Trends 2014 Overview’ provides key insights on American grocery shopping behavior which most of them can be applied in a global scale [9]. The survey indicates that the shoppers are becoming less likely to choose any one store to satisfy all their needs. Shoppers are optimizing their satisfaction store by store and by department. This is a strong point which hints out of a clear deviation from the ‘primary store’ concept which had been the de facto for last few decades. Shoppers now are considering different options to carry out their grocery shopping rather than sticking to one go-to store. Having a mechanism to find new stores nearby would greatly help the shoppers and improve the quality of the process as well. It further finds that women are the major part of the household grocery shopping but men are actively engaged in the process as well. The study further converses shoppers grocery list making habits. While many shoppers build shopping lists, it was evident that the young adult shoppers wait until the last minute to build their grocery lists. This information clearly demonstrates that if a grocery shopping assisting solution is to be implemented, accessibility and efficiency have to be thoroughly considered as its core feature. If a shopper was to create a shopping list in the last minute and the suggested software application does not allow them to perform their tasks quickly and efficiently with a very accessible manner, the likelihood of the proposed solution becoming successful is slim. It was also explored by the same study that Millennials (or Gen Y) would not only make a grocery list in the last minute but also are not particularly interested in relying on a fixed set of list items. For younger generations in particular, planning for a shopping trip is much more likely to be about building a meal or other eating occasion rather than stocking up the pantry with a list of basics and trusted items that a meal can be built from later. Hence it was apparent that they are willing to broaden their grocery criteria with a variety of items as long as they are useful to their needs. Item suggestion or recommendation assisting method would certainly help in a case similar to this. C.Cost vs Quality Another study by Arnaud, A. and the team, also shares a similar proposition in terms of the shopping behavior of the millennials [10]. Their study reveals that the Gen Y prefers to buy cheaper items but is willing to pay for fresh and quality items. This explains that most individuals may be interested in good deals or promotions available at the store. Arnaud further explains his findings on the reasons as for why millennials would use a shopping list. Just to name a few; to save time in the store, to save as memory aids, to control the expenditure and as a goal achievement purpose.


The Smart Shopping List is designed to properly address the existing problems individuals go through during their grocery shopping process. It will be an android mobile software solution powered by Apriori algorithm and geolocation services. A.Top Level Architecture The proposed solution is broken into two parts: a client-side Android application and a server-side PHP application with MySQL database. The application can further be put into 2 parts: The functional component (written in Java language) and GUI component (written in XML). The functional part consists of four major components: My List which list management functions are carries out, Mapper where the geolocation services are provided, Item suggestions which is data mining module powered with Apriori algorithm to produce item recommendations and BringMe! Which is a text-to-app feature which enable users to share the shopping lists with others via SMS messages (Fig. 1). The server component of the Smart Shopping List is incorporated of a PHP interface, which manages incoming and outgoing messages and mainly runs the Apriori algorithm, and a MySQL database, which provides centralized storage for application data. The server application receives data from the Android application. This data is then stored in the database and be retrieved upon user’s requests. B. Item Suggestion Module (Association Rule Mining) This module is part at the client side and other is in the server. The primary function of this component is to analyses historic data and identify association patterns to produce item recommendations. This module processes the following types of historic data for pattern recognition as per the Fig 2. •User’s created list content. •User’s previous sales data. •Overall Sales data. C.Mapper Mapper component, namely ‘Find a store’ is responsible for providing geolocation and navigational requirements of the Smart Shopping List. This module captures the users’ current location with their permission and displays an interactive map component having their location in the center. Moreover it displays the nearby supermarkets with the standard icons. Apart from that if there are any supermarkets which are registered with the system that are within the vicinity, they are also displayed in a distinct marker with the total number of items which are available in their stores from the items which are present in the user created list. Users further can select a registered supermarket to see the item availability and verify the purchased items against the items in the list. Additionally the ongoing deals and promotions of that particular shop can be navigated to as well from the same window to the mobile web browser. D.BringME! BringMe! is a text-to-app feature which allows the users to share their shopping lists via SMS services. An individual may send the Smart Shopping List user a text message in an application friendly format, which the application would read and extract the content and generate the shopping list. The format of the text message is defined as follows’, <BRINGME>Milk,Tea,potatoes,pork ribs Text starts with a tag <BRINGME>, then the user can include the items needed separated by a comma ‘,’. The person who sends the text may not be a Smart Shopping List user let alone a smartphone user. E.Basic Flow Having the components identified, it is important to understand the basic flow of the system. Below Fig 3 sums up all the roles of the components and the activities which can be carried out by the users using those components. F.Further Implementation Notes Several value adding architectural level practices were followed during the implementation of the Smart Shopping List. 1)Use of Fragments: Instead of a view based design, fragments are used as they offer backstack and lifecycle features. Using fragments the current status of the application can be saved and recreated in a later stage. This allows the application to function seamlessly even after the application is minimized, closed or even the device is rebooted. 2)Minimize Data Transmission: Additionally significant attention had been given in minimizing the data transfer between the mobile device and the server. A good example would be implementing the item suggestion module at the backend. 3)Use of JSON: In addition JSON is used to transfer data between the server and the application because it is smaller, faster and lightweight compared to XML. Also JSON can be mapped more easily into an object oriented system. 4)Soft Deletion of Data: ‘IsActive’ ghost boolean field was introduced to every data table. This can be set to true/false to enable/disable the record, without physically deleting the record from the data table.