Stack Overflow skill-demand velocity (quarterly)
Quarterly tech-skill demand-velocity signals for ~50 curated tech skills (languages, frameworks, data/ML, cloud/DevOps, mobile, databases), each mapped to an occupation category, from the official keyless Stack Exchange API (aggregate question counts only, no question text). Per skill and quarter: question counts, share of the tracked universe's questions, quarter-over-quarter growth, share-of-universe momentum in percentage points (the signal that survives Stack Overflow's platform-wide volume collapse), a z-score against the skill's own trailing-5-quarter baseline, a documented 0-100 demand-score composite (45% min-max(log1p(volume)) + 35% min-max(clipped positive share momentum) + 20% min-max(clipped z-score)) with deterministic rank and a spike flag (z>=2.0). Who joins this: an HR/talent-planning team joins per-skill velocity to its hiring plan on tag + occupation_category + quarter; a training platform joins on skill to prioritize course production. Caveats: measures SO question-asking, not labor demand itself — AI assistants have displaced SO usage unevenly; share momentum corrects for the platform collapse but cannot prove causality; the 50-skill universe is curated, not exhaustive; the score is a triage signal, never a hiring forecast on its own. Primary key: (tag, quarter). Cadence: quarterly.
- Rows
- 170
- Columns
- 21
- Source cadence
- Quarterly
- Last refreshed
- Sep 27, 2026
- Theme
- labor
| Column | Type | Description |
|---|---|---|
| tag | string | Stack Overflow tag — the skill identifier and primary join key with quarter. |
| skill | string | Human-readable skill name for the tag. |
| occupation_category | string | Hand-mapped occupation family for the skill (e.g. Frontend developer, Data engineer); secondary join key for HR headcount planning. |
| quarter | string | Calendar quarter (YYYY-QN). |
| quarter_start | string | First day of the quarter. (unit: date) |
| quarter_end | string | Last day of the quarter. (unit: date) |
| prior_quarter | string | Quarter used for quarter-over-quarter growth; null for the oldest quarter in the window. |
| questions | integer | Questions asked on Stack Overflow carrying the tag in the quarter (aggregate /search count). (unit: count) |
| prior_questions | float | Question count in the prior quarter; null for the oldest quarter in the window. (unit: count) |
| universe_questions | integer | Sum of question counts across all tracked skills in the quarter (share denominator). (unit: count) |
| share_pct | float | The skill's share of the tracked universe's questions in the quarter — the momentum base that survives the platform-wide volume collapse. (unit: percent) |
| share_qoq_pp | float | Share-of-universe change vs the prior quarter in percentage points; the primary momentum signal. (unit: percentage points) |
| qoq_growth_pct | float | Quarter-over-quarter question-count change vs the prior quarter; null when the prior count is missing or zero. (unit: percent) |
| z_score_5q | float | Population z-score of the quarter's question count against the skill's own trailing-5-quarter baseline; null when the baseline has no variance or the quarter is the oldest in the window. (unit: z-score) |
| trend_label | string | rising / falling / stable from qoq_growth_pct (+/-2% bands); unknown when growth is null. |
| demand_score | float | 0-100 demand-velocity composite, per quarter: 45% min-max(log1p(questions)) + 35% min-max(clipped positive share momentum, 0-50pp) + 20% min-max(z-score clipped to [-3, 3] mapped to [0, 1]). A velocity triage signal, not a hiring forecast. (unit: 0-100) |
| demand_rank | integer | Deterministic per-quarter rank: demand_score desc, questions desc, tag asc. (unit: rank) |
| spike_flag | boolean | True when z_score_5q >= 2.0 (question volume at least two baseline standard deviations above its own mean). (unit: boolean) |
| se_search_url | string | Exact Stack Exchange /search query behind this row's count. (unit: URL) |
| asof_date | string | Date the sweep ran (anchors the quarters). (unit: date) |
| row_hash | string | Deterministic 16-hex row hash. |
- Current
20260927T182103Z-2ba9a6c6a972 · sha256 2ba9a6c6a972…
170 rows · first snapshot
Point any LLM at the metadata endpoint — the documentation above is machine-readable too (JSON-LD + Croissant).
curl "https://datazimuts.com/v1/datasets/so_skill_demand_signals/so_skill_demand_quarterly" | jq '{title, rows, columns_count, license}'import requests
ds = requests.get("https://datazimuts.com/v1/datasets/so_skill_demand_signals/so_skill_demand_quarterly").json()
print(ds["title"], ds["rows"], "rows")
# Sample rows for an LLM context window
for row in ds.get("sample_rows", [])[:5]:
print(row)API endpoint: https://datazimuts.com/v1/datasets/so_skill_demand_signals/so_skill_demand_quarterly
Tip: fetch /llms.txt for the full machine-readable catalog.
Where this data comes from and what was made from it. Other people's work shows as counts; only shared projects are named.
Cite this snapshot
Pinned to snapshot 20260927T182103Z-2ba9a6c6a972 and its content hash, so readers get exactly the data you used.
Stack Overflow skill-demand signals (agent-curated). (2026). Stack Overflow skill-demand velocity (quarterly) [Data set, snapshot 20260927T182103Z-2ba9a6c6a972, sha256 2ba9a6c6a972]. Datazimuts. Retrieved 2026-09-27, from https://datazimuts.com/en/datasets/so_skill_demand_signals/so_skill_demand_quarterly?snapshot=20260927T182103Z-2ba9a6c6a972
@misc{dz_so_skill_demand_signals_so_skill_demand__2ba9a6c6,
title = {{Stack Overflow skill-demand velocity (quarterly)}},
author = {{Stack Overflow skill-demand signals (agent-curated)}},
year = {2026},
publisher = {Datazimuts},
howpublished = {\url{https://datazimuts.com/en/datasets/so_skill_demand_signals/so_skill_demand_quarterly?snapshot=20260927T182103Z-2ba9a6c6a972}},
note = {Snapshot 20260927T182103Z-2ba9a6c6a972, sha256 2ba9a6c6a972aac8c8b204907972c75fe994e1ed48a00b52f17937d55178bc41; accessed 2026-09-27}
}Embed a table or a chart
Paste this into any page. The embed is pinned to the same snapshot, follows the reader's light or dark setting, and always shows the source, license and a link back.
<iframe src="https://datazimuts.com/embed/chart?dataset=so_skill_demand_signals%2Fso_skill_demand_quarterly&lang=en&theme=auto&snapshot=20260927T182103Z-2ba9a6c6a972&x=asof_date&y=questions&agg=avg" title="Stack Overflow skill-demand velocity (quarterly)" width="100%" height="380" style="border:0" loading="lazy"></iframe>
Ask about this dataset. Answers come only from its catalog record, measured profile and change history, and list the facts they used.