I am working on the project part of which is building a user profile page that is used to collect some information from the user so that this can be used to display better matching results for that user (think dating service, compatibility, etc).
However, with the agreement of the user, I would also like to use the data from their profiles for some analytic purposes.
My objective: make users to fill all of the fields on they profile.
First approach: make fields in the profile mandatory, we are talking a combination of list boxes, free text fields, etc. A total of 20-25 things to fill out.
Second approach: make fields optional (the majority of them), and nag users to death to fill them out but explaining it to them that the more precise the profile is, the better results we can provide.
Question: which approach do you think is better and why. Bear in mind, my goal is to collect as much data from the users as possible.