1. A system comprising: a data processing apparatus including at least one programmable processor; and a non-transitory computer storage device encoded with a computer program, the computer program comprising instructions that when executed by the data processing apparatus cause the data processing apparatus to perform operations comprising: receiving, from a first user device of a first user, first check-in data of the first user device checking in to a first location, wherein a first image is captured by the first user device while the first user device is near the first location; receiving, from a second user device of a second user, second check-in data of the second user device checking in to a second location, wherein a second image is captured by the second user device while the second user device is near the second location; determining the first location specified by the first check-in data; determining the second location specified by the second check-in data; comparing the first location and the second location to determine a geographical distance between the first location and the second location; generating a distance-related confidence score based, at least in part, on determining the geographical distance meets a threshold distance; and determining that the first image and the second image each correspond to a same event, based on a total confidence score meeting a threshold total confidence score, wherein the total confidence score is based on individual confidence scores of each of two or more different types of elements including the distance-related confidence score of the geographical distance.