Flex Analytics

The flex analytics allows you to analyze your application with the customization. As compared to the basic analytics with which you can only use some predefined metrics like the number of users and KiiObjects, the flex analytics allows you to define your own rules on the data generated by your application. By defining your rules, you will be able to analyze your application from the various point of view.


Kii Cloud flex analytics is a feature for analyzing how the number and value of application data have changed in one day. You can check the transition of any field in data as a graph on the developer portal or with your custom logic implemented in your mobile app.

Here are some examples of how you can leverage the analytics:

  • Aggregate the results of questionnaires and campaigns that are carried out continuously and evaluate the satisfaction level of users by slicing the results with some parameters like age group, gender, and interest. You will be able to evaluate how the satisfaction level of the target customers is changing.
  • Monitor the usage of mobile app features over time with graphs and determine which features you need to focus on development.
  • Monitor the transition of the game score and the passage level of the specific event with graphs and validate the balance adjustment of the game.

Note that the developer portal does not support advanced analysis functions such as automatically extracting the correlation between multiple fields and predicting future values by learning past data. Consider using Integration with an External Analytics Foundation if you need to conduct these types of analysis. You can export a portion of data stored in Kii Cloud to an external analytics foundation and start more full-scale analytics there.

Data source for analytics

Kii Cloud allows you to use app data and event data as the data source.

  • App data

    The data in a specified bucket becomes a target for the analysis. Kii Cloud acquires all KiiObjects in the bucket and aggregates the values of the specified key every 24 hours.

  • Event data

    The analysis-specific data sent from your mobile app becomes a target for the analytics. The values of the specified key in the transmitted event data are aggregated every 24 hours.

For app data, unchanged data continues to be aggregated and analyzed after the next day. For event data, the data is only aggregated and analyzed on the day when it is sent. Select these two types of data appropriately so as to match with the purpose of your analysis.

You will want, for example, to use the app data analysis if you want to analyze the daily transition of your game's "all time" high score. On the other hand, you will want to use the event data analysis if you want to check the daily transition of your game's "daily" high score.

Analytics feature

When performing the application analysis, the target data is extracted and aggregated from the data source following a rule set in the developer portal.

You can evaluate the aggregated results on the developer portal. You can also get the result as an output of the SDK and leverage the result in a different mobile app (i.g., a management tool).

When setting a rule, you will specify the target field in the data source that is to be used as the y-axis of the graph. You will also specify how you want to aggregate the field value. The available aggregation methods are: averaging the field values, summing the field values, getting the maximum value, getting the minimum value, and counting the data.

You can also set some dimensions for grouping the aggregated result. For example, suppose that we are analyzing the average temperatures from a series of JSON objects that stores a city name, weather, and temperature. By setting the city name and weather as dimensions, we can group the graph of the average temperature transition by city and by weather.

When checking the analyzed result, you can further drill down the graph by adding some filters. By applying filters, you will be able to plot only the data that has the designated values in the designated fields.

For example, the aggregated results grouped by weather in Dimension above does not tell clear characteristics of the temperature data. The figure below shows an example of applying filters for focusing on one city "Tokyo" and showing only the data with its weather "rainy" or "cloudy". As shown in the figure below, you can visually perceive the tendency that the average temperature of cloudy days (light blue) is higher than that of rainy days (green) by showing aggregated results only from rainy and cloudy days in Tokyo.

You can leverage dimensions and filters to verify the correlation between multiple field values.
In the above example, you can verify the relationship between cities and temperature and the stability of the temperature in regions. You will be able also to find the tendency like "the temperature in cloudy days tends to be higher than the one in rainy days" by keep analyzing with the graph.

To learn more...

  • See "Flex Analytics" (Android, iOS, JavaScript, REST) in the reference section to learn more about the flex analytics.

  • The application analytics is a feature for developers and application administrator. If you want to show an analysis result graph to end users, you need to implement your mobile app or a Web application by leveraging Data Management and Managing State History for IoT.