Is this evaluation fair for small teams (2 or 3 people)?
With peer-evaluation schemes like this, the fewer students there are in the group, the more vulnerable students are to gamesmanship and unfairly false ratings. Even if they're not actually unfair to each other, their feelings of vulnerability to one another's unfairness is deadly for your student ratings. They will blame you for putting them in this vulnerable position. Plus, if there isn't exactly the same number of students in each group, it's difficult for students to feel that the scoring is fair. More broadly, I have found that students hate "allocate points" schemes. Perhaps it seems like I'm too pandering to students with regard to their student ratings, but I believe there are good reasons to take a hit on ratings (e.g., a rigorous course) and unwise reasons to take a hit on ratings (e.g., using a peer evaluation technique that they think is unfair).
My approach to this problem has been to ...
(1) promise that peer ratings will stay completely anonymous -- which can even be accomplished in two-person teams by combining the peer rating with another scored element (e.g., class participation) when reporting their scores.
(2) gather peer ratings as responses to some 1-10 rating questions (e.g., "Attended all group meetings, 1 = Disagree Completely, 10 = Agree Completely") rather than an allocate points scheme, and
(3) delay the grief of doing peer evaluations until the end of the semester.
I realize that what I do doesn't fit with your current plan, but maybe it's something to think about.