# Know Your Numbers: the forecast prompt

From "Know Your Numbers: How to Use AI to Analyze Your Disability Practice," NOSSCR Fall 2026. Companion files: the forecast workbook and two sample CSVs at www.chroniclelegal.com/playbook.

Tested October 2026: an AI model that could run code, given only this prompt and the two sample CSVs, reproduced every total in section 8. Use a tool that runs calculations, keep full precision, and reconcile the outputs rather than trusting arithmetic written in prose.

## How to run it

1. Use an AI tool that can run code on files you attach. If it cannot run code, it should say so and stop.
2. Run it first on the sample files (know-your-numbers-case-inputs-sample.csv and know-your-numbers-matched-history-sample.csv). Check the answers against section 8. If they do not match, do not use that tool for your own data.
3. Then attach your own two files in the same columns. The templates are on the playbook page.
4. Replace the illustrative assumptions with your firm's own: continuation rates, timing legs, hearings per advocate, available capacity and hiring lead time. Everything labeled "illustrative" or "assumed" is a placeholder.

## Before using this prompt

1. Use synthetic or properly de-identified data in an approved system. Remove claimant names, SSNs (including last four), addresses, birth dates and medical facts. Use stable pseudonymous case IDs. Keep any identity crosswalk separately in the firm's approved system.
2. Prepare the normalized inputs below. The workbook does **not** automatically parse SSA exports. Raw-report layouts differ, so source-to-schema mapping, latest-snapshot selection and event-date verification require manual preparation.
3. Open the workbook's Read Me first. Replace only input VALUES; do not delete rows or overwrite formulas. Case inputs has 200 supported rows, A6:H205. Matched history has 300 supported rows, A6:H305. Larger populations require deliberate extension of every connected range and new tests. There is no unlimited auto-expansion claim.
4. Ask for missing required assumptions or data. Do not invent case dates, substitute a hearing-office median, infer an event date from first observation, or silently choose among conflicting records.

---

## Copy from here

You are preparing a transparent planning scenario for a disability practice's **existing open caseload**. Calculate expected future hearing workload and net representative-fee receipts from INITIAL, RECON and HEARING cases. Begin the worked example with an INITIAL case and include every mutually exclusive award path. Use the exact rules below and identify any missing input before forecasting the affected records.

### 1. Freeze scope and inputs

Use the supplied fixed AS_OF on the first day of a month. Do not replace it with today or the latest observed row date. The teaching example is AS_OF = 2026-10-01. Display 24 months, October 2026 through September 2028; the exclusive horizon end is 2028-10-01. Keep beyond-horizon hearings and fee cash separately.

Model only currently open INITIAL, RECON and HEARING cases. Exclude and report future intake, Appeals Council/court/remands, hearings already held, cases awaiting a decision after hearing, and awarded-but-unpaid receivables. A HEARING row means the hearing is still in the future. Do not relabel an already-held case as a future hearing to obtain cash.

This output is not a whole-firm cash forecast. It excludes opening cash, opening receivables, other receipts, future intake and all expenses. Do not claim that its fee totals establish hiring or payroll affordability.

**Current-case schema, one row per case:**

| Field | Exact meaning |
|---|---|
| case_id | Nonblank stable pseudonymous ID; unique after normalization |
| observed_as_of | Date this row was observed; no later than AS_OF |
| stage | Exactly INITIAL, RECON or HEARING |
| stage_start | Actual application filing date, recon filing date, or hearing request date, according to current stage |
| hearing_office_code | Exact SSA office code, stored as text; unique match in office table |
| scheduled_hearing | Optional actual future hearing date; allowed only for HEARING |
| reviewed_current_event | Optional future reviewed scenario date for the current-stage resolution endpoint or hearing; AS_OF or later |
| notes | Optional non-identifying context |

Dates are real dates in Excel or ISO YYYY-MM-DD in CSV. Empty optional fields stay empty. Across monthly exports, group by stable case_id and retain the latest observed_as_of at or before AS_OF. Resolve conflicting equal-date records manually; never choose an arbitrary first row. Do not sum repeated snapshots as separate cases. An observation date is not a stage-start event date. Do not infer that the latest stage was reached on its first observed date.

Reject and count rows with missing ID, duplicate ID, unknown stage, invalid/future observation date, missing/future stage start, unknown/duplicate office code, invalid schedule, invalid reviewed date, or an unreviewed scheduled date before AS_OF. Never silently assign missing dates zero elapsed time. A HEARING row with no scheduled date is unscheduled and uses its request date. A valid actual future scheduled date has priority over an optional reviewed date.

**Matched resolved-history schema, one row per case + resolved stage:**

history_case_id, stage, resolution_date, outcome, net_fee_total, followup_end, fee_complete, notes

- stage is INITIAL, RECON or HEARING. outcome is FAVORABLE or OTHER. Map source outcome codes explicitly before import; do not guess favorable codes.
- net_fee_total is the total net fee collected for that case's award at that stage, including all programs/installments and after offsets/refunds. Never average payment transactions as though they were favorable cases.
- fee_complete is YES only for a mature follow-up cohort using a documented common cutoff, including confirmed completed $0 favorable cases. Do not label unresolved unpaid cases completed zeros.
- resolution_date and followup_end must be valid, followup_end cannot precede resolution_date, and neither can be after AS_OF. Reject duplicate case+stage rows and invalid/incomplete records.
- The teaching workbook selects only valid complete records for its matched cohort. Review selection/maturity bias before using this approach on real records; do not treat the small synthetic sample as an accuracy study.

### 2. Calibrate rates and fees, with matching denominators

For each stage separately:

- favorable probability = favorable cases / all resolved cases in the eligible matched stage cohort
- net fee per favorable = total net fee of those favorable cases / favorable cases

Keep completed zero-fee favorable cases in the denominator. If there are no eligible cases or no favorable cases, the relevant rate or fee is unavailable; ask for data or an explicitly approved illustrative assumption. Never invent a fallback fee.

Synthetic teaching history has 20 resolved records per stage:

- INITIAL: 3 favorable; $6,000 net fees; pI = .15; feeI = $2,000
- RECON: 4 favorable; $12,000 net fees; pR = .20; feeR = $3,000
- HEARING: 11 favorable; ten collect $4,950 and one completed favorable collects $0; $49,500 / 11 = $4,500; pH = .55

Initial-denial continuation aI = .90 and recon-denial continuation aR = .90 are explicit illustrative assumptions. They are not calculated from this history. Hearing-request-to-held probability is assumed to be 1 for this bounded model. Use additional attrition only after extending and reconciling the contract.

### 3. Use dated timing inputs and an explicit endpoint crosswalk

Public baseline sources retrieved October 6, 2026:

- SSA national initial average: **188 days**, August 2026
- SSA national recon average: **212 days**, August 2026
- Source: https://www.ssa.gov/ssa-performance (page updated October 1, 2026; values in the initial/recon chart descriptions)
- Office request-to-hearing-held table: https://www.ssa.gov/appeals/DataSets/01_NetStat_Report.xml (report 08/2026, created 09/22/2026; 159 rows)
- Demo office: code **5105, PROVIDENCE, 8.0 months**. Join exact code, not fuzzy office name. Never replace an unmatched office with a national median without explicit approval.

These are retrospective processed-case averages, not prospective conditional remaining waits. SSA's initial and recon open-data definitions run filing through payment or denial notice and include work outside medical DDS adjudication. Their exact crosswalk to the current performance chart series is unverified. Do not label 188/212 days as pure DDS medical-processing durations or claim that subtracting elapsed age estimates a conditional expected wait.

Definitions:

- https://www.ssa.gov/data/Combined-Disability-Processing-Time.html
- https://www.ssa.gov/data/disability_reconsideration_average_processing_time.html
- https://www.ssa.gov/appeals/DataSets/01_NetStat_Report.html

**Model choice:** Use 188/212 days as broad resolution-endpoint scenario proxies. For a denial path, this is a proxy denial-notice endpoint; for an early award, it is a proxy claimant-payment/resolution endpoint. Add only an illustrative **one-calendar-month representative-fee offset** from that endpoint. Do not add another full decision-to-benefit-payment delay. Real representative-fee timing must be calibrated to matching firm events before operational use.

Other illustrative timing drivers:

- initial denial → recon filing: 1 calendar month
- recon denial → hearing request: 1 calendar month
- hearing held → hearing decision: 1 calendar month
- hearing decision → representative fee: 2 calendar months
- overdue current-event future window: 2 calendar months from AS_OF
- extra unscheduled hearing shift: 0 in base, 2 in slower scenario

Office wait is request-to-hearing-held, not request-to-decision. Keep hearing-to-decision and decision-to-fee separate.

### 4. Date each path in chronological order

Use exact integer-day addition for national initial/recon proxies. Use Excel EDATE semantics for calendar months, clamping the day to the target month's last valid day. For an office fractional-month value m, use EDATE(date, INT(m)) + ROUND(MOD(m,1) × 30.44, 0). The demo's office value is exactly 8.0 months.

First estimate the **current-stage event**:

- INITIAL: stage_start + initial_days
- RECON: stage_start + recon_days
- HEARING, unscheduled: stage_start + office_wait

Choose the event date in this priority order:

1. Actual scheduled hearing at or after AS_OF, for a HEARING row
2. Valid reviewed_current_event at or after AS_OF
3. If the benchmark event is before AS_OF, flag OVERDUE: FUTURE WINDOW and assign EDATE(AS_OF, overdue_future_months)
4. Otherwise retain the benchmark event

Never use an overdue date in cash while excluding it from hearings. The same chosen event date must drive the full dependent path. Preserve overdue/review status in the output. The future-window placement is an assumption, not a measured wait estimate.

Then add only the remaining legs:

- Current INITIAL: initial endpoint → +1 month recon filing → +212 days recon endpoint → +1 month hearing request → +office wait hearing
- Current RECON: recon endpoint → +1 month hearing request → +office wait hearing
- Current HEARING: chosen hearing date directly

Apply extra_unscheduled_hearing_shift to the resulting unscheduled hearing date **after** overdue placement. Do not shift actual future scheduled hearings. Then date hearing decision = EDATE(hearing, hearing_to_decision_months) and hearing fee = EDATE(decision, hearing_decision_to_fee_months).

Early fee dates:

- initial fee date = EDATE(initial endpoint, early_endpoint_to_fee_months)
- recon fee date = EDATE(recon endpoint, early_endpoint_to_fee_months)

Do not truncate the path at the display horizon. Retain the full dated path and classify each fee as in-horizon, beyond-horizon, or before-AS_OF. A nonzero before-AS_OF forecast amount is a review issue.

### 5. Assign conditional weights from the observed current stage

For a current INITIAL case:

- initial favorable = pI
- recon favorable = (1−pI) × aI × pR
- reaches hearing = (1−pI) × aI × (1−pR) × aR
- stops after initial denial = (1−pI) × (1−aI)
- stops after recon denial = (1−pI) × aI × (1−pR) × (1−aR)

For a current RECON case:

- initial favorable = 0
- recon favorable = pR
- reaches hearing = (1−pR) × aR
- stops after recon denial = (1−pR) × (1−aR)

For a current HEARING case: reaches hearing = 1; earlier award/stop weights are 0.

For each valid case:

- hearing favorable = reaches hearing × pH
- hearing unfavorable = reaches hearing × (1−pH)
- terminal mass = initial favorable + recon favorable + both stop weights + hearing favorable + hearing unfavorable = 1

Do not add “reaches hearing” to terminal hearing favorable/unfavorable again. It is an intermediate weight.

Expected fee cash for each mutually exclusive award branch = that branch's favorable probability × its stage-specific net fee per favorable case. Include initial-stage cases that later win at recon. There is no separate undated early-award plug.

### 6. Aggregate the same rows into monthly outputs and capacity

For each monthly key use month_start ≤ event_date < EDATE(month_start,1). Do not round event dates to a nearest month or round expected case weights before summing.

Monthly outputs:

- expected hearings split by current INITIAL, RECON and HEARING stage
- total expected hearings
- initial-, recon- and hearing-award fee cash, and total fee cash
- capacity needed = expected hearings / hearings_per_advocate_month
- available advocate-equivalent capacity
- capacity gap = MAX(0, needed − available)
- additional whole people = ROUNDUP(capacity gap,0), presented only as one staffing interpretation
- when gap > 0, start hiring/training by EDATE(hearing_month_start, −lead_months)

The demo uses 20 hearings per advocate per month, 1 available advocate-equivalent, and 2 months hiring/training. Capacity includes routine preparation for those hearings. Adjust for earlier preparation, other work, leave and contractor/fractional capacity. Do not convert expected counts into guaranteed workloads or automatic hiring instructions.

Use full precision internally; display expected cases and capacity to 2 decimals and USD fees to cents. Show the peak month and busiest months from this same monthly table, never from a separate illustrative chart.

### 7. Reconcile before presenting

Return exact counts and exception lists; do not hide exclusions in a zero total.

Required checks, within numerical tolerance $0.000001 / 0.000001 expected cases:

1. Input records = valid modeled records + excluded records
2. Sum of terminal mass = valid modeled records; each valid case has mass 1
3. Valid cases = initial favorable + recon favorable + noncontinuing + reaches hearing
4. Total hearing weight = monthly hearing weight + beyond-horizon hearing weight
5. Total expected fees = in-horizon cash + beyond-horizon cash + before-AS_OF cash
6. For each award stage, branch cash sum = matching favorable weight sum × matched stage fee
7. Overdue cases contribute to hearings and cash through the same future date chain
8. No duplicate IDs, missing dates, unmatched offices or invalid history records silently enter the forecast

Produce a per-case calculation table, branch cash table, monthly output table, assumptions/source list, exclusions/review list and the reconciliation results. State that this is a planning scenario without demonstrated predictive accuracy. A back-test needs frozen historical as-of inputs, information available at that date, actual monthly/quarterly hearings and fees, error/bias measures and coverage reporting.

### 8. Synthetic acceptance test

Use the workbook's exact 100-case data, not an independently invented population:

- INITIAL: 10 July 1, 10 August 1 and 5 September 1, 2026 starts
- RECON: 10 May 1, 10 June 1 and 5 July 1, 2026 starts
- Unscheduled HEARING: 20 April 1 and 10 May 1, 2026 requests
- OVERDUE HEARING: 10 January 1, 2026 requests, placed December 1, 2026 by the explicit two-month rule
- Scheduled HEARING: 5 November 1 and 5 December 1, 2026 hearings; all have March 1, 2026 request dates
- All snapshots October 1, 2026; all office codes 5105

I-001 starts INITIAL on July 1, 2026:

| Path | Favorable weight | Expected fee | Fee date |
|---|---:|---:|---|
| Initial | .15 | $300.00 | February 5, 2027 |
| Recon | .153 | $459.00 | October 5, 2027 |
| Hearing | .30294 | $1,363.23 | September 5, 2028 |

Its initial endpoint is January 5, 2027; recon endpoint September 5, 2027; hearing request October 5, 2027; hearing June 5, 2028; decision July 5, 2028. Hearing weight .5508; noncontinuing weight .1462; hearing unfavorable .24786. Total expected fees $2,122.23.

Cohort acceptance totals:

- 3.75 initial favorable + 8.825 recon favorable + 5.655 noncontinuing + 81.77 hearings = 100
- 81.77 hearings × .55 = 44.9735 hearing favorable; 36.7965 hearing unfavorable
- initial fees $7,500; recon fees $26,475; hearing fees $202,380.75
- total expected fees $236,355.75
- in-horizon fee cash $215,907.30; beyond-horizon cash $20,448.45
- December 2026 peak 35 hearings; 1.75 capacity needed, .75 gap, one extra whole person if staffed that way; hiring/training start October 1, 2026

Slower scenario: change only extra_unscheduled_hearing_shift from 0 to 2. Total expected fees remain $236,355.75; in-horizon $202,275; beyond-horizon $34,080.75. In-horizon hearings 79.016 and hearing tail 2.754. Scheduled hearings and early-award cash remain unchanged. A later cash date is not a lost expected fee.

If results differ, identify the first case/formula/date difference and correct it before producing presentation claims. Do not force totals to match with a plug.

## End of prompt
