| { |
| "$schema": "http://json-schema.org/draft-07/schema#", |
| "title": "Redrob Candidate Profile Schema", |
| "description": "Schema for a single candidate profile in the Intelligent Candidate Discovery & Ranking Challenge dataset.", |
| "type": "object", |
| "required": [ |
| "candidate_id", |
| "profile", |
| "career_history", |
| "education", |
| "skills", |
| "redrob_signals" |
| ], |
| "properties": { |
| "candidate_id": { |
| "type": "string", |
| "pattern": "^CAND_[0-9]{7}$", |
| "description": "Unique identifier for the candidate. Format: CAND_XXXXXXX (7 digits)." |
| }, |
| "profile": { |
| "type": "object", |
| "required": [ |
| "anonymized_name", |
| "headline", |
| "summary", |
| "location", |
| "country", |
| "years_of_experience", |
| "current_title", |
| "current_company", |
| "current_company_size", |
| "current_industry" |
| ], |
| "properties": { |
| "anonymized_name": { "type": "string", "description": "Anonymized full name." }, |
| "headline": { "type": "string", "description": "One-line professional headline." }, |
| "summary": { "type": "string", "description": "Multi-sentence professional summary." }, |
| "location": { "type": "string", "description": "City, region/state." }, |
| "country": { "type": "string" }, |
| "years_of_experience": { "type": "number", "minimum": 0, "maximum": 50 }, |
| "current_title": { "type": "string" }, |
| "current_company": { "type": "string" }, |
| "current_company_size": { |
| "type": "string", |
| "enum": ["1-10", "11-50", "51-200", "201-500", "501-1000", "1001-5000", "5001-10000", "10001+"] |
| }, |
| "current_industry": { "type": "string" } |
| } |
| }, |
| "career_history": { |
| "type": "array", |
| "minItems": 1, |
| "maxItems": 10, |
| "items": { |
| "type": "object", |
| "required": ["company", "title", "start_date", "end_date", "duration_months", "is_current", "industry", "company_size", "description"], |
| "properties": { |
| "company": { "type": "string" }, |
| "title": { "type": "string" }, |
| "start_date": { "type": "string", "format": "date" }, |
| "end_date": { "type": ["string", "null"], "format": "date" }, |
| "duration_months": { "type": "integer", "minimum": 0 }, |
| "is_current": { "type": "boolean" }, |
| "industry": { "type": "string" }, |
| "company_size": { |
| "type": "string", |
| "enum": ["1-10", "11-50", "51-200", "201-500", "501-1000", "1001-5000", "5001-10000", "10001+"] |
| }, |
| "description": { "type": "string", "description": "Role responsibilities and achievements." } |
| } |
| } |
| }, |
| "education": { |
| "type": "array", |
| "minItems": 0, |
| "maxItems": 5, |
| "items": { |
| "type": "object", |
| "required": ["institution", "degree", "field_of_study", "start_year", "end_year"], |
| "properties": { |
| "institution": { "type": "string" }, |
| "degree": { "type": "string" }, |
| "field_of_study": { "type": "string" }, |
| "start_year": { "type": "integer", "minimum": 1970, "maximum": 2030 }, |
| "end_year": { "type": "integer", "minimum": 1970, "maximum": 2035 }, |
| "grade": { "type": ["string", "null"], "description": "GPA / percentage / class." }, |
| "tier": { |
| "type": "string", |
| "enum": ["tier_1", "tier_2", "tier_3", "tier_4", "unknown"], |
| "description": "Internal tiering for institution prestige." |
| } |
| } |
| } |
| }, |
| "skills": { |
| "type": "array", |
| "minItems": 0, |
| "items": { |
| "type": "object", |
| "required": ["name", "proficiency", "endorsements"], |
| "properties": { |
| "name": { "type": "string" }, |
| "proficiency": { |
| "type": "string", |
| "enum": ["beginner", "intermediate", "advanced", "expert"] |
| }, |
| "endorsements": { "type": "integer", "minimum": 0 }, |
| "duration_months": { "type": "integer", "minimum": 0, "description": "Months the candidate has used this skill" } |
| } |
| } |
| }, |
| "certifications": { |
| "type": "array", |
| "items": { |
| "type": "object", |
| "required": ["name", "issuer", "year"], |
| "properties": { |
| "name": { "type": "string" }, |
| "issuer": { "type": "string" }, |
| "year": { "type": "integer" } |
| } |
| } |
| }, |
| "languages": { |
| "type": "array", |
| "items": { |
| "type": "object", |
| "required": ["language", "proficiency"], |
| "properties": { |
| "language": { "type": "string" }, |
| "proficiency": { |
| "type": "string", |
| "enum": ["basic", "conversational", "professional", "native"] |
| } |
| } |
| } |
| }, |
| "redrob_signals": { |
| "type": "object", |
| "description": "Simulated platform activity and engagement signals from the Redrob ecosystem.", |
| "required": [ |
| "profile_completeness_score", |
| "signup_date", |
| "last_active_date", |
| "open_to_work_flag", |
| "profile_views_received_30d", |
| "applications_submitted_30d", |
| "recruiter_response_rate", |
| "avg_response_time_hours", |
| "skill_assessment_scores", |
| "connection_count", |
| "endorsements_received", |
| "notice_period_days", |
| "expected_salary_range_inr_lpa", |
| "preferred_work_mode", |
| "willing_to_relocate", |
| "github_activity_score", |
| "search_appearance_30d", |
| "saved_by_recruiters_30d", |
| "interview_completion_rate", |
| "offer_acceptance_rate", |
| "verified_email", |
| "verified_phone", |
| "linkedin_connected" |
| ], |
| "properties": { |
| "profile_completeness_score": { |
| "type": "number", |
| "minimum": 0, |
| "maximum": 100, |
| "description": "Percentage of profile completeness." |
| }, |
| "signup_date": { "type": "string", "format": "date" }, |
| "last_active_date": { "type": "string", "format": "date" }, |
| "open_to_work_flag": { "type": "boolean" }, |
| "profile_views_received_30d": { "type": "integer", "minimum": 0 }, |
| "applications_submitted_30d": { "type": "integer", "minimum": 0 }, |
| "recruiter_response_rate": { |
| "type": "number", |
| "minimum": 0, |
| "maximum": 1, |
| "description": "Fraction of recruiter messages the candidate has responded to." |
| }, |
| "avg_response_time_hours": { "type": "number", "minimum": 0 }, |
| "skill_assessment_scores": { |
| "type": "object", |
| "description": "Dict of skill_name -> score 0-100. Assessments completed on Redrob platform.", |
| "additionalProperties": { "type": "number", "minimum": 0, "maximum": 100 } |
| }, |
| "connection_count": { "type": "integer", "minimum": 0 }, |
| "endorsements_received": { "type": "integer", "minimum": 0 }, |
| "notice_period_days": { "type": "integer", "minimum": 0, "maximum": 180 }, |
| "expected_salary_range_inr_lpa": { |
| "type": "object", |
| "required": ["min", "max"], |
| "properties": { |
| "min": { "type": "number", "minimum": 0 }, |
| "max": { "type": "number", "minimum": 0 } |
| }, |
| "description": "Expected salary in INR Lakhs Per Annum." |
| }, |
| "preferred_work_mode": { |
| "type": "string", |
| "enum": ["remote", "hybrid", "onsite", "flexible"] |
| }, |
| "willing_to_relocate": { "type": "boolean" }, |
| "github_activity_score": { |
| "type": "number", |
| "minimum": -1, |
| "maximum": 100, |
| "description": "0-100 score based on commits, PRs, stars in last 12 months. -1 if no GitHub linked." |
| }, |
| "search_appearance_30d": { |
| "type": "integer", |
| "minimum": 0, |
| "description": "Number of times profile appeared in recruiter searches in last 30 days." |
| }, |
| "saved_by_recruiters_30d": { |
| "type": "integer", |
| "minimum": 0, |
| "description": "Number of recruiters who saved this profile in last 30 days." |
| }, |
| "interview_completion_rate": { |
| "type": "number", |
| "minimum": 0, |
| "maximum": 1, |
| "description": "Fraction of scheduled interviews actually attended." |
| }, |
| "offer_acceptance_rate": { |
| "type": "number", |
| "minimum": -1, |
| "maximum": 1, |
| "description": "Historical offer acceptance rate. -1 if no offer history." |
| }, |
| "verified_email": { "type": "boolean" }, |
| "verified_phone": { "type": "boolean" }, |
| "linkedin_connected": { "type": "boolean" } |
| } |
| } |
| } |
| } |
|
|