A computer-implemented method comprising: identifying a first plurality of shots in a first video and a second plurality of shots in a second video; determining shot durations for the identified shots of each video; generating a first histogram (220, 410) for the first video and a second histogram (220, 410) for the second video, each histogram dividing the plurality of identified shots of the corresponding video into a set of buckets divided according to a range of shot durations; for at least the first histogram, determining confidence weights for the buckets of the histogram, the confidence weight for a bucket based on a likelihood of a particular number of identified shots occurring within the range of shot duration for that bucket, by: determining probabilities of shot counts for the buckets in the histogram based on an average shot count of shots in a set of sample videos that have shot durations within the shot duration range of that bucket, the shot count for a bucket corresponding to the number of shots assigned to that bucket, the probability for that bucket indicating the likelihood that a video would have a number of shots within the shot duration range of that bucket equal to the shot count of that bucket; and determining a confidence weight for the buckets of the histogram, the confidence weight for a bucket having an inverse relationship to the probability of the shot count for that bucket; computing a correlation value of the two videos by computing the correlation of a number of identified shots in each bucket of the first histogram weighted by the confidence weights for the respective buckets of the first histogram with a number of identified shots in each bucket of the second histogram weighted by the confidence weights for the respective buckets of the first histogram or by the confidence weights for the respective buckets of the second histogram; and determining a similarity between the first video and the second video based on comparing the correlation value with a combined self-correlation value obtained by combining a self-correlation value of the first video and a self-correlation value of the second video. identifying a first plurality of shots in a first video and a second plurality of shots in a second video; determining shot durations for the identified shots of each video; generating a first histogram (220, 410) for the first video and a second histogram (220, 410) for the second video, each histogram dividing the plurality of identified shots of the corresponding video into a set of buckets divided according to a range of shot durations; for at least the first histogram, determining confidence weights for the buckets of the histogram, the confidence weight for a bucket based on a likelihood of a particular number of identified shots occurring within the range of shot duration for that bucket, by: determining probabilities of shot counts for the buckets in the histogram based on an average shot count of shots in a set of sample videos that have shot durations within the shot duration range of that bucket, the shot count for a bucket corresponding to the number of shots assigned to that bucket, the probability for that bucket indicating the likelihood that a video would have a number of shots within the shot duration range of that bucket equal to the shot count of that bucket; and determining a confidence weight for the buckets of the histogram, the confidence weight for a bucket having an inverse relationship to the probability of the shot count for that bucket; determining probabilities of shot counts for the buckets in the histogram based on an average shot count of shots in a set of sample videos that have shot durations within the shot duration range of that bucket, the shot count for a bucket corresponding to the number of shots assigned to that bucket, the probability for that bucket indicating the likelihood that a video would have a number of shots within the shot duration range of that bucket equal to the shot count of that bucket; and determining a confidence weight for the buckets of the histogram, the confidence weight for a bucket having an inverse relationship to the probability of the shot count for that bucket; computing a correlation value of the two videos by computing the correlation of a number of identified shots in each bucket of the first histogram weighted by the confidence weights for the respective buckets of the first histogram with a number of identified shots in each bucket of the second histogram weighted by the confidence weights for the respective buckets of the first histogram or by the confidence weights for the respective buckets of the second histogram; and determining a similarity between the first video and the second video based on comparing the correlation value with a combined self-correlation value obtained by combining a self-correlation value of the first video and a self-correlation value of the second video.