Endpoint

Retention forecast

Expected staying-length probability for a (candidate, job) pair. 30 / 90 / 180 / 365-day retention plus expectedTenureDays.

Authentication

Requires the retention scope. Tenant-scoped same as match.

Endpoint

POST/api/v1/retention-forecast

Request

candidateIduuidrequired
The candidate.
jobIduuidrequired
The job.
curl -X POST https://www.astrishr.com/api/v1/retention-forecast \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"candidateId":"…","jobId":"…"}'

Response

{
  "hireProbability": 0.84,
  "offerAcceptProbability": 0.89,
  "retention30":  0.91,
  "retention90":  0.83,
  "retention180": 0.74,
  "retention365": 0.61,
  "confidenceScore": 0.85,
  "expectedTenureDays": 312,
  "features": {
    "yearsExperience": 5,
    "hasConsent": true,
    "hasOwnVehicle": true,
    "transitAccess": false,
    "sameState": false,
    "needsChildcare": false,
    "jobOffersChildcare": false,
    "jobOffersTraining": true,
    "priorPlacements": 0,
    "workAuthStatus": "asylee"
  }
}

How expectedTenureDays is computed

Trapezoidal area under the survival curve approximated by the four retention checkpoints we forecast. Concretely:

expectedTenureDays =
  (1 + r30) / 2 × 30   +
  (r30 + r90) / 2 × 60 +
  (r90 + r180) / 2 × 90 +
  (r180 + r365) / 2 × 185

The features block surfaces which inputs drove the forecast. Use it to explain retention risk to a hiring manager or caseworker.