Best practices for mobile data statistics and analysis

Akiko: A push
iOS

Senior R&D engineer small bag

preface

With the rapid development of the mobile Internet market, the previous era of rough operation has become a thing of the past. Environment changes, also led to move the data statistical analysis in product research and development, decision-making and operation are playing a more and more important role, become a hot word “refinement operation time, from large to entrepreneurial teams, both self-built data statistics system and with the aid of a third party, the market for a simple and easy to use, stable and reliable data statistics scheme needs never attenuation.

challenge

Product operators urgently need more detailed, multidimensional mobile data and expect it to be presented in an intuitive and clear way. If the self-built application data statistics system, it is indispensable for the cooperation and assistance of various parties: developers need to make some efforts in data acquisition, especially for the statistical needs of unburied points; Data personnel need to undertake the arduous task of massive data analysis. Some small teams lack positions related to data, so they have to entrust this work to students on the server side, but the latter lack experience and ability of big data analysis, so it is difficult to ensure the quality of analysis.

Therefore, IN my opinion, when the resources of the team are limited, we can consider seeking professional third-party solutions, which can not only save the r&d students from racking their brains for constantly changing data statistical needs, but also enable the product operation colleagues to extract more professional data results.

Statistical analysis of data

In the past, mobile data came from apps on two major systems: iOS apps and Android apps. Recently, the top ten manufacturers are vigorously promoting fast applications based on the Android platform (https://www.quickapp.cn/). Fast applications are also developing rapidly and are expected to become the third pole of the application market. Therefore, data statistics at the present stage should cover three kinds of application statistics objects, namely, iOS apps, Android apps and fast apps.

On the market at present the mainstream of mobile terminal statistics class SDK, launched only a product of the application of statistics [number] (http://docs.getui.com/geshu/start/ios/) to support the three kinds of applied statistics. Although different platforms have different ways of accessing SDK, the objects of data analysis are the same. This paper takes the connection and use of iOS SDK as an example to share the best practices of mobile terminal data statistical analysis and some thoughts of my own.

Mobile terminal data statistical analysis is mainly divided into two parts, namely, data induction and visual display.

Data statistics

Number of iOS SDK integration tutorial can view: integrated iOS SDK documentation (http://docs.getui.com/geshu/start/ios/), go into specific integration process in this paper.

Mobile data can be divided into two parts:

One part is basic application data, such as new users, active users, startup times, and active duration. Often the base data is also the most intuitive indicator of an app’s overall active quality, so accuracy is critical. This data can be automatically recorded and reported by the SDK after the SDK is integrated and started.

#import ‘GTCountSDK.h’

#define kGcAppId @”xxxxxxx”

@implementation AppDelegate

– (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

//

Start the number of SDKS to automatically collect basic application data

[GTCountSDK startSDKWithAppId:kGcAppId withChannelId:@”appstore”];

return YES;

}x

The other is fine-grained page data, event data, and counting statistical events.

In the number SDK, the accurate statistics of pages can be realized based on the scheme of no buried point. For the applications integrating the number of SDK, the number will count the startup times and active duration of relevant pages, which effectively solves the pain points of traditional manual burying points and realizes the automation of the process.

Event statistics and count statistics can calculate the occurrence time and times of some user-defined buried points, such as the number of advertisement clicks and SMS messages, with high autonomy:

(1) Count statistics: count the number of times the specified behavior is triggered.

(2) Duration statistics: statistics of the time consumed by the specified behavior, in seconds; The eventBegin and eventEnd interfaces must be used in pairs to take effect. By calling the API interface of the SDK, the developer can easily conduct statistical work, for example, in a certain section whose ID is

‘MUSIC001’ music playback start and end position buried points:

-(void) musicStart{

//

To count correctly, make sure that the self.eventProperty memory address for the start and end interfaces is the same.

self.eventProperty = @{@”key”:@”value1″};

[GTCountSDK trackCustomKeyValueEventBegin:@”music001″ withArgs:self.eventProperty];

}

– (void) musicStop{

[GTCountSDK trackCustomKeyValueEventEnd:@”music001″ withArgs:self.eventProperty];

}

Or counting a certain

Number of clicks on the purchase button of the product with ID ‘GOOds001’ :

– (IBAction) buyButtonClick:(id)sender {

[GTCountSDK trackCountEvent:@”goods001″ withArgs:@{@”cKey1″:@”cValue1″}];

}

With the corresponding data, in order to deal with various problems caused by different network environments, it is also very important to improve the data caching and reporting mechanism. Therefore, we need to set a data reporting strategy that conforms to the current network environment and optimizes user experience. The SDK uses a variety of reporting strategies, which are suitable for various network environments:

The default value is’ GESHU_STRATEGY_PERIOD ‘, and the period is 60 minutes.

| | number strategy name | |

| : — — — — — — — — — — — — – | : — — — — — — — — — — — — – | : — — — — — — — — — — — — – |

| 1 | ` GESHU_STRATEGY_REAL_TIME ` | real-time, app to produce a message will be sent to the server. |

| 2 | ` GESHU_STRATEGY_WIFI_ONLY ` | in wifi state to send, only not wifi situation to the local cache. |

| 3 | ` GESHU_STRATEGY_BATCH ` | batch sent, by default, when the number of messages to 32 send again. |

| | 4 ` GESHU_STRATEGY_LAUNCH_ONLY ` | only when it starts to send, the produced all the data sent in next startup. |

| | 5 ` GESHU_STRATEGY_PERIOD ` | intervals for a period of time to send, every once in a while a one-time send to the server. |

Considering the low cost of data reporting in a WIFI network environment, the real-time report policy (intelligent report mode) is adopted by default in a WIFI network environment. To turn this policy off, call the following interface to turn it off:

/ * *

Intelligent report After this function is enabled, the device will report in real time when it is connected to WIFI. Otherwise, intelligent report based on the global policy is enabled by default

* /

@property (nonatomic, assign)BOOL smartReporting;

You are advised to use the default intelligent report

+

Periodic report mode: The real-time report policy is used in WIFI environments and the periodic report policy is used in non-wifi environments. In this combination mode, the consolidated data can be reported in real time without consuming user traffic, so that the background can see the latest analysis results in the first time. Of course, users can selectively optimize the combination of data reporting policies based on their product features to meet actual data reporting requirements.

Data analysis display

After obtaining the data, the next part is the most troublesome big data analysis, but using the number SDK
With years of experience in big data research and development accumulated behind it, product operation students now only need to open the number of background, you can see all the data analysis results of the application (students who want to experience the first can log in the background [view the demo
The DEMO] (https://dev.getui.com/geshu_n/#/vitalityStatistics/current)) :

! [](img/demo.jpg)

The statistical part includes active statistics, component statistics, page statistics, channel statistics and event statistics. Such multi-dimensional refined data analysis and display can effectively help product operation save time and fully understand the actual operation of the product.

conclusion

IOS was used in the mobile terminal research and development practice part of this paper
Application data analysis to illustrate, other platforms can also refer to the analogy. Overall, the number of products and operations that can be used
The SDK automates the processing of application base data as well as page statistics, and then uses more autonomous custom timing and counting event burying points based on the actual needs of the project. The selection of data report policies depends on specific scenarios. You are advised to use the default combination mode of intelligent report and periodic report.