A New Model to Collect Customer’s Information from In-App-Purchases in Mobile Games

— Engaging customer is one of many important keys to keep an organization running. When an organization can analyze and satisfy the customer needs, they will know what to do in the future. Collecting information about customers from customer’s phone activity is a great strategy to manage the customer engagement, especially in mobile game industry. 15 percent of smartphone users have made an in-app purchase as of March 2014. This paper will explain how to get information about customers using a simple script. The script will embed in the games directly and will send information to the game server; the data will be collected and will be analyzed later. This data will be very useful to know which country has a high transaction or have 50% or more of Daily Active Users is a Paying Active Users. The company can set a promotion or other business strategy based on obtained customers information.


I. INTRODUCTION
Understanding customer experience can enhance the relationship between customer and organization, building customer loyalty, and increase the economic value of organization [1]. Purchasing a product or service is one form of customer experience that represents the mutualism relationship between customer and organization. By analyzing the customer's information (e.g., location, behavior) from any transaction done by customers, an organization can decide to propose a business strategy to satisfy their customer. Customer satisfaction should become a fundamental target of business practice [2].
The mobile application had been developed by many people. For example, mobile apps for psychology [3], leadership [4], health [5] and the most of them are for mobile games. The game itself can be used as an alternative to the educational process. Research [6] proves that an educational game able to accelerate students' performance.
In recent years, many researchers already use a mobile game as their main research topic. For example, research [7] tells about the detailed process of how to creating a mobile game. The idea of the game itself is coming from the traditional game.
A mobile game is a potential market generating revenues [8]. In this day, gaming is a new business opportunity which gives a good amount of money [9]. Per research conducted by B2C in 2014, the revenue gained from mobile app industry (including in-app purchases) is growing from $53 billion in 2012 to $143 billion in 2016 [10]. Statistic report that 15 percent of smartphone users have made an in-app purchase as of March 2014, and the revenue generated from in-app purchase approximately 7.8 billion US dollars. By accessing the in-app store, a customer can purchase any virtual goods or services to satisfy their social needs such as prestige, status, uniqueness, conformity, and self-expression [11]. In-app-purchase is also a huge opportunity for an organization to get in touch with their customer [12].
This paper tells about a new method for collecting the information about a customer from in-app-purchase in mobile games by embedding a simple algorithm into the application. That algorithm is developed to gather the information about customer whenever they make an in-apppurchase. The information gathered is user's device location and how many times a user already made a successful purchase. By analyzing that information, there is a chance that information will benefit both organization and customer. The organization can create a new business strategy (e.g., customer segmentation [13], promotion, etc.) to develop customer loyalty, experience, and satisfaction.
The rest of this paper is structured as follows. Section 2 will discuss some theory and previous works which related to this paper. The theory that will be discussed is what is mobile games, in-app-purchase, and how location-based application can be a new way of enhancing customers. Section 3 is a discussion of the new model which will be used in this paper. The model itself has two methods, and both will be described very details. Moreover, Section 3 will tell of how to analyze the data which already being collected before. The result of the research will be described it in this section. Finally, Section 4 will tell about the conclusion and about future works.

II. MATERIAL AND METHOD
Before talking about anything about our new model, it's better to know the theory or any material about this research topic. There are many types of research that already being concluded before, and some of them have high relevance with this paper.
Research [14] conduct studies to collect information through devices. To collect the data, they study some participants to simulate a real-world deployment. The participants must install a tool app, simulate, report their daily mood, and use a sleep tracking app. After that, they conducted a short semi-structured interview and asked the participants about their general experiences of using the app. They found that information collection which requires users to manually enter their data is not going to be accepted by many users unless there is a strong motivation or reward for it. This research also recommends providing a clean and open data usage policy to users that enable them to choose whether they want to use the system and remove manual user interactions where possible.
Research [15] conducts an analytical approach to measure the effectiveness of location-targeted mobile advertising. They obtained data from an Asian mobile service company that has a partnership with cinemas and sell movies ticket via mobile phones. The company promoted their movies through the location-targeted advertising, consumer behavior, and company's website. This research indicated that the mobile advertising with behavior targeting had the highest impact on company sales. This research uses the records provided by the company to divide the company's customer into two segments, "low interest" and "high interest". The result is, this research concludes that the location-targeted advertising is very effective to "high interest" group.
There is a framework that leads to direct marketing called "recency-frequency-monetary" value (RFM). A. Asllani and D. Halstead (2015) proposed a model to help organizations to design their direct marketing campaigns and introduce personalized promotions for customers. The methodology proposed was based on a goal programming (GP) by using RFM data to maximize profit gains for direct marketers. Using RFM data involves choosing customer based on customer's last purchase (recency), purchase frequency (frequency), and the value they spent (monetary value). Goal programming tries to make some models formulation for recency, frequency, and monetary value in RFM and solve it. This research has limitations, e.g., the ability of RFM framework to accurately predict future behavior and profit is still questioned because the prediction is based on historical data [16].
One of the purposes of the new method is customer engagement. An investigation has been conducted to engage customers through gamification [17]. This paper explains that gamification is not the same as other online strategies, it introduces a component of the competition. The customer engagement behaviors are described into how customers attempt to complete their tasks in-game, achievement and reward systems, an interaction between customer and customer or customer and firm. This paper also describes the outcomes given from customer engagement, such as creating a community and gaining customer loyalty. This paper finds the key components of gamification mechanism, including challenge, task and completion, achievement and rewards and win condition. Authors find that in-app purchase is one of the solutions to achieve those key components of gamification to build the customer engagement.
For the theory part, there is three-part that needed to be discussed to understand the basis of this paper. They are mobile games, in-app purchases, and location-based applications.

A. Mobile Games
The presence of smartphones which have many computer services [18], makes everyone wants to have it. This fact will give an opportunity to anyone who wants create an application or game and sell it to Application Market. This trends still hard to stop and always growing each day.
In 2015, gaming industry got around $111 billion for selling any kind of games, and one of them is a mobile game [19].With that many incomes, naturally many companies try to adapt this trends to their business.
There are three kinds of how to get income from application or games that installed in users [20]. First is users need to pay when they try to install it on their device which called "Paid apps". Second is "Ads system", users will get an advertisement when they installed the application for free [21]. The third is "In-App-Purchases", users can buy some items inside the games and that items can be used only in the games.

B. In-App Purchases
In-App Purchases is one of three-way for monetizing games. By looking at two big games market (App Store from Apple Inc. and Google Play from Google), we can find many kinds of games that can be downloaded for free. This kind of games is not 100% free because in some games there are In-App Purchases within it.
There are four types of in-app purchase items in games: Non-Consumables, Consumable, Subscription, and Auto-Renewing Subscription.
Non-Consumables is an in-app purchase type that user can buy once and that items will be permanently in user's inventory.
Consumable is an in-app purchase type that can be used by the user, and it will not remain permanently in user's inventory.
Subscription is an in-app purchase type that needs users to pay to gain access (for a limited time) to the game if they still want to play the game.
Auto-Renewing type much like Subscription type but instead of a device based, it's more like user's base. Users who pay this kind of in-app purchase can transfer it between two or more devices.

C. Location-Based Application
In recent years, there is three operating system (OS) which hold almost all device market in the world. Device OS had a similar function with computer OS. They need to be there because the OS is the one have full control of every sensors and hardware on the device. Also, the OS will act as one the bridge for the application and the hardware or sensors of the device. These three OS are Android from Google, iOS from Apple, and Windows Mobile from Windows.
Talking about a location-based application, in the deviceespecially smartphones -there is one sensor which related to the device location. That sensor is Global Positioning System (GPS) sensor. This sensor will allow OS to know where is the device location from the help of satellite which is orbiting our earth. The device locations described to OS by their latitude or longitude position. As usual, the better GPS sensors means, the better latitude or longitude accuracy of where the device is.
When an application needs to use a GPS sensor, normally it will ask for user permission. There is a chance that the application will not be able to use the GPS sensor. There is one another way to get device location. The difference from using a GPS sensor, getting device country or region didn't need any special permission. Getting device country or region requires no special device sensor to be used. It's just need take the country or region from what user already set before. Usually, users will set it when they buy the device and run it for the first time. The OS will automatically ask them to set the region or country of the device. In case user skips this process, the country or region of the device still can be obtained by detecting from device's subscriber identification module card or usually called as SIM Card.
In technical perspective, Android, iOS, or Windows Mobile provides an Application Programming Interface (API) that allows a developer to get a device region or device location. There is another research which tells us that this API not only makes the developer easier to use it but it also helps to solve a problem [22], [23].
From business point of view, this API gave an opportunity to the company to analyze which country had a high rate, medium rate, or even low rate of purchasing items trends. This opportunity can be used in games too, especially when the games have in-app purchase in it. The game company can get a very meaningful data from any users, not only when they a successful purchase, but when they start the game, their location, region, or country will able to be collected. The new method benefits mobile game organization to enhance the customer engagement and tightens the relationship with customers. It also gives the organizations opportunities to increase their customer satisfaction, which led to customer loyalty.

III. RESULT AND DISCUSSION
Before explaining the new method, it is important to know the basic concept of how mobile games able to interact with game company servers. The detail of this concept will be presented in Fig. 1. There are three main components of these concepts. These three components are very important for each other although they have a different role. These three components must be available to make this concept working as expected. These three components are user's device, an internet connection, and a server. User's device is where the games are installed and played by the user. User device will have direct contact with the user and thus makes user device will have a huge information related to that user. For a game company, that kind of information is valuable resources. As explained before, it can be one factor to be considered for maintaining user loyalty to play their games.
The second component is an internet. Internet act as a bridge between both user devices and game servers. Every data which transmitted or received to user devices will always go through this connection. Without an internet connection, it's almost impossible for user devices to give or get any information from game servers. As bad as for user device, without an internet connection, a game server can't transmit or receive any information from user's device. It makes game server existence would be useless.
The third component that needs to be used is the game server itself. Usually, a game company will have a dedicated game server to save any information related to their games. Therefore, on the game server will have a database server which installed in it. Using database is useful because it will help the game company managing their data. They can do searching, saving, editing, or even deleting data easily. It makes game company able get a valuable information by doing it.
Understanding this concept would be important because in the next chapter of this paper will always use this concept as a principal to create the new method.
Hereafter, this paper will describe what kind of data that transmitted or received in user devices. The new method will describe a new model of how to get a customer behavior when purchasing items or services from in-app purchase feature, especially from mobile games. It will use only one simple script that runs every time the game is open or any transaction being run. Moreover, this paper will tell of how saving the data process is and how to get the information from the data itself.
The data which is transmitted or received from user devices is information about device location and how many times user do successful purchase from games. Basically, our new method is how to get, how to save, and how to process the data so that kind of data can be useful information for the game company. Fig. 2 shows the workflow of the new method of how to get the device location from games. There are several important steps to know how to get an information on customer's reaction about In-App Purchase items. That steps are, getting device location, the method to send and receive user's location on the server, and detecting user's location every time they made a successful purchase. All these steps will be described in detail later.

A. Get Device Location
Getting device's location is a simple task to do in programmatic point of view. Basically, there are two kinds of the location which able to get from user's device. One gets a device location based on (GPS) location, and the other one gets a device country or region from device settings. Android, iOS, or Windows Mobile platform already prepare an API to do both.  Table I is the list of prepared API from every platform. All of them is a class which has function or member that related to the device location. Every games developer can be easily used it and get how to use it by visiting the documentation of the API itself.
Apple as a creator iOS named the API to get the device GPS location with CLLocationManager class and for getting device region or country with NSLocaleCountryCode class. Same as what Apple did, Google as a creator of Android also prepared an API to do that. They called it LocationManager class to get the device GPS location and use TelephonyManager class to get the device country or region. Windows which created Windows Mobile also create an API to do that. Geolocator class will be used to get the device GPS location and System.Globalization.RegionInfo to get the device region or device country.
The first method to get a device location is by using GPS sensor. When a game needs to use device's GPS sensor, it will ask a special permission from the user to enable it. After the GPS sensors had been enabled, then the API can work properly. Fig. 3 Pseudocode of getting device location Fig. 3 is a pseudocode of how to get device location from GPS in the device. InitPreparedAPI() is a function of the API which allows the device operating system to prepare and make sure the GPS works well. Usually, this method will return a Boolean that tells the GPS ready to be used or not. The next step is getting the device GPS location. The API will give a data in longitude degree and latitude degree of the device. The data will be saved in some variable, and later this variable will be a return value of the function. The last step is calling a ClosePreparedAPI() function. This function used for closing the connection between the games and the GPS. This is needed to be done because the GPS will not in a working state all the time. By doing this, the games will not drain the device battery.
Using GPS to get device location will guarantee to get an accurate location, but there are several limitations in getting an exact device location based on GPS. As mentioned before, using device's GPS needs special permission from users. Sometimes, the user will not allow some games to use the GPS, that will make our method to get device location will be hard to implement. The other problem is sometimes users don't want to turn on their GPS. The alternative way to get device location is by using the device region instead of using GPS.
The alternative method is much easier to implement compared to getting device GPS location. It doesn't need any special permission or any sensors to be turned on. It just obtains the information about devices country or device region set by users. Fig. 4 Pseudocode of getting device country or device region Fig. 4 is a pseudocode of how to get device country or device region. It is less complicated than getting device GPS location because this method doesn't need another sensor to get the data needed. To implement it, simply call getCountryRegion() method from the API and save it the ... } variable. Later, by calling the variable, the game will know the country or the region of the device.
Compared to the method before, this method will guarantee the data will always available and ready to take at any time. When a user buys the device, the device will always set the country or region either user set it manually, or the device will read it from the subscriber identification module card or usually called a SIM Card of the device.
Both of those methods have an advantage and a disadvantage as well. It is a good way to implement both in the mobile games. If the user disabled the GPS or don't want to give the permission to use GPS, we still get a device region or device country anyway. So, our new method is still possible to be executed.

B. Send the Information to Server
After the device location is obtained, then send the location data that we get earlier to the server. The simplest way to do it is by using JavaScript Object Notation (JSON). JSON is a very lightweight data interchange format which easier to understand by both human and computers. JSON just a text which has curly brackets "{}" as an object of things and JSON also use a square bracket "[]" as an array of objects.
The fact that JSON is a lightweight data-interchange format makes it a perfect data format to be used. It will consume a light bandwidth, and it did not cost much in user's point of view. Our new method will use JSON as data format when sending a location data and receive a response from the server.  5 shows the example of data in JSON and how data is sent to the server. The data will be an object of locations which have longitude, latitude, and a device country as a member. Longitude and latitude position will be served from GPS location, and the other one is from device's country. This data will be recorded and being analyzed in the last step of our new method.

C. In-App Purchases
One more thing to be analyzed is when the user makes a successful transaction from in-app purchase. It is very important to know the intention of in-app purchases in each country. That is valuable information for a mobile games company to prepare a business strategy in the future. Fig. 6 showing the process of how the user is buying an item from an in-app purchase of a game. There are five steps from the start until the information of the user is saved on the server. This process started with user select which item they want to buy. The game will process it and shows the user how much they need to pay. The store will ask the user to choose their payment method, and then this purchase confirmation will be sent to game servers.  6 Step by Step How User Buying an In-App Purchases Next step is validating the purchase request on the game servers. In the game servers, the purchase confirmation from users will be validated. They will be compared with the data from Store. There are two possibilities when this process is concluded, if they are not matched, then the purchase will be voided, and the game server will not send the item to the users. When they are matched, then this process will go to the next step.
The next step is the most important in our new method because this step is usually being forgotten by some game company to do. Every successful or even unsuccessful purchase by the user must be recorded. It is very important because, from that information alone, the game company can analyze what to do in the future. This step called a confirmation step.
The confirmation step is the last step of how buying an item from in-app purchase. In this step, game server and user device will do their last confirmation step before the user gets their item. If game server detected that the purchasing request from the user is valid, then the game server will send a JSON that tells the purchase process is successful. The example of the JSON can be seen in Fig. 7. While sending the JSON to user's device, the game server also sends the purchased item. User device will response it by updating user's game with the received item. Also, the game will update their user device information. Basically, the code is pretty like get a location or a country/region device. In this part, the game will add a new member in JSON that already sent before. The JSON object will be the same as Fig. 5, but this part needs to add "success_purchase" as a new member. The new JSON user device information can be seen in Fig. 8. "longitude":"113.9213E", "latitude":"0.7893S", "country":"ID", "success_purchase":1 } A "success_purchase" is the purchases frequency made by users in in-app purchase. It constantly increases every time user makes a purchase.

D. Analyzing Collected Data
The last step of our method is to analyze every country which already registered in the server. Just simply count every country which comes up to the server and writes it to the table. Fig. 9 shows the data stored on the server. The server will receive all the JSON details of every device location. After getting it, the server will compile the data by merging all of it into one JSON. They will be separated by a comma (,) and makes the JSON looks like an array. By doing it, it will be easier to a game company to work with it.
This example shows there are ten devices that recorded on the server. The devices are having ten different countries and different amount of "success_purchase" variable too. In some cases, "success_purchase" never appear in the data, like in the data number five. The users who known located in Vietnam didn't have variable "success_purchase" on the server. That means this user is never making any successful purchase before while he still playing the game regularly.
By looking through of all country that appears on the JSON, the game company able to know how many players are installing and playing the game. More of that, the game company will also know how many users are a Paying Active Users (PAU) or just a Daily Active Users (DAU). DAU is users who install the games, using it regularly, but never buy any in-app items in the game. PAU is users who install the games, play it regularly, and also have made an in-app purchase at least once. Table II is an example of how the collected data are presented. The users will be counted one by one until finding the exact number of how many users are installing and playing the game in every country. After that, the users in every country will be divided into two groups, which is DAU and PAU.
Knowing how many DAU and PAU in each country can be a key factor to consider which country will get a promo, special event, or anything that can raise user interest that will lead to user engagement.

PAU Percentage=
Getting PAU percentage from all DAU can be obtained using equation (1). It can be obtained by dividing the total amount of PAU with the total number of DAU. Then multiply it with 100, and the result is a percentage of PAU in the specified country. This percentage of PAU can be a crucial factor as this value can be determined of how the game company should do in the future. Detailed of how the company should do with this value will be explained later.
This chart will help the game company to decide what to do about their game to maintain or increase the PAU from all the DAU. Ideally, more PAU in all DAU is better because it means the game gives more income for the company.

IV. CONCLUSIONS
With our new method to get region or location from any smartphones device will help any games company to determine which country had a high rate, medium rate, or low rate of purchasing in-app purchase. It will give the games company opportunity to maintain the loyalty of their customer. They can do it by making a promo in the selected country, making some event in games by location, and anything to get customer loyalty. The new method also can be used as a tool to enhance customer engagement for organizations.
For future works, instead of user's location only, user's time purchasing, a user's purchasing behavior, or highest selling items will be considerate as a new variable to decide for gaining the loyalty of customers.
Moreover, because our new method relies on internet connection, it will be a good idea to maintain the security of it. This is also can be an interesting topic to be discussed in the future.