users' percentile similarity measure Having n vectors of percentile ranks for a list of common users between group #1 and groups #2:n

e.g. vec1 = {0.25, 0.1, 0.8, 0.75, 0.5, 0.6}
     vec2 = {0.35, 0.2, 0.6, 0.45, 0.2, 0.9}

The percentile ranks represent activity frequency within the group for instance, opening times.
The goal is to find similarity between group #1 and groups #2..n in terms of these common users's rank.

The direction taken so far is to use dot product in order to take the magnitude into account (due to rank). The problem is that the scalar answer can take any value and so a threshold cannot be drawn.

Do I need to draw a threshold with respect to the dot product of vec #1 (group 1) with itself? or is there another way to set a threshold (maybe dynamic) ?
As I understand it, you don't want to use the dot product, because it is unbounded.  Yet you also don't want to use the cosine similarity metric:



, which is just the dot product normalized by the length of the two vectors being dotted because it does not take magnitude into account e.g. $(1,1)\cdot(1,1)=1=(1,1)\cdot(2,2)$

Perhaps you could therefor use the sorensen dice coefficient or possibly 1-soresen:



This varies from 0 to 1 and accounts for magnitudes of the constituent vectors e.g.:

$$s_{\nu}[(1,1),(1,1)]=1$$

, where as 

$$s_{\nu}[(1,1),(2,2)]=\frac{4}{5}$$

Hope this helps!