Templates

Applicant flow log template: track every candidate, step and exit reason

On this page
  1. How the log is organized
  2. Table 1: the flow log
  3. Disposition codes
  4. Table 2: self-identification
  5. Table 3: the step summary
  6. The VEVRAA annual counts
  7. Keeping the log useful
  8. Questions people ask

An applicant flow log records every person who applied for a role, each step they reached, and the reason they left the process. It is the raw material for two jobs: checking whether any step screens out one group much more than another, and, for federal contractors covered by the veterans' law VEVRAA, producing the annual applicant and hire counts the regulations require. Below is a copy-ready log, a fixed list of disposition codes, a step-by-step summary sheet and the VEVRAA annual counts, current as of October 2026.

Before using it, decide who counts as an applicant and write it down. The background, including what happened to the federal contractor definition in 2026, is in the Internet Applicant rule in 2026.

Not legal advice. This template reflects federal recordkeeping rules as of October 2026, including 29 CFR 1602.14 and the VEVRAA data collection rule at 41 CFR 60-300.44(k). Federal rules on demographic data changed in 2025 and 2026 and more changes are proposed. Have your compliance team or counsel confirm what you must keep and how before you rely on it.

How the log is organized

Use three tables, kept separately, linked by a candidate ID:

TableWho can see itWhat it holds
1. Flow logRecruiting teamOne row per candidate per requisition: source, dates, furthest step, disposition code
2. Self-identificationA named HR or compliance analyst onlyVoluntary sex, race and ethnicity, and protected veteran responses, or "declined"
3. Step summaryAnalyst, then shared in aggregateCounts and selection rates per step, by group, with no names

The separation matters. Interviewers and hiring managers should never see self-identification answers, and nobody should fill a blank by guessing someone's race, sex or veteran status from a name, photo or voice.

Table 1: the flow log

APPLICANT FLOW LOG — Req # [ ] — [job title] — [location]
Basic qualifications (set before posting, objective, job related):
  1. [ ]   2. [ ]   3. [ ]
Applicant definition in use: [policy name, version, date]
Posted: [date]   State job bank listing (if VEVRAA): [date]

Cand ID | Source        | Applied    | BQ met? | Furthest step   | Step date  | Disposition | Notes (job-related only)
--------+---------------+------------+---------+-----------------+------------+-------------+-------------------------
C-0001  | Careers site  | 2026-10-05 | Y       | Offer accepted  | 2026-11-02 | H1          |
C-0002  | Referral      | 2026-10-06 | Y       | Panel interview | 2026-10-20 | R4          | Scored 2/4 on system design
C-0003  | Job board     | 2026-10-06 | N       | Resume review   | 2026-10-07 | R1          | No payroll experience
C-0004  | Agency: [ ]   | 2026-10-07 | Y       | Phone screen    | 2026-10-12 | W2          | Accepted another offer
C-0005  | Sourced       | 2026-10-08 | —       | Not reviewed    | —          | N1          | Pile closed at 200

Column notes:

  • Source. Record agency submittals and sourced candidates under their own codes, so every channel is counted the same way.
  • BQ met? Whether the expression of interest showed the basic qualifications, judged against the list at the top, not against other candidates.
  • Furthest step. Use the same step names as your process, for example resume review, phone screen, assessment, panel interview, final interview, offer.
  • Notes. Job-related reasons only. No health details, family circumstances, age, accent or anything from what not to write in interview notes.

Disposition codes

A short fixed list is the most useful part of the log. Free-text reasons cannot be counted, and they invite remarks nobody wants read back to them.

CodeMeaningCounts as an applicant at that step?
N1Not reviewed: pile closed, role filled or cancelled before reviewNo; record why the review stopped
R1Did not meet basic qualificationsDepends on your definition; most follow the old contractor rule and exclude them
R2Not selected at resume review (met basic qualifications)Yes
R3Not selected after phone screenYes
R4Not selected after interviewYes
R5Not selected after assessment or work sampleYes
R6Offer withdrawn after a post-offer step (background check, medical exam)Yes; log the step, never the detail
W1Withdrew: told us they were no longer interestedNo, from the step they withdrew
W2Withdrew: accepted another offerNo, from the step they withdrew
W3Withdrew: did not respond after repeated contact (state your rule, for example three attempts over ten days)No, from the step they withdrew
O1Offer declinedYes; selected, not hired
H1HiredYes

Separating withdrawals from rejections is the point. The agencies' 1979 Questions and Answers on the Uniform Guidelines say a person who voluntarily withdraws, formally or informally, at any stage is no longer an applicant, and counting withdrawals as rejections makes a step look harsher than it is.

Table 2: self-identification

SELF-IDENTIFICATION — restricted — Req # [ ]
Cand ID | Sex (self-ID)  | Race/ethnicity (self-ID)       | Protected veteran (self-ID) | Date collected | Method
--------+----------------+--------------------------------+-----------------------------+----------------+-------------
C-0001  | Female         | Hispanic or Latino             | Declined                    | 2026-10-05     | Apply form
C-0002  | Male           | Two or More Races              | Not a protected veteran     | 2026-10-06     | Apply form
C-0003  | Declined       | Declined                       | Declined                    | 2026-10-06     | Apply form
  • Collect it on a separate, clearly voluntary form at the application stage, so it exists for everyone in the denominator, not only for people who reached interview.
  • Use the same categories your EEO-1 uses, if you file one, so applicant and workforce data line up; see EEO-1 reporting requirements.
  • For VEVRAA-covered contractors, the invitation to self-identify as a protected veteran is still required before and after an offer under 41 CFR 60-300.42. The Section 503 disability self-identification requirement was removed with effect from September 21, 2026.
  • Record "declined" as its own value. Never infer.

Table 3: the step summary

Run this per requisition for large roles, and per job family per quarter for small ones, so the numbers are big enough to mean something. The method is explained in the four-fifths rule.

STEP SUMMARY — [job family] — [period]   Prepared by: [ ]   Date: [ ]
Comparison: [sex / race and ethnicity]   Declined to self-identify: [n] (excluded)

Step              | Group     | Entered | Passed | Rate   | Highest rate | Impact ratio | Flip test holds?
------------------+-----------+---------+--------+--------+--------------+--------------+-----------------
Resume review     | Group A   |         |        |        |              |              |
                  | Group B   |         |        |        |              |              |
Phone screen      | Group A   |         |        |        |              |              |
                  | Group B   |         |        |        |              |              |
Interview         | Group A   |         |        |        |              |              |
                  | Group B   |         |        |        |              |              |
Offer             | Group A   |         |        |        |              |              |
                  | Group B   |         |        |        |              |              |
Overall           | Group A   |         |        |        |              |              |
                  | Group B   |         |        |        |              |              |

Rate = Passed ÷ Entered. Impact ratio = group rate ÷ highest rate at that step.
Flag any ratio below 0.80 that survives moving one selection between groups.
Actions agreed: [ ]

"Entered" for each step is the number who reached it minus anyone who withdrew before that step was decided. Keep the "Overall" row, but do not stop there: a balanced overall result can hide a step that is screening one group out.

The VEVRAA annual counts

If you recruit for a contractor covered by VEVRAA (a contract of $200,000 or more as of October 2026), 41 CFR 60-300.44(k) requires these figures every year, kept for three years. The log above produces them directly:

VEVRAA DATA COLLECTION — [establishment] — [AAP year]
1. Applicants who self-identified as protected veterans
   (or are otherwise known to be):                         [ ]
2. Total job openings:                                     [ ]
   Total jobs filled:                                      [ ]
3. Total applicants for all jobs:                          [ ]
4. Protected veteran applicants hired:                     [ ]
5. Total applicants hired:                                 [ ]
Applicant definition used: [policy, version]
Prepared by: [ ]   Date: [ ]   Retain until: [date + 3 years]

The regulations do not define "applicant" for these counts, which is why the definition line is there. Use the same definition every year.

Keeping the log useful

  1. Set the basic qualifications on the requisition before posting, using the job requisition form, and do not change them mid-search without starting a new log.
  2. Log at the moment of decision, not in a cleanup at the end. Reconstructed logs are where errors and awkward notes creep in.
  3. Close every row. A candidate with no disposition code is a hole in every count.
  4. Record why reviewing stopped if you close a large pile early; a random or first-come cutoff should be written down as such.
  5. Keep it as long as the hiring records, at least one year under 29 CFR 1602.14, longer where state law or a pending charge requires; set the period in your candidate data retention policy.
  6. Without an ATS, a shared spreadsheet with locked columns and a separate restricted file for Table 2 works; see running a structured interview without an ATS.

Questions people ask

What is an applicant flow log?

It is a record of every person who applied for a position, the steps they reached, and why they left the process, kept by requisition. Combined with voluntary self-identification data, it lets an employer calculate selection rates at each step and, for federal contractors covered by VEVRAA, produce the annual applicant and hire counts the regulations require.

Should race and sex be in the same spreadsheet as the candidate's name?

Keep them apart from anything hiring decision makers see. A common approach is to hold self-identification responses in a separate restricted table linked by a candidate ID, so the people screening and interviewing never see them and the analyst can still join the data for reporting.

Who counts as an applicant in the log?

That is a definition you set and write down. Many employers follow the structure of the former federal contractor Internet Applicant rule: someone who expressed interest, was considered for a specific position, met the basic qualifications set in advance, and did not withdraw. Whatever you choose, apply it the same way to every channel and every requisition.

How long should we keep the applicant flow log?

At least one year under 29 CFR 1602.14 for employers covered by Title VII, the ADA and GINA, longer under some state laws, and until final disposition if a charge or lawsuit is filed. VEVRAA-covered contractors must keep the annual data collection for three years.