8. A computer program product comprising a non-transitory computer usable medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to: retrieve a first profile associated with a first user and a second profile associated with a second user of an online community; retrieve a list of predetermined classes defined for the online community, the list of predetermined classes including a first class associated with a first set of skills and a second class associated with a second set of skills; determine a first skill associated with the first user and a second skill associated with the second user; assign the first profile of the first user to the first class based on the first set of skills associated with the first class including the first skill of the first user and assigning the second profile of the second user to the second class based on the second set of skills including the second skill of the second user; determine a similarity between the first profile and the second profile; determine a compatibility between the first class and the second class; generate a compatibility analysis between the first user and the second user of the online community based on the similarity between the first profile and the second profile and the compatibility between the first class and the second class; determine a compatibility score between the first user and the second user based on the compatibility analysis; and provide a recommendation to the first user and the second user based on the compatibility score.
8. A computer program product comprising a non-transitory computer usable medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to: retrieve a first profile associated with a first user and a second profile associated with a second user of an online community; retrieve a list of predetermined classes defined for the online community, the list of predetermined classes including a first class associated with a first set of skills and a second class associated with a second set of skills; determine a first skill associated with the first user and a second skill associated with the second user; assign the first profile of the first user to the first class based on the first set of skills associated with the first class including the first skill of the first user and assigning the second profile of the second user to the second class based on the second set of skills including the second skill of the second user; determine a similarity between the first profile and the second profile; determine a compatibility between the first class and the second class; generate a compatibility analysis between the first user and the second user of the online community based on the similarity between the first profile and the second profile and the compatibility between the first class and the second class; determine a compatibility score between the first user and the second user based on the compatibility analysis; and provide a recommendation to the first user and the second user based on the compatibility score. 10. The computer program product of claim 8 , wherein determining the similarity between the first profile and the second profile includes determining a similarity between user information associated with the first profile and the second profile, and the computer readable program when executed on a computer also causes the computer to: generate a report reflecting compatibility between the first user and the second user of the online community based on the compatibility analysis; and provide the report for display to the first user and the second user of the online community.