Google unveils ME-POIs: human mobility added to textual place vectors

Google Research and USC (University of Southern California) present Mobility-Embedded POIs (ME-POIs), a framework that folds accumulated human-mobility data into existing textual embeddings of points of interest (POIs). Language models can describe what a place is—a café, a shop, a gas station—but they lack information about how people actually use it. Two cafés on the same block may receive nearly identical textual vectors even though one serves commuters for a few minutes while the other retains customers for ninety minutes. “We show that integrating mobility data yields a functional centroid that aggregates personal schedules across users,” a Google Research scientist said. ME-POIs encodes each visit as a contextual vector and aligns these visit vectors with a learnable prototype for each POI using contrastive learning.
Each visit is represented as a triple: coordinates, arrival time and departure time. Three factorized encoders process the triple: Space2Vec for multi-scale location, and two separate Time2Vec encoders for arrival and departure times, preserving start time and dwell duration as distinct signals. The unified vectors undergo sinusoidal positional encoding and are fed into a transformer with 4 layers and 8 attention heads (d_h = 512) to produce a contextual visit embedding. The primary objective, InfoNCE, provides a learnable prototype per POI; the loss pulls each visit embedding toward its POI’s prototype and pushes it away from prototypes of other POIs within a mini-batch, yielding a functional centroid that aggregates personal schedules across users.
The principal difficulty is sparsity: only 9.07% of POIs in Los Angeles and 7.04% of POIs in Houston passed the anchor threshold of 100 and 50 visits, respectively. For the long tail, ME-POIs computes normalized Gaussian kernels across three bandwidths—0.3 km, 1.0 km, 3.0 km—and transfers anchor-visit histograms to sparse POIs. A KL term forces the sparse embedding to predict the same prior, a second KL term regularizes anchors against their own empirical distributions, and a fourth term maximizes cosine similarity with projected textual embeddings whose prompts follow the GeoLLM recipe: coordinates, category, address, and the ten nearest POIs with distance and direction.
Evaluation used two anonymized datasets: Los Angeles (39,557 POIs, 6.9 million visits, full year 2019) and Houston (28,419 POIs, 715,604 visits, 20 March 2020). Five map-enrichment tasks probed frozen embeddings. Labels for opening hours and fixed closures came from SafeGraph; Google Maps supplied visit intent, congestion and price level. Adding ME-POIs improved 34 of 35 model-task combinations in Los Angeles. Notable relative gains include 16.2% F1 for weekly opening hours (OpenAI-large), 81.9% F1 for visit intent (Gemini), 6.5% F1 for fixed closure (E5), and a 24.7% reduction in MAE for congestion (Gemini). In Houston, price-level F1 rose 75.1% for GTR-T5. The sole regression was Gemini on fixed closure, down 0.4%.
A more surprising result comes from the mobility-only version, which omits any textual alignment. This variant achieved 0.600 accuracy on price level in Los Angeles, surpassing Gemini’s 0.559, and outperformed every trajectory-based baseline across all tasks.
Deployability is partial. Google has released the paper but not public code or pretrained weights; the framework must be rebuilt from scratch. The model comprises roughly 53.7 million parameters and was pretrained on a single NVIDIA Tesla V100 16 GB GPU. The real bottleneck is data; licensed foot-traffic or first-party visit logs together with polygonal POI definitions are required. Without such data, the framework remains theoretical.