User generated review site where users are matched when they review products similarly On my site users will be able to give a 1 to 5 rating for various different products. I want to show users other users that have rated products in a similar way.

So in simplistic terms, if the followong users rated a prodcut like so:

User A - 5 stars
User B - 4 stars
User C - 1 stars
User D - 0 stars

Then User A and User B would be matched, and User C and User D would also be matched.

How sophisticated an algorithm is achievable with only drupal modules and minimal php? Ideally a point system would find the similarity / difference between users’ ratings for all the products that they have both rated, and then find the top 5 closest matches and rank them accordingly.
Thanks
This should be achievable using some combination of Flag, Fivestar, and Views. You can use Views to find users that match criteria based on the current user. You shouldn't need any PHP, in theory at least.