cellular tower locations, but those results are not presented in this paper.

Once we have generated trips for each user for each day, this data set is stored and is later used as the main input in generating various OD flow outputs which vary mainly by trip _time specification_ and _travel zones_ . For instance, for some purposes, we may require trips taken during the morning commute hours (for example, between 7AM and 10AM) and set the travel zone to cellular tower or _chieftainship_ , which is a fourth–level administrative unit in SL. Given these parameters, we generate an OD matrix where each cell value represents the number of trips from Origin (O) to destination (D) by aggregating trips with the same OD pairs. This process can be easily repeated for different settings of travel zone and trip time parameters.

In addition to OD flows, we also generate _individual mobility characteristics_ as follows: radius of gyration ( _Rg_ ), average number of trips taken per day, and average trip distance. When processing the data, we also assign each user a home cellular tower. This information is useful for some of the analysis we do later on. The procedure we use to detect a user’s home is based on frequency of calls in the hours of the day we consider as home hours.

# **Validation and Adjustments**

In traditional household surveys, study participants are carefully selected using robust statistical sampling techniques to ensure that the results are representative of the whole population. Thus, once the data are analyzed, there is very little validation and adjustments on the data before they can be used. In contrast, CDR data are an example of what is usually referred to _opportunistic data_ , which are the kind of data that are collected for a purpose other than that intended for the analysis. In this case, CDRs are collected by MNOs for billing purposes, among other things. Because of this, it is imperative that the outputs generated from these data be subjected to validations and/or adjustments before being put into use. This is to ensure that the results from the analysis of CDRs do in fact match up with the reality on the ground.

In order to ensure that there is no confusion, we explicitly define _validation or evaluation_ here as follows: the process of assessing correctness of outputs (for example, models, indicators, and so on) generated from CDR data as with reference to specified ground truth data. For instance, in order to validate OD flows generated from CDR data, we may compare them with OD flows generated from surveys or manually collected by a human, and then measure the difference. For some use cases, this validation may be enough. However, for other use cases, we may also need to adjust the outputs in order to make them usable for policy. In our OD flows example, we know that the trip counts generated from CDRs represent the subscribers of an MNO or a set of MNOs and not necessarily the actual population. Therefore, to get realistic trip counts, we need to _adjust_ the trip counts from CDRs using actual population data. In figure 6, we provide an overview of the key components in the validation and adjustment framework. In most cases, outputs generated from CDR data sets need to be validated even with very simple strategies. For instance, subscriber population can be compared with actual population by running correlations. While this validation may be enough for some use cases, adjustments may be required for other cases.

11