Project

General

Profile

Actions

Feature #61

closed
RA

Feature #21: Enhance Matching Results and AI Assistant with Company Enrichment and Market Insights

[MatchingAgent] Market-insights aggregate endpoint (skills/location/work-mode demand)

Feature #61: [MatchingAgent] Market-insights aggregate endpoint (skills/location/work-mode demand)

Added by Redmine Admin about 2 months ago. Updated about 2 months ago.

Status:
Shipped
Priority:
Normal
Assignee:
-
Start date:
06/11/2026
Due date:
% Done:

0%

Estimated time:
spec_ref:
build_status:
build_number:
ci_run_url:
scan_status:
scan_report_url:
deploy_status:
preprod_url:
https://github.com/omdev-tech/GetYourJob/pull/240
deployed_at:
branch:
feat/redmine-21-insights-ui
pr_url:
https://github.com/omdev-tech/GetYourJob/pull/239
security_key:
severity:
paused:

Description

**Surface:** MatchingAgent (`MatchingAgent/`, FastAPI, `src/api/`).

## Description
Add a FastAPI endpoint that computes market-insights aggregates over the active-offer corpus, scoped by role and optional filters (location, seniority):
- Top in-demand skills with offer counts (e.g. "Java (8,974 offers), Kubernetes (7,086)").
- Location trends (which locations have the most offers for the role).
- Work-mode distribution (e.g. "80% hybrid").

Requirements:
- New endpoint (e.g. `POST /v1/market-insights`) returning a typed JSON aggregate.
- Aggregation must be algorithmic (no LLM call), reusing the active-offer definition (isActive + extractedAt window + not expired) consistent with the rest of the corpus.
- Performance: respond within budget when serving a 100+ matching-result batch (cache/precompute as needed).
- pytest unit coverage for the aggregation logic (skills counts, location ranking, work-mode percentages).

Blocks #3 (GetYourJob proxy route).

## Acceptance criteria
- [ ] `POST /v1/market-insights` returns top skills with offer counts, location trends, and work-mode distribution for a given role/filter set.
- [ ] Aggregates use the active-offer definition and contain no LLM calls.
- [ ] Endpoint meets performance budget for a 100+ result batch (documented timing).
- [ ] pytest covers skill counts, location ranking, and work-mode percentages.

**Estimate:** M

Actions

Also available in: PDF Atom