Skip to main content

Analyze a Document Against Data

Note
In this case, you will learn how to use advanced thinking capabilities of ChatGPT and LLMs to conduct a thorough analysis of job descriptions and duties against market survey and salary data.

Download the following attachments to follow along: Job Description Job Salary Data

Description

Complex prompts like the one below are ways to make the chat act like a knowledgable assistant. You can use these prompts to provide knowledge and provide a requested output style.

Tip
Use GPT-5 Thinking for this task

Prompt


# Match a Job Description to Salary Survey Jobs (Description-Based)

**You are a compensation analyst.** Your task is to read a job description (JD), extract its true work content, and then match it to the most appropriate jobs across multiple salary surveys **based on duties/requirements**, not job title. You will rank matches, explain the rationale, and produce a short report.

---

## Inputs

1) **Job Description (JD)**

2) **Salary Survey Spreadsheet (tabular data)**

- File: `AI Exploration - Job Eval.xlsx`
- Use all relevant sheets/tabs within the workbook.
- Each row is a potential survey match with columns such as (examples; actual column names may differ):
- `survey_name`, `job_code`, `job_title`, `job_family/function`, `job_description`, `industry/sector`, `institution_type`, `size_band`, `FTE_scope`, `supervisory_level`, `education_req`, `experience_req`, `certifications/tools`, `work_context` (environment/physical), `FLSA/level`.
- If column names differ, infer equivalents by meaning (e.g., “Minimum Education” = `education_req`).

---

## What to Do

### 1) Parse & Normalize the JD

Extract and summarize:

- **Primary purpose / mission**
- **Core duties** (cluster similar duties; keep 6–12 bullets)
- **Scope** (setting/industry, unit size/complexity, menu/production scope, inventory or systems used, customer type)
- **Minimum requirements** (education, years of experience, certifications like ServSafe, tools/systems)
- **Supervision** (direct/indirect headcount, nature of oversight, training/mentoring)
- **Work context** (physical demands, environments such as hot line/freezer, hazards)

Create a keyword/synonym set from duties/requirements (e.g., institutional cooking, batch/volume production, standardized recipes, production sheets, allergen controls, cafeteria, HACCP, trayline, line cook, hot cook, cook II, ServSafe, food mgmt systems).

### 2) Candidate Retrieval from Surveys (don’t title-match only)

- Scan the **job_description** (and similar text columns) across all surveys.
- Use description-based retrieval with keyword/synonym expansion and phrase-weighting (e.g., “institutional cooking”, “cafeteria”, “volume production”, “standardized recipes”, “food safety/sanitation”, “train/mentor staff”).
- Prefer **sector/setting matches** (e.g., higher ed/food services) over generic hospitality when duties align.

### 3) Score Each Candidate (0–100)

Compute a weighted score per survey job:

- **Duties/Responsibilities match (40%)** – overlap with JD’s core duty clusters.
- **Setting/Scope (20%)** – institutional/education/cafeteria vs restaurant; volume/production complexity.
- **Qualifications (15%)** – education/years, required certs (e.g., ServSafe), tools/systems familiarity.
- **Supervisory scope (15%)** – direct/indirect headcount; training responsibilities.
- **Work context (5%)** – physical demands, hot/cold environments, hazards.
- **Other signals (5%)** – FLSA/level indicators, career level (I/II/III), union/non-union if present.

Also capture a brief **similarity rationale** quoting the phrases that matched.

### 4) Select and Explain the Top Matches

- Return the **Top 5** matches across all surveys, highest score first.
- For each, provide: **survey_name**, **job_code**, **job_title**, **Score (0–100)**, and a **2–4 sentence rationale**.
- If a strong tie exists, include both and explain the nuance (e.g., similar duties but slightly different supervisory scope).

### 5) Flag Mismatches & Leveling Cues

- Note any **gaps** (e.g., survey job requires a culinary degree but JD does not; survey role is “Cook III” while JD’s supervision suggests “Cook II”).
- Suggest whether the match should be **leveled up/down** within the survey family (I/II/III) and why.

-—

## Output Format (Concise)

**A. JD Snapshot (you extracted)**

- Purpose (1–2 sentences)
- Core duties (6–12 bullets)
- Minimum requirements (bullets)
- Supervision (bullets)
- Work context (bullets)

**B. Top Survey Matches (ranked)**

1. **[survey_name] [job_code] [job_title] — Score: XX**
*Why:* [2–4 sentence rationale referencing duties, setting, quals, supervision.]

2. **[...] — Score: XX**
*Why:* [...]

3. **[...] — Score: XX**
*Why:* [...]

4. **[...] — Score: XX**
*Why:* [...]

5. **[...] — Score: XX**
*Why:* [...]

**C. Notes & Leveling Guidance**
- Key differences/gaps
- Recommended level within each survey family (and why)
- Any data quality or mapping caveats

**D. Recommended Market Composite (optional)**
- If multiple strong matches from different surveys align, propose a composite market cut (e.g., average/median across the recommended matches), with a brief justification.

---

## Guardrails

- Never rely on job title alone—prioritize **work content**.
- Prefer survey rows whose **descriptions** explicitly mention institutional/cafeteria or volume production over restaurant/à la carte contexts.
- If the JD supervises or trains staff, avoid matching to purely individual-contributor cook roles unless supervision is incidental.
- If two survey jobs differ only by level, use **supervisory scope/complexity** to select the level.

---

## Matching Examples (for this kind of JD)

When the JD indicates institutional/higher-ed food service with batch cooking, standardized recipes, cafeteria/volume production, allergen controls, training/mentoring, and moderate physical demands, strong matches often include:

- **BLS 35-2012 — Cooks, Institution and Cafeteria**
- **CUPA 817020 — Line Cook**
- **Educomp 18436 — Cook**
- **NACUFS — NA-Cook II**
- **SLA 15061 — Hot Cook**

> Treat these as candidates to test via the scoring rules above—do **not** auto-select by title.

Sample Output