## 3 Datasets and Analyses
### Analyses of User-Location-App Associations  
We first integrate the basic statistics of the Telecom dataset. We calculate the percentage of all locations visited by each user in all locations, and plot the Cumulative Distribution Function (CDF) curve in Figure 1a. It demonstrates that the locations visited by most users only account for less than 1% of all locations, and even 80% of users have only visited less than 0.5% of all locations. In fact, we can see from Figure 1a that users have visited only 2% of locations at most. On TalkingData dataset, the sparsity is also severe, in which the places for users ever visited are less than 1% in total. Compared to all available locations, there are very few places visited by each user, thus it is difficult to provide accurate recommendations with insufficient information. In order to overcome the above challenges, we find it feasible to use app usage patterns as attributes of users and locations after analyzing the characteristics of app usage in different users and locations. To be specific, we use Jaccard distance to measure the \begin{table}
\begin{tabular}{c c c} \hline \hline  & **Telecom Dataset** & **TalkingData** \\ \hline Data Sources & Cellular network & Mobile application \\ City & Shanghai, China & Guangzhou, China \\ Time Duration & 20–26 April 2016 & 1–7 May 2016 \\ Records & 40,470,865 & 180,106 \\ Users & 10,000 & 256 \\ Locations & 11,584 & 439 \\ Apps & 1327 & 689 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Datasets and Statistics Information. Figure 1: Illustration of statistics of Telecom dataset. (**a**) Number of locations per user. (**b**) App/app category differences. (**c**) App usage in different locations. (**d**) Location differences. similarity between users from app usage frequencies and app categories, respectively. The Jaccard distance between user \(i\) and user \(j\) on app usage frequencies is denoted as \(I_{ij}^{A}\):  
\[I_{ij}^{A}=1-\frac{\left|S_{i}^{A}\cap S_{j}^{A}\right|}{\left|S_{i}^{A}\cup S_{ j}^{A}\right|},\forall i,j=1,\dots,N_{U}, \tag{1}\]  
where \(S_{i}^{A}\) and \(S_{j}^{A}\) are the sets of apps used by user \(i\) and user \(j\), respectively. \(N_{U}\) is user number. The Jaccard distance between user \(i\) and user \(j\) on app usage frequencies is denoted as \(I_{ij}^{C}\):  
\[J_{ij}^{C}=1-\frac{\left|S_{i}^{C}\cap S_{j}^{C}\right|}{\left|S_{i}^{C}\cup S _{j}^{C}\right|},\forall i,j=1,\dots,N_{U}, \tag{2}\]  
where \(S_{i}^{C}\) and \(S_{j}^{C}\) are the sets of apps categories used by user \(i\) and user \(j\), respectively. Then we plot CDFs of these two Jaccard lines as Figure 1b shows. It can be seen from the figure that there are differences in app usage behaviors of users. App usage data can also reflect the location characteristics to a large extent. As the Figure 1c shows, app usage behavior in different locations are quite different, which indicates that we can infer users' personal interests from their app usage records. We also calculate the Jaccard distance between locations based on Telecom dataset. Assuming that the app appearing in location \(i\) and location \(j\) are, respectively, \(S_{i}^{L}\) and \(S_{j}^{L}\). \(N_{L}\) is the location number. The Jaccard distance \(J_{ij}^{L}\) between two locations is as follows  
\[J_{ij}^{L}=1-\frac{\left|S_{i}^{L}\cap S_{j}^{L}\right|}{\left|S_{i}^{L}\cup S _{j}^{L}\right|},\forall i,j=1,\dots,N_{L}. \tag{3}\]  
Then the CDF of Jaccard distance between all locations is shown in the Figure 1d, which shows that the Jaccard distance exceeds 0.8 in 90% location pairs, so that we can use app records to study different users' different behavior patterns. As we analyze above, the Telecom and TalkingData dataset are both in extreme data sparsity. Thus, we make three simple hypotheses as follows:  
**Hypothesis (H1). **: _Users' interests are associated with their app usage behaviors._
**Hypothesis (H2). **: _Locations' characteristics are associated with app usage on them._
**Hypothesis (H3).