scispace - formally typeset
Open AccessProceedings ArticleDOI

Recommending Social Events from Mobile Phone Location Data

Reads0
Chats0
TLDR
A study of the relationship between preferences for social events and geography, the first of its kind in a large metropolitan area, finds that the most effective algorithm recommends events that are popular among residents of an area, while the least effective recommendsEvents that are geographically close to the area, has interesting implications for location-based services that emphasize recommending nearby events.
Abstract
A city offers thousands of social events a day, and it is difficult for dwellers to make choices. The combination of mobile phones and recommender systems can change the way one deals with such abundance. Mobile phones with positioning technology are now widely available, making it easy for people to broadcast their whereabouts, recommender systems can now identify patterns in people’s movements in order to, for example, recommend events. To do so, the system relies on having mobile users who share their attendance at a large number of social events: cold-start users, who have no location history, cannot receive recommendations. We set out to address the mobile cold-start problem by answering the following research question: how can social events be recommended to a cold-start user based only on his home location? To answer this question, we carry out a study of the relationship between preferences for social events and geography, the first of its kind in a large metropolitan area. We sample location estimations of one million mobile phone users in Greater Boston, combine the sample with social events in the same area, and infer the social events attended by 2,519 residents. Upon this data, we test a variety of algorithms for recommending social events. We find that the most effective algorithm recommends events that are popular among residents of an area. The least effective, instead, recommends events that are geographically close to the area. This last result has interesting implications for location-based services that emphasize recommending nearby events.

read more

Content maybe subject to copyright    Report

Recommending Social Events from Mobile Phone Location Data
Daniele Quercia
§
Neal Lathia
Francesco Calabrese
Giusy Di Lorenzo
Jon Crowcroft
§
§
University of Cambridge
Massachusetts Institute of Technology
University College London
Abstract—A city offers thousands of social events a day, and
it is difficult for dwellers to make choices. The combination of
mobile phones and recommender systems can change the way
one deals with such abundance. Mobile phones with positioning
technology are now widely available, making it easy for people
to broadcast their whereabouts; recommender systems can
now identify patterns in people’s movements in order to, for
example, recommend events. To do so, the system relies on
having mobile users who share their attendance at a large
number of social events: cold-start users, who have no location
history, cannot receive recommendations. We set out to address
the mobile cold-start problem by answering the following
research question: how can social events be recommended to
a cold-start user based only on his home location?
To answer this question, we carry out a study of the rela-
tionship between preferences for social events and geography,
the first of its kind in a large metropolitan area. We sample
location estimations of one million mobile phone users in
Greater Boston, combine the sample with social events in
the same area, and infer the social events attended by 2,519
residents. Upon this data, we test a variety of algorithms for
recommending social events. We find that the most effective
algorithm recommends events that are popular among residents
of an area. The least effective, instead, recommends events
that are geographically close to the area. This last result
has interesting implications for location-based services that
emphasize recommending nearby events.
Keywords-mobile, recommender systems, web 2.0
I. INTRODUCTION
The ability for mobile phones to provide ubiquitous
connectivity and access to information place them amongst
the most rapidly growing technologies in the world; in
fact, in 2004 mobile phone sales substantially surpassed
the number of personal computers sold [7]. The increase
of mobile phones equipped with location-sensing technol-
ogy and enabled to elicit user experiences [8] presents a
valuable opportunity: recommender systems can no longer
merely support users tackling information overload online,
but can now be applied to aide users’ decision making in a
variety of offline contexts as well. Mobile-web portals, like
Rummble.com, already allow users to tag, rate, and describe
locations as they visit them, in order to aide the discovery
of unknown locations of interest. Similarly, users’ location
history can be mined in order to provide personalized
recommendations for social events as they occur in the
surrounding areas.
Liberating recommender systems from web-based scenar-
ios, though, recasts well known problems into new, unex-
plored domains. How can social events be recommended to
a user who has no location history? The cold-start problem
[13] has received ample attention in web recommender
systems, but less so for mobile equivalents.
We set out to investigate the possibility of recommending
social events to cold-start users based only on input that is
indirectly generated when they carry their mobile phones.
In particular, we explore the extent that effective recom-
mendations can be computed if users were to only disclose
their home locations. To do so, we combine two datasets:
the first includes location estimates of one million mobile
phone users in the Greater Boston area, and the second lists
large-scale social events that occurred throughout the same
area as the users’ locations were logged. By analyzing the
two sets of data, we make three main contributions: (1) We
infer where 80,000 mobile users live and the social events
that have been likely attended by 2,519 users (Section II);
(2) We use the relation between home locations and event
attendances to recommend social events using six different
algorithms (Section III); (3) We evaluate the effectiveness
of these algorithms in ranking events (Section IV). Our goal
is not algorithmic (we do not propose any new algorithm)
but is experimental. We study the individual factors (e.g.,
geographic distance, event popularity in area of residence)
that may explain why people attend certain social events.
From our results, we draw the following preliminary con-
clusions: (1) The most effective choice of events is to
recommend those that are popular among residents of the
area. This result reflects theories that claim that people have
a disposition to geographically cluster with others who are
like-minded [5]: for the first time, we provide empirical
evidence that those theories hold at metropolitan level; (2)
The least effective way is to recommend events that happen
to be geographically close to the area of residence. This
suggests that location-based services may currently place too
much emphasis on recommending nearby events.
II. INFERENCES FROM MOBILITY AND
EVENT DATA
We used two sources of data. The first consists of location
estimates of mobile phone users in the Greater Boston area.
The second is the list of social events in the same area during
the period of our study. By combing the two sources, we are
able to determine where city dwellers live and go, and which
social events they have likely attended.
Where City Dwellers Live and Go. From Airsage Inc.
(a company that analyzes mobile location data to offer

traffic congestion solutions), we obtained estimates of the
locations of 1 million mobile phone users in the Greater
Boston area (20% of the entire population) for one and half
months during the summer of 2009. To make our analysis
computationally tractable, we sample 80,000 users using
a stratified sampling with proportional allocation across
zipcodes. We then extract individuals trips (trajectories) for
those users and infer where the users stop during the day
(as detailed [6]).
Which Social Events They Attend. We crawled the
“Boston Globe Calendar” website
1
to extract the social
events that took place during our period of study, we divided
the 15km
2
area of Greater Boston in geographic cells of
500 x 500m, and we placed the events and user stops in the
corresponding cells. By intersecting stops and social events
across cells, we are able to determine which social events
have been attended by whom. To reduce false positives, we
apply two filtering rules: 1) we only consider events that are
geographically “unique” (no other big event is taking place
within the radius of 1 km at the same time); 2) we consider
only people who both stay in an event location for at least
70% of the event duration and live somewhere else. These
filtering rules reduce our dataset (the number of social events
goes from 500 to 53 and the number of mobile users goes
from 80,000 to 2,519), but it also makes sure that we will
work upon correct inferences with high probability.
Combined Dataset. Our resulting data can be represented as
a 2,519 by 53 binary user-event attendance matrix; an entry
in position (i, j) of this matrix represents whether user i
attended event j. The combined dataset is 97.3% sparse. In
other words, there are many user-event pairs that we have no
knowledge about (the entries in the matrix are thus zero), and
we will see how two algorithms perform on such a sparse
matrix (Section IV-C). For now, we only need a means of
computing recommendations for cold-start users who have
only input their home locations. We therefore clustered the
2,519 users according to their inferred postcode, producing
49 unique groups. We then merged each group’s profiles;
from these, we are able to construct a 49 x 53 home location-
event attendance matrix m. An entry in position (i, j) of this
matrix represents how many users from location i attended
event j (it is therefore no longer a binary matrix). A key
advantage of this reduction is that our matrix is only 50.5%
sparse; in the following section, we introduce algorithms
to predict attendance and rank events that will operate on
this small location-event matrix. Since we know where users
live and where the events took place, we also have access to
information regarding the distance between location i and
event j.
1
http://calendar.boston.com/
III. RECOMMENDING SOCIAL EVENTS
From our analysis of the mobile phone data, we know
which social events residents of an area have attended, and
we are now able to recommend social events. We do so in
six different ways:
(1) Popular events. The simplest way for recommending
social events is to recommend the most attended ones in
Greater Boston. More formally, dscore
i,j
, or prediction that
users who live in location i will attend event j is proportional
to the number of users who have attended event j:
dscore
i,j
=
X
i
m
i,j
(1)
For ranking purposes, what matters is not the score itself
but how the score compares to another. That is also true for
the remaining ways of recommending events.
(2) Geographically close events. An alternative way is to
recommend events that are close to the area of residence. In
other words, the prediction that users who live in location i
will attend event j is inversely proportion to the geographic
distance between event j and location i:
dscore
i,j
=
1
distance(i, j)
(2)
(3) Popular events in area. We also recommend, to every
area’s residents, the most popular events among the residents
of the area. The prediction is proportional to the number of
users who live in location i and have attended event j:
dscore
i,j
= m
i,j
(3)
(4) Term Frequency-Inverse Document Frequency. One
could also identify events that are not necessarily popular
in general but are popular among residents of the area.
TF-IDF (Term Frequency-Inverse Document Frequency) is
a widely-used approach in the literature of Information
Retrieval [3] that would do just that. To paraphrase this
approach in our context, we assign a higher score to social
events that are highly popular in a particular location and that
may not be necessarily popular in the remaining locations.
The assumption is that the more unique an event is for
a location, the more representative the event is for that
location. Using TF-IDF , we learn that each location has
its own predominant category. For example, residents of the
suburban area of Belmont (“MA 02478”) tend to attend
family events, while residents of the central area of Boston
Park Street (“MA 02108”’) tend to attend music events.
TF-IDF is the product of two quantities T F and IDF .
The term frequency (TF) is a count of how often event
j has been attended by residents in location i (it is what
we called m
i,j
). This count is then normalized to prevent
a bias towards locations whose residents have attended a

disproportionate number of social events: tf
i,j
=
m
i,j
P
k
m
i,k
.
However, to find less-attended events, we have to be
more discriminating. This is the motivation behind inverse
document frequency. IDF aims to boost events that are less
frequent. If r is the number of locations, and r
j
is the
number of locations from which event j is attended, then
IDF is computed as follows: idf
j
= log(
r
r
j
). If attendees
at event j come from every location, then r = r
j
and its
IDF is log(1) which is 0. The problem is that, in our case,
IDF is likely to be 0 - we always find at least one resident
in every location who has attended event j. That is why
we modify the measure in a way similar to what Ahren
et al.s did [1]. We define the inverse frequency to be the
inverse of the number of times event j has been attended:
idf
0
j
= log
P
p
P
q
m
p,q
P
q
m
q,j
. The more popular event j, the lower
idf
0
j
.
Finally, TF-IDF is the prediction that users who live in
location i will attend event j ( dscore
i,j
):
dscore
i,j
= tf
i,j
× idf
0
j
(4)
The idea is that a location has high dscore
i,j
for the events
attended more often by its residents (high tf
i,j
), discounting
for those events that are attended by residents in (almost) ev-
ery location since they are useless as discriminators (events
that have low idf
0
j
).
Another widely adopted approach when performing col-
laborative filtering is the k-Nearest Neighbor algorithm [9].
The algorithm is traditionally decomposed into the user-
and item-based approaches, depending on whether neighbors
are being computed for the system users or items. Our
data, however, does not contain individual users; instead,
it aggregates the event attendances of many users who live
in the same location into a single profile. The “items” in our
context are events. We thus refer to the user-based approach
as k-Nearest Locations and the item-based alternative as k-
Nearest Events.
Both flavors of the k-NN algorithm predict the extent that
people living in location i will attend event j ( dscore
i,j
).
They do so by first computing a set of similar neighbors.
We compute the similarity between locations and events
on a normalized location-event matrix N, whose elements
are n
i,j
=
m
i,j
X
j
m
i,j
. The normalization ensures that all
matrix values will now be in the range [0, 1] and can be
interpreted as the proportion of the number of times people
from location i attend event j; we found that this process
produces more reliable neighborhoods and improves the
results. From the variety of available similarity measures,
we selected and used the weighted cosine similarity [2].
(5) The k-Nearest Locations works by finding the top-k
most similar locations to the one where the user lives. The
similarity (sim(i, k)) between location i and location k is
computed as:
sim(i, k) =
P
e
(n
i,e
· n
k,e
)
q
P
e
(n
2
i,e
)
q
P
e
(n
2
k,e
)
2N
ik
N
i
+ N
k
The similarity shared between the two locations i and k is
weighted according to the number of events N
i
that users
living in location i have attended (i.e., n
i,j
is non-zero), and
to the number of events N
ik
that users living in i or users
living in k have attended. The prediction dscore
i,j
given to
an event j for a user who lives in location i is computed
as the similarity-weighted average of the similar locations’
values:
dscore
i,j
=
P
k
n
k,j
× sim(i, k)
P
k
sim(i, k)
(5)
(6) The k-Nearest Events. The second approach, instead,
works by finding the top-k most similar events to the one
that we are trying to predict. The prediction dscore
i,j
given to
an event j for a user who lives in location i is computed as
the similarity-weighted average of the similar events’ values:
dscore
i,j
=
P
q
n
i,q
× sim(j, q)
P
q
sim(j, q)
(6)
where the similarity between events j and q (sim(j, q)) is,
as above, the weighted cosine similarity.
IV. EVALUATION
The goal of our analysis is to ascertain the extent to
which one is able to recommend social events upon location
information derived from mobile phone data. To this end, we
need to consider a situation in which one generates for each
user an ordered list of social events and then measures the
quality of the newly produced list.
A. Metric for Recommendation Quality
Traditionally, collaborative filtering methods are evaluated
based on the error between predicted and actual ratings that
users input for items. Error-based metrics are not appropriate
for our scenario: we are not after what the predicted value
is for an event; instead, we are interested in whether the
ranking that is produced with the predictions is useful to
the user. Furthermore, in our case, a person goes to a
number of social events, and only a small subset of those
events are captured by our dataset. Given this sampling
bias, we cannot use traditional metrics such as precision or
recall. Consequently, we resort to an alternative metric called
percentile-ranking [10]. The percentile-ranking rank
u,j
of
event j in the list recommended to user u ranges from 0 to
1: it is 0, if event j is first in us list; it is 1, if the event is
last. Percentile-ranks have the advantage over absolute ranks

of being independent of the number of social events. Our
quality measure is then the total average percentile-ranking:
rank =
P
u,j
gone
u,j
· rank
u,j
P
u,j
gone
u,j
(7)
where gone
u,j
is a flag that reflects whether event j was
attended by u: it is 0, if j was not attended; otherwise, it is
1.
The lower rank for a list, the better the list’s quality. For
random predictions, the expected value for rank
u,j
is 0.5
(averaging infinite placements of event j in us list returns
the middle position of the list). Therefore, rank < 0.5
indicates an algorithm better than random. We will report
the results for the average percentile rankings and the
corresponding confidence intervals at a confidence level of
95%. As we shall see, the intervals are very small and stay
within a rounding precision of two decimal figures.
B. Area of Residence
To reproduce the cold-start situation (prediction based
only on area of residence), we evaluate our six prediction
techniques by using a modified version of leave-one-out
cross validation. From our data, we take out one user (and
the events he attended), leave all the remaining users, and
predict a list of social events for the (“outed”) user. We then
compare how similar the two lists are: the recommended list
and the list of events the user actually attended. We do so
by measuring the percentile ranking as per formula (7). We
repeat this process for all users (each user will be in turn
removed). At the end, we compute the mean of the percentile
rankings and obtain a single average percentile ranking for
each technique.
Figure 1(a) shows the measured rank for the six tech-
niques in Section III. The worst performing strategy among
the six is to preferentially recommend events that are geo-
graphically close. Still, including geographic distance leads
to rank = 0.44 (with confidence interval [0.437,0.440]),
which is lower than rank = 0.5 that would be achieved by
a random predictor. We achieve rank = 0.38 ([0.376,0.379])
if we recommend events that are popular in general or
that are attended by similar users (“k-Nearest Events”) or
by people living in similar areas of residence (“k-Nearest
Locations”). For the two kNN algorithms, the results do not
appreciatively change as K varies. They are just slightly
better if k = 30 for “K-Nearest Locations”, and if k = 10 for
“K-Nearest Events”. The results improve if we recommend
events that are popular in specific areas of residence (using
techniques (3) and (4) in Figure 1(a)), which confirms
our intuition that like-minded people (individuals of similar
taste) tend to cluster geographically - that is, people do
not “sort” themselves across areas in a random way [5].
In particular, the technique (3) which recommends events
popular among residents in an area achieves rank = 0.33
([0.327,0.330]) , which is a 34% gain over the random
baseline.
We have tested how each technique would perform on
input of only the area of residence (situation of cold-start).
We now study how the six techniques perform compared to
each other, and which pieces of information are valuable to
make cold-start predictions. We just learned that, on average,
recommending events popular among residents of the area
is more effective than recommending geographically close
events. This result holds, however, in aggregate. We now
disentangle the previous results to see which technique of
the six works best for 1) which event, and 2) which zipcode:
1. Which Technique for Which Event. To test how each
technique performs for people who attended event j, we
modify the definition of average percentile-ranking in (7) as
follows:
rank
j
=
P
u
gone
u,j
· rank
u,j
P
u,j
gone
u,j
We consider only people who have attended j. The lower
rank
j
for a technique, the easier to predict event j for the
technique.
From our previous results, one would imagine that the best
techniques are those based on: popularity (which would pre-
dict popular events); popularity in area (which would predict
events popular among residents of the area); and TF-IDF
(which would predict events popular among residents of the
area, offsetting their general popularity). Figure 1(b) shows
the average percentile-ranking for different events. TF-IDF
works best for all events but the two most popular ones:
“Shakespeare on the Boston Common” is best predicted by
overall popularity (rank
j
= 0.13 with confidence interval
[0.128,0.135]), and “Red Sox” by popularity in specific areas
(rank
j
= 0.28 with confidence interval [0.284,0.288]). As
one expects, to predict social events of moderate attendance,
it is necessary to consider events that are popular in specific
area (as technique (3) does), discounting general popularity
at times (as technique (4) does). By definition, the two
techniques (3) and (4) are correlated: they both recommend
events popular among residents of the area, but they do so
in different ways. To find out the extent to which they are
correlated, we compute the Pearson correlation coefficient
between their results and find it is ρ = 0.66, which indicates
strong correlation: when one works well, so does the other.
Instead, the correlation between the results for technique (4)
and those for technique (1) (which recommends generally
popular events) is weak (ρ = 0.21).
2. Which Technique for Which Geographic Area. To test
how each technique performs for people who live in area i,
we once again modify the definition of average percentile-

(a) (b)
Figure 1. Performance results. The total average percentile rankings: (a) for the six recommendation techniques (numbered as per Section III); (b) for
the technique (shown next to the rank value) that works best for each single event.
(a) (b) (c)
Figure 2. For people who attended a certain number of social events: (a) the number of those people (the majority has attended only one event); and (b)
their average percentile-ranking for the two K-NN algorithms, which make predictions based not only on area of residence but also on previously attended
events. The level of predictability of each location in Greater Boston from low (light red) to high (dark red).
ranking in (7) as follows:
rank
i
=
P
u,j
gone
u,j
· rank
u,j
P
u,j
gone
u,j
, u living in zipcode i
We now consider only people who live in area i. The lower
rank
i
for a technique, the easier to predict events attended
by residents in area i.
By considering the best predicting technique in each area,
the least predictable areas are generally suburban areas (e.g.,
Arlington, Charlestown, Sommerville, and Ashmont). In
those cases, the best prediction is based on the most popular
events. The most predictable areas are often centrally located
(e.g., Boston Common, Hancock Tower). The results for
an area do not depend on the number of its residents.
Figure 2(c) shows a square in each location, and the intensity
of the square is proportional to the extent a location is
predictable. Across locations, the highest rank
i
is registered
for recommendations of events that are popular in one’s area
of residence, and the worst predictions are again those based
on recommending events that are geographically close.
C. Previously Attended Events
We have evaluated the six techniques in a situation of
cold-start. We have assumed that we know nothing about the
user under prediction. However, in general, we would know
the past events the user have attended and, based on that,
we would make our predictions. To reproduce this situation,
we evaluate the two kNN algorithms by using the original
leave-one-out cross validation. From our data, we take out
one single rating (i.e., one event attendance, not the whole
user’s rating profile), leave all the remaining ratings, and
predict and rank the (“outed”) rating. We then measure the
percentile rankings for our prediction (we call this average
rank rank
). So we now make predictions upon not only the
area of residence but also upon previously attended events.
The number of people who attend multiple events shows
a long tail (Figure 2(a)): most people attend one event,
while few people attend more than three events. As such,
we obtain statistically significant results only for individuals
who attend three events at most. Figure 2(b) shows that
increasing the number of events that are known to have
been attended by one person improves the quality of recom-
mendations for that person. On average, by knowing only
two additional events for every individual, one increases the
percentile ranking by 18%. This suggests that having richer
user profiles would lead to improved results. However, we
also compared our approach to user-based and event-based
kNN on the binary user-event (2915 x 53) matrix. We found
that, when users exit the cold-start stage, a better average
rank can be obtained by relinquishing the location-event
dataset in favor of the user-event one: by the time a user has
attended 3 events, the rank
of event-based kNN (k = 30)
was as low as 0.08.
D. Design Consequences from Results
By analyzing the absolute values of percentile ranking,
we can say little about how well each prediction technique
works. However, by comparing the percentile rankings with

Citations
More filters
Journal ArticleDOI

A tale of many cities: universal patterns in human urban mobility.

TL;DR: Surprisingly, while there are variations in human movement in different cities, this analysis shows that those are predominantly due to different distributions of places across different urban environments.
Journal ArticleDOI

A survey of results on mobile phone datasets analysis

TL;DR: In this article, the authors survey the contributions made so far on the social networks that can be constructed with such data, the study of personal mobility, geographical partitioning, urban planning, and help towards development as well as security and privacy issues.
Journal ArticleDOI

Recommendations in location-based social networks: a survey

TL;DR: A panorama of the recommender systems in location-based social networks with a balanced depth is presented, facilitating research into this important research theme.
Journal ArticleDOI

Urban Sensing Using Mobile Phone Network Data: A Survey of Research

TL;DR: The data that can be collected from telecommunication networks as well as their strengths and weaknesses with a particular focus on urban sensing are outlined and recommendations on which datasets and techniques to use for specific urban sensing applications are provided.
References
More filters
Book

Modern Information Retrieval

TL;DR: In this article, the authors present a rigorous and complete textbook for a first course on information retrieval from the computer science (as opposed to a user-centred) perspective, which provides an up-to-date student oriented treatment of the subject.
Proceedings ArticleDOI

Collaborative Filtering for Implicit Feedback Datasets

TL;DR: This work identifies unique properties of implicit feedback datasets and proposes treating the data as indication of positive and negative preference associated with vastly varying confidence levels, which leads to a factor model which is especially tailored for implicit feedback recommenders.
Book

The Big Sort: Why the Clustering of Like-Minded America Is Tearing Us Apart

TL;DR: A best seller publication worldwide with excellent value and content combined with fascinating words, here are some of the stories you may have missed.
Proceedings ArticleDOI

Getting to know you: learning new user preferences in recommender systems

TL;DR: Six techniques that collaborative filtering recommender systems can use to learn about new users are studied, showing that the choice of learning technique significantly affects the user experience, in both the user effort and the accuracy of the resulting predictions.
Related Papers (5)
Frequently Asked Questions (5)
Q1. What contributions have the authors mentioned in the paper "Recommending social events from mobile phone location data" ?

The authors set out to address the mobile cold-start problem by answering the following research question: how can social events be recommended to a cold-start user based only on his home location ? To answer this question, the authors carry out a study of the relationship between preferences for social events and geography, the first of its kind in a large metropolitan area. 

TF-IDF works best for all events but the two most popular ones: “Shakespeare on the Boston Common” is best predicted by overall popularity (rankj = 0.13 with confidence interval [0.128,0.135]), and “Red Sox” by popularity in specific areas (rankj = 0.28 with confidence interval [0.284,0.288]). 

The percentile-ranking ranku,j of event j in the list recommended to user u ranges from 0 to 1: it is 0, if event j is first in u’s list; it is 1, if the event is last. 

In particular, the technique (3) which recommends events popular among residents in an area achieves rank = 0.33([0.327,0.330]) , which is a 34% gain over the random baseline. 

Their quality measure is then the total average percentile-ranking:rank = ∑ u,j goneu,j · ranku,j∑u,j goneu,j (7)where goneu,j is a flag that reflects whether event j was attended by u: it is 0, if j was not attended; otherwise, it is 1.