You are building a model for a staffing platform to predict whether a candidate will be successfully placed in a role based on application, resume, screening, and recruiter activity data. Some fields are incomplete because candidates skip profile sections, recruiters enter notes inconsistently, and certain assessments are only available for part of the population.
How would you handle missing values in this dataset while training a production model, and how would your approach change depending on why the data is missing and which algorithm you choose?