@vantigo-ai/career-score
v1.0.0
Published
Multi-dimensional career health scoring algorithm. Combines salary percentile, AI resilience, market timing, and demand signals into a single Career Score (0-100).
Downloads
25
Maintainers
Readme
@vantigo/career-score
Multi-dimensional career health scoring algorithm. Combines salary percentile, AI automation resilience, market timing, and demand signals into a single interpretable Career Score (0–100).
Installation
npm install @vantigo/career-scoreQuick Start
const { computeCareerScore } = require('@vantigo/career-score');
const result = computeCareerScore({
pctile: 75, // Salary at 75th percentile
aiRisk: 22, // Low AI automation risk
timingVerdict: 'act-now', // Hot job market
marketDemand: 68, // Strong hiring demand
});
console.log(result);
// {
// score: 79,
// band: 'Strong',
// color: '#34D399',
// components: {
// compensation: 75,
// aiResilience: 78,
// growth: 85,
// demand: 68
// }
// }Formula
Career Score = round(
0.35 × compensation + // salary percentile rank
0.25 × AI_resilience + // 100 − aiRisk.score
0.20 × growth + // market timing (act-now=85, prepare=55, wait=30)
0.20 × demand // market demand score
)Weight Rationale
| Component | Weight | Rationale | |---|---|---| | Compensation | 35% | Salary position is the primary signal of career health | | AI Resilience | 25% | Automation risk is the defining career risk of the 2020s | | Growth / Timing | 20% | Market timing affects whether job switching is financially optimal | | Market Demand | 20% | Demand predicts negotiation leverage and job security |
Score Bands
| Score | Band | Meaning | |---|---|---| | 85–100 | Excellent | Well-compensated, resilient to automation, strong market | | 70–84 | Strong | Above average in most dimensions | | 50–69 | Average | Targeted improvements recommended | | 30–49 | Needs Attention | Undercompensated or high automation risk | | 0–29 | Critical | Multiple risk factors; immediate action recommended |
API
computeCareerScore(params) → result
Parameters:
| Parameter | Type | Description |
|---|---|---|
| pctile | number | Salary percentile rank (0–100) |
| aiRisk | number | AI automation risk score (0–100); will be inverted to resilience |
| timingVerdict | string|number | "act-now" | "prepare" | "wait" or numeric (0–100) |
| marketDemand | number | Market demand score (0–100) |
Returns:
| Field | Type | Description |
|---|---|---|
| score | number | Career Score integer (0–100) |
| band | string | Score band label |
| color | string | Hex color for the band |
| components | object | Individual component scores for transparency |
computeCareerScoreFromReport(report) → result | null
Convenience wrapper that accepts a full Vantigo report JSON object.
const { computeCareerScoreFromReport } = require('@vantigo/career-score');
const result = computeCareerScoreFromReport({
market: { pctile: 75 },
aiRisk: { score: 22 },
timing: { verdict: 'act-now' },
marketDemand: 68,
});Validation
Validated against 10 occupation profiles spanning technology, healthcare, education, law, and skilled trades. See docs/methodology.md for full validation table.
Citation
If you use this package in academic research, please cite:
@software{ogirala2026careerscore,
author = {Ogirala, Kranthi Kumar},
title = {Vantigo Career Score: A Multi-Dimensional Career Health Metric},
year = {2026},
url = {https://github.com/ogkranthi/earnmore},
note = {npm package @vantigo/career-score}
}See also: arXiv preprint (link to be added upon submission)
Related Packages
@vantigo/bls-soc-map— BLS SOC code lookup from free-text job titles@vantigo/geo-arbitrage— Net take-home geographic arbitrage calculator
License
MIT © Kranthi Kumar Ogirala / Vantigo
