A Bayesian Approach to Income Inference in a Communication Network

by   Martin Fixman, et al.

The explosion of mobile phone communications in the last years occurs at a moment where data processing power increases exponentially. Thanks to those two changes in a global scale, the road has been opened to use mobile phone communications to generate inferences and characterizations of mobile phone users. In this work, we use the communication network, enriched by a set of users' attributes, to gain a better understanding of the demographic features of a population. Namely, we use call detail records and banking information to infer the income of each person in the graph.



There are no comments yet.


page 2


Comparison of Feature Extraction Methods and Predictors for Income Inference

Patterns of mobile phone communications, coupled with the information of...

Inference of Users Demographic Attributes based on Homophily in Communication Networks

Over the past decade, mobile phones have become prevalent in all parts o...

Mobile Phone Use as Sequential Processes: From Discrete Behaviors to Sessions of Behaviors and Trajectories of Sessions

Mobile phone use is an unfolding process by nature. In this study, it is...

Inferring land use from mobile phone activity

Understanding the spatiotemporal distribution of people within a city is...

Internal migration and mobile communication patterns among pairs with strong ties

Using large-scale call detail records of anonymised mobile phone service...

Continual Prediction of Notification Attendance with Classical and Deep Network Approaches

We investigate to what extent mobile use patterns can predict -- at the ...

Prepaid or Postpaid? That is the question. Novel Methods of Subscription Type Prediction in Mobile Phone Services

In this paper we investigate the behavioural differences between mobile ...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

In recent years, we have witnessed an exponential growth in the capacity to gather, store and manipulate massive amounts of data across a broad spectrum of disciplines: in astrophysics our capacity to gather and analyze massive datasets from astronomical observations has significantly transformed our capacity to model the dynamics of our cosmos; in sociology our capacity to track and study traits from individuals within a population of millions is allowing us to create social models at multiple scales, tracking individual and collective behavior both in space and time, with a granularity not even imagined twenty years ago.

In particular, mobile phone datasets provide a very rich view into the social interactions and the physical movements of large segments of a population. The voice calls and text messages exchanged between people, together with the call locations (recorded through cell tower usages), allow us to construct a rich social graph which can give us interesting insights on the users’ social fabric, detailing not only particular social relationships and traits, but also regular patterns of behavior both in space and time, such as their daily and weekly mobility patterns [4, 7, 9].

Demographic factors play an important role in the constitution and preservation of social links. In particular concerning their age, individuals have a tendency to establish links with others of similar age. This phenomenon is called age homophily [6], and has been verified in mobile phone communications graph [1, 8] as well as the Facebook graph [10].

Economic factors are also believed to have a determining role in both the social network’s structure and dynamics. However, there are still very few large-scale quantitative analyses on the interplay between economic status of individuals and their social network. In [5], the authors analyze the correlations between mobile phone data and banking transaction information, revealing the existence of social stratification. They also show the presence of socioeconomic homophily among the networks participants using users’ income, purchasing power and debt as indicators.

In this work, we leverage the socioeconomic homophily present in the cellular phone network to generate inferences of socioeconomic status in the communication graph. To this aim we will use the following data sources: (i) the Call Detail Records (CDRs) from an operator allow us to construct a social graph and to establish social affinities among users; (ii) banking reported income for a subset of their clients obtained from a large bank data source. We then construct an inferential algorithm that allows us to predict the socioeconomic status of users close to those for which we have banking information. To our knowledge, this is the first time both mobile phone and banking information has been integrated in this way to make inferences based on a social telecommunication graph.

Ii Data Sources

Ii-a Mobile Phone Data Source

The data used in this study consist of a set of Call Detail Records (CDRs), composed of voice calls and text messages from a telecommunication company (telco) for a 3 month period.

Every CDR contains the phone numbers of the caller and callee , which are anonymized using a cryptographic hash function for privacy reasons, the starting time , and, in the case of voice calls, the call duration . The latitude and longitude of the antenna used for each call , are also given for a subset of the data.

Given that our collection of CDRs are coming from one telephone company, we are able to reconstruct all communication links between clients of this company, as well as communications between the clients and other users, but we have no information on communications where neither users are clients of the telco company.

If we define as the number of users of the telco, and as the calls where , we create a communications graph which contains only the users from the telco, and all the calls exchanged between them.

Ii-B Banking Information

For this study we also used account balances for over 10 million clients of a bank for a period of 6 months, denoted . The data for each client contains his phone number , anonymized with the same hash function used in , and the reported income of this person over 6 months . We average these 6 values to get

, an estimate of a user’s income.

The bank also provided us with demographic information for a subset of its clients . For each user we are given the age of the user, which allows us to observe differences in the income distribution according to the age. In another line of work, homophily with respect to age has been observed and used to generate inferences [2].

Fig. 1: Distribution of income as a factor of age . This is consistent with data from median house income in the studied country [3].

Figure 1 shows the distribution of income, according to the age range (generated by taking 5 years intervals for the age). It is interesting to note how the median income increases with the age, up to the 60–65 years range (the retirement age). After 65 years old, the median income rapidly decreases.

Ii-C Bank and Telco Matching

Since the phone numbers in each call and are anonymized with the same hash function as the phone number in the bank data, , we can match users to their unique phone to create the social graph:

where denotes the inner join operator. includes income information for the subset of the social graph that appears in the bank data, so we have its phone number , its average income over 6 months , and its age . This graph has a total of nodes with edges, which represent calls and text messages.

Ii-D Outlier Filtering

The dataset contains information about bank and telco users, some of which may not directly correspond to a human user, or may not have useful information for our research. Most of the telco users in the first case are already filtered by the intersection (inner join). To make sure the users are relevant enough for this study, we only keep the users which have:

  • More than 5 calls in either direction.

  • A monthly income of at least $ (converted to US dollars).

  • A monthly income in the th percentile (i.e. we filter users with a monthly income in the top 1%).

Iii Inference Methodology

Iii-a Income Homophily

Fig. 2:

Heatmap showing the number of calls between users, according to their monthly income. There is a higher probability that the callee and the caller have similar income levels.

The main contribution of this work is the estimation of the income of the telco users for which we lack banking data, but have bank clients in their neighborhood of the network graph. To show the feasibility of this task, we first show the existence of a strong income homophily in the telco graph as is evidenced in Figure 2.

For each pair , we define as the set of incomes for callers and as the set of incomes for callees. According to what we can observe in Figure 2, and

should be significantly correlated. Given the broad non Gaussian distribution of the income’s values, we choose to use a rank-based measure of correlation which is robust to outliers. Namely we computed the

Spearman’s rank correlation to test the statistical dependence of sets and :


this coefficient gives us a correlation coefficient of

. We also compared our result with a randomized null hypothesis, where links between users are selected randomly disregarding income data, obtaining a p-value of

. These values for and show a strong indication of income homophily among users in our communication graph. This observation is consistent with the results in [5].

We can take advantage of this homophily to propagate income information to the rest of our graph , where we don’t know the income of all of the users.

Iii-B Prediction Algorithm

Instead of predicting the exact value of a user’s income, our strategy is to distinguish between only two income categories depending on their monthly income (expressed in US dollars): and , that is, users with low or high income respectively, which we place into two distinct groups depending on , the users’ income:

We define the set as the group of users having at least one connection link to bank clients. For each user , we compute the number of outgoing calls to the category . Our hypothesis, given the observed homophily, is that if a user has a higher number of calls to the category than the other category, it would be more likely to belong to the income category. In other words, a person is usually in the same income category as the majority of people it calls.

A straight forward approach would be to define the income category of a user as the category where most of its contacts belong. The problem with this approach is that it does not factor in the higher uncertainty in our estimates for users with fewer calls. To address this uncertainty, instead of using calling frequencies to define the probability of a user belonging to the high income category, we use the amount of calls

as parameters defining a Beta distribution for the probability of belonging to a given category. We have therefore taken a Bayesian rather than a frequentist approach to income prediction.

We define

as the Beta probability distribution function for each user.


where and are the parameters of the Beta distribution, and is the beta function, defined as:


Note that the above equation defines a distinct distribution for each user. Having obtained the Beta distribution for the probability of belonging to the high income category, we then find the lowest 5 percentile for this probability. If is above a given threshold , we set the user’s income to , otherwise we set his income category to . We note that this criteria takes into account both the mean and the broadness (uncertainty) of the distribution. We also note that the category assigned to a user depends not only on its Beta distribution but also on our choice of .

Iv Results

We describe in this section the validation of our methodology. We examine the true positive () and false positive () rates, and , where is the number of correctly predicted users with high income, is the total number of users with high income,

is the number of users incorrectly classified as having high income, and

is the total number of users with low income.

In Figure 3 we plot the ROC (Receiver Operating Characteristic) curve, showing and for the set of possible values of . We see that our methodology clearly outperforms random guessing (dashed straight line). We can summarize our performance by calculating the (Area Under the Curve) which in Figure 3 is . Note that random guessing would give a value of .

Fig. 3: ROC curve for prediction procedure. We observed an indicating that our predictor is better than a random predictor ().

Alternatively we can evaluate the performance of our model by computing its accuracy for a given considered threshold . The best accuracy obtained is for .

Iv-a Comparison with other inference methods

We applied two other inference methods to the same data and compared their accuracies to our Bayesian model.

  • Random selection which chooses randomly the category for each user.

  • Majority voting which decides whether a user is in the high or low income category depending on the category of the majority of its contacts. In case of a tie, the category is chosen randomly.

The accuracy of the first method is as expected , while the accuracy for majority voting is . With the Bayesian method we obtain an accuracy of .

V Extension to Multiple Categories

We present here how the methodology described in Section III for two categories can be extended to multiple categories. To this end, we separate the income values into five distinct groups of increasing wealth. A user is part of this group if its income is between the defined bounds, that is, .

The income ranges are set as follows: ; ; ; ; .

Again, we define the set as the group of users having at least one connection link to bank clients. For each user , we compute the number of outgoing calls to the category . We use the amount of calls as parameters defining a Dirichlet distribution for the probability of belonging to each category. We define below the Dirichlet probability distribution function :


where are the parameters of the Dirichlet distribution, and is the multivariate beta distribution function, defined by:


Note that the above equation defines a distinct Dirichlet distribution for each user. For each of these distributions, we computed the marginal probability functions across all different categories, which result in Beta distributed functions, and use them to get the lowest 5 percentiles () in each case which can be compared to assign a category to each user.

Fig. 4: ROC curves for multiclass problem. The performances observed are: , , , , . These predictors perform better than the random case, and have a similar performance (with exception of category 3).

In order to gain an intuition on how the classification extends to the multiple category case, we constructed for each category a binary classifier by using the computed score and a given threshold . In each case we sweep the threshold and compute the resulting ROC curves as shown in Figure 4.

We observed the performance for the different categories: , , , , . In all cases, the predictor performs better than the random case.

Vi Conclusion

This work is based on a combined data source from mobile phone records and banking information. We first showed the presence of homophily with respect to the monthly income in the communication graph, that is, users of similar income tend to communicate more with each other. Based on the evidenced homophily, we presented a methodology to infer income categories for users in the graph for which we don’t have banking information, by taking a Bayesian approach.

To classify users into income categories, we first computed the number of calls a user makes to members of the different categories, and used them to construct a Beta distribution for the probability of user to belong to the high income category. We then validated our approach by constructing the ROC curve which clearly shows that our methodology outperforms random guessing. Finally, we described how we can extend our approach to multiple categories using the Dirichlet distribution.

Our proposed inference methodology is useful for concrete applications, since it provides an estimation of socio-economic attributes of users lacking banking history, based on their communication network. We also note that this methodology is not restricted to the inference of socio-economic attributes, but is equally applicable to any attribute that exhibits significant homophily in the network.


  • [1] Joshua Blumenstock and Nathan Eagle. Mobile divides: gender, socioeconomic status, and mobile phone use in Rwanda. In Proceedings of the 4th ACM/IEEE International Conference on Information and Communication Technologies and Development, page 6. ACM, 2010.
  • [2] Jorge Brea, Javier Burroni, Minnoni Martin, and Carlos Sarraute. Harnessing mobile phone social network topology to infer users demographic attributes. In ACM SIGKDD. ACM, 2014.
  • [3] Gallup. Worldwide median house income, 2013. [Online, accessed 16-may-2016].
  • [4] Marta C Gonzalez, Cesar A Hidalgo, and Albert-Laszlo Barabasi. Understanding individual human mobility patterns. Nature, 453(7196):779–782, 2008.
  • [5] Yannick Leo, Eric Fleury, Carlos Sarraute, José Ignacio Alvarez-Hamelin, and Màrton Karsai. Socioeconomic correlations in communication networks. In Fourth conference on the Analysis of Mobile Phone Datasets (NetMob 2015), 2015.
  • [6] Miller McPherson, Lynn Smith-Lovin, and James M Cook. Birds of a feather: Homophily in social networks. Annual review of sociology, pages 415–444, 2001.
  • [7] Nicolas Ponieman, Alejo Salles, and Carlos Sarraute. Human mobility and predictability enriched by social phenomena information. In Proceedings of the 2013 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining, pages 1331–1336. ACM, 2013.
  • [8] Carlos Sarraute, Pablo Blanc, and Javier Burroni. A study of age and gender seen through mobile phone usage patterns in Mexico. In 2014 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining, pages 836–843. IEEE, 2014.
  • [9] Carlos Sarraute, Carolina Lang, Nicolas B Ponieman, and Sebastian Anapolsky. The city pulse of Buenos Aires. In Workshop Big Data & Environment, 2015.
  • [10] Johan Ugander, Brian Karrer, Lars Backstrom, and Cameron Marlow. The anatomy of the Facebook social graph. Structure, 5:6, 2011.