> ## Documentation Index
> Fetch the complete documentation index at: https://developers.techwolf.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Standard exports

export const DeprecatedBadge = () => {
  return <span style={{
    backgroundColor: '#ff0000',
    color: 'white',
    padding: '2px 8px',
    borderRadius: '4px',
    fontSize: '12px',
    fontWeight: '500',
    display: 'inline-flex',
    alignItems: 'center',
    gap: '4px'
  }}>
      Deprecated
    </span>;
};

Below we list the available export types. Some export types are configurable and
can be configured in the TechWolf's Console via the export builder or by your
TechWolf representative. If no configuration options are specified, this export
type is not configurable. When no configuration is specified by the user, the
default settings are used.

### Employee Info

Provides an overview of all Employees and their fields, including their current
position, organisational unit, and data availability status.

<Accordion title="View Employee Info export details">
  The Employee info export provides an overview of all Employees and their fields.

  The CSV or XLSX represents a two-dimensional matrix, containing one row for
  every Employee.

  There is a header row present with the following
  values, indicating the contents of every column (in order):

  | Field name              | Field description                                                                                                                                                  |
  | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
  | external\_id            | The external ID of the Employee in TechWolf.                                                                                                                       |
  | low\_data\_availability | Flag indicating whether sufficient data is available for qualitative Skill inference for the given Employee.                                                       |
  | active                  | Flag indicating whether the Employee will be used in matching. This is useful if an Employee is being phased out.                                                  |
  | last\_updated           | Timestamp of the last update to this entity.                                                                                                                       |
  | assigned\_position      | The title of the Job the Employee is currently assigned to.                                                                                                        |
  | assigned\_position\_id  | The external ID of the Job the Employee is currently assigned to.                                                                                                  |
  | organisational\_unit\_X | The Organisational Unit of the Employee. Column organisational\_unit\_0 is the top-level Organisational Unit, column organisational\_unit\_1 the second-level etc. |

  Currently supported configurations are:

  * Mask `external_id`: mask the Employee's external ID to protect privacy.
  * Include
    [Custom Properties](https://developers.techwolf.ai/reference/latest/Custom%20Properties/CustomPropertiesDefinitions/overview):
    the selected Custom properties will be added as a column to every row. If the
    Employee does not have this Custom Property, the field will be empty.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    EMPLOYEE_META_DATA["Your Employee Metadata"] {
        string employee_id FK
        any meta_data
    }
    EMPLOYEE_INFO {
        string external_id PK
        boolean low_data_availability
        boolean active
        datetime last_updated
        string assigned_position
        string assigned_position_id
        string organisational_unit_X
    }

    EMPLOYEE_SKILL_PROFILE {
        string employee_id FK
        string skill_id FK
    }

    EMPLOYEE_SKILL_GAP {
        string employee_id FK
        string job_id FK
    }

    EMPLOYEE_SKILL_GAP_EXPLAINED {
        string employee_id FK
        string job_id FK
    }

    INTERNAL_MOBILITY {
        string employee_id FK
        string job_id FK
    }

    INTERNAL_MOBILITY_EXPLAINED {
        string employee_id FK
        string job_id FK
    }

    EMPLOYEE_META_DATA |o--o| EMPLOYEE_INFO : ""
    EMPLOYEE_INFO ||--o{ EMPLOYEE_SKILL_PROFILE : ""
    EMPLOYEE_INFO ||--o{ EMPLOYEE_SKILL_GAP : ""
    EMPLOYEE_INFO ||--o{ EMPLOYEE_SKILL_GAP_EXPLAINED : ""
    EMPLOYEE_INFO ||--o{ INTERNAL_MOBILITY : ""
    EMPLOYEE_INFO ||--o{ INTERNAL_MOBILITY_EXPLAINED : ""

```

### Job Info

Provides an overview of all Jobs and their fields, including Job Family information, data availability status, and active status.

<Accordion title="View Job Info export details">
  The Job info export provides an overview of all Jobs and their fields.

  The CSV or XLSX represents a two-dimensional matrix, containing one row for every Job.

  There is a header row present with the following values, indicating the contents of every column (in order):

  | Field name              | Field description                                                                                        |
  | ----------------------- | -------------------------------------------------------------------------------------------------------- |
  | external\_id            | The external ID of the Job in TechWolf.                                                                  |
  | job\_name               | The name of the Job in TechWolf.                                                                         |
  | job\_family             | The Job Family to which this Job belongs.                                                                |
  | job\_family\_group      | The Job Family group to which this Job belongs                                                           |
  | low\_data\_availability | Flag indicating whether sufficient data is available for qualitative Skill inference for the given Job.  |
  | active                  | Flag indicating whether the Job will be used in matching. This is useful when a Job is being phased out. |
  | last\_updated           | Timestamp of the last update to this entity.                                                             |

  Currently supported configurations are:

  * Include [Custom Properties](https://developers.techwolf.ai/reference/latest/Custom%20Properties/CustomPropertiesDefinitions/overview): the selected Custom properties will be added as a column to every row. If the Job does not have this Custom Property, the field will be empty.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    JOB_META_DATA["Your Job Metadata"] {
        string job_id FK
        any meta_data
    }
    JOB_INFO {
        string external_id PK
        string job_name
        string job_family
        string job_family_group
        boolean low_data_availability
        boolean active
        datetime last_updated
    }

    JOB_SKILL_PROFILE {
        string job_id FK
        string skill_id FK
    }

    EMPLOYEE_SKILL_GAP {
        string job_id FK
        string employee_id FK
    }

    EMPLOYEE_SKILL_GAP_EXPLAINED {
        string job_id FK
        string employee_id FK
    }

    INTERNAL_MOBILITY {
        string job_id FK
        string employee_id FK
    }

    INTERNAL_MOBILITY_EXPLAINED {
        string job_id FK
        string employee_id FK
    }

    MARKET_SKILL_PROFILE {
        string job_id FK
        string peer_group FK
    }

    MARKET_COMPARISON {
        string job_id FK
        string peer_group FK
    }

    MARKET_COMPARISON_EXPLAINED {
        string job_id FK
        string peer_group FK
    }

    JOB_META_DATA |o--o| JOB_INFO : ""
    JOB_INFO ||--o{ JOB_SKILL_PROFILE : ""
    JOB_INFO ||--o{ EMPLOYEE_SKILL_GAP : ""
    JOB_INFO ||--o{ EMPLOYEE_SKILL_GAP_EXPLAINED : ""
    JOB_INFO ||--o{ INTERNAL_MOBILITY : ""
    JOB_INFO ||--o{ INTERNAL_MOBILITY_EXPLAINED : ""
    JOB_INFO ||--o{ MARKET_SKILL_PROFILE : ""
    JOB_INFO ||--o{ MARKET_COMPARISON : ""
    JOB_INFO ||--o{ MARKET_COMPARISON_EXPLAINED : ""
```

### Course Info

Provides an overview of all available Courses, including their titles and source
systems.

<Accordion title="View Course Info export details">
  The Course info export provides an overview of all the available Courses.

  The CSV or XLSX contains one row for every Course.

  There is a header row present with the following
  values, indicating the contents of every column (in order):

  | Field name          | Field description                                                                          |
  | ------------------- | ------------------------------------------------------------------------------------------ |
  | course\_id          | The external ID of the Course in TechWolf.                                                 |
  | course\_title       | The title of the Course in TechWolf.                                                       |
  | course\_description | The description of the Course. Only included when `include_course_description` is enabled. |
  | source              | The LMS from which the Course originates.                                                  |

  Currently supported configurations are:

  * `include_course_description`: when enabled, adds a `course_description` column to every row containing the description of the Course. Defaults to `false`.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    COURSE_META_DATA["Your Course Metadata"] {
        string course_id FK
        any meta_data
    }
    COURSE_INFO {
        string course_id PK
        string course_title
        string source
    }

    COURSE_SKILL_PROFILE {
        string course_id FK
        string skill_id FK
    }

    COURSE_META_DATA |o--o| COURSE_INFO : ""
    COURSE_INFO ||--o{ COURSE_SKILL_PROFILE : ""
```

### Vacancy Info

Provides an overview of all available Vacancies, including their job titles and
optionally job descriptions.

<Accordion title="View Vacancy Info export details">
  The Vacancy info export provides an overview of all the available Vacancies.

  The CSV or XLSX contains one row for every Vacancy.

  There is a header row present with the following values, indicating the contents
  of every column (in order):

  | Field name       | Field description                                                                            |
  | ---------------- | -------------------------------------------------------------------------------------------- |
  | vacancy\_id      | The external ID of the Vacancy in TechWolf.                                                  |
  | job\_title       | The job title of the Vacancy.                                                                |
  | job\_description | The job description of the Vacancy. Only included when `include_job_description` is enabled. |

  Currently supported configurations are:

  * `include_job_description`: when enabled, adds a `job_description` column to every row containing the description of the Vacancy. Defaults to `false`.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    VACANCY_META_DATA["Your Vacancy Metadata"] {
        string vacancy_id FK
        any meta_data
    }
    VACANCY_INFO {
        string vacancy_id PK
        string job_title
        string job_description
    }

    VACANCY_SKILL_PROFILE {
        string vacancy_id FK
        string skill_id FK
    }

    VACANCY_META_DATA |o--o| VACANCY_INFO : ""
    VACANCY_INFO ||--o{ VACANCY_SKILL_PROFILE : ""
```

### Course Skill Profiles *(Course to Skill)*

Maps the relationship between Courses and their associated Skills, showing which
Skills are taught in each Course.

<Accordion title="View Course Skill Profiles export details">
  The Course Skill Profile export provides an overview of all the Skills of
  every Course.

  The CSV or XLSX represents a two-dimensional matrix, containing one row for
  every Skill of every Course, with Courses without Skills not being represented.

  There is a header row present with the following
  values, indicating the contents of every column (in order):

  | Field name | Field description                                         |
  | ---------- | --------------------------------------------------------- |
  | course\_id | The external ID of the Course with the Skill in TechWolf. |
  | skill\_id  | The external ID of the Skill in TechWolf.                 |
  | skill      | The name of the Skill in TechWolf.                        |
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    COURSE_INFO {
        string course_id PK
    }

    COURSE_SKILL_PROFILE {
        string course_id FK
        string skill_id FK
        string skill
    }

    SKILL_INFO {
        string skill_id PK
    }

    COURSE_INFO ||--o{ COURSE_SKILL_PROFILE : ""
    COURSE_SKILL_PROFILE }o--o{ SKILL_INFO : ""
```

### Vacancy Skill Profiles *(Vacancy to Skill)*

Maps the relationship between Vacancies and their associated Skills, showing which
Skills are inferred from each Vacancy's job title and description.

<Accordion title="View Vacancy Skill Profiles export details">
  The Vacancy Skill Profile export provides an overview of all the Skills of
  every Vacancy.

  The CSV or XLSX represents a two-dimensional matrix, containing one row for
  every Skill of every Vacancy, with Vacancies without Skills not being represented.

  There is a header row present with the following
  values, indicating the contents of every column (in order):

  | Field name  | Field description                                          |
  | ----------- | ---------------------------------------------------------- |
  | vacancy\_id | The external ID of the Vacancy with the Skill in TechWolf. |
  | skill\_id   | The external ID of the Skill in TechWolf.                  |
  | skill       | The name of the Skill in TechWolf.                         |
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    VACANCY_INFO {
        string vacancy_id PK
    }

    VACANCY_SKILL_PROFILE {
        string vacancy_id FK
        string skill_id FK
        string skill
    }

    SKILL_INFO {
        string skill_id PK
    }

    VACANCY_INFO ||--o{ VACANCY_SKILL_PROFILE : ""
    VACANCY_SKILL_PROFILE }o--o{ SKILL_INFO : ""
```

### Employee Skill Profiles *(Employee to Skill)*

Maps the relationship between Employees and their Skills, including validation
states and sources of skill inference.

<Accordion title="View Employee Skill Profiles export details">
  The Employee Skill Profile export provides an overview of all the Skills of
  every Employee.

  The CSV or XLSX represents a two-dimensional matrix, containing - besides the
  header row - one or more rows for every Skill of every Employee (every Skill has
  one row for each of its sources if it has any, and one row otherwise), with
  Employees without Skills not being represented.

  The matrix has six columns, containing the following fields for every row (in
  order):

  | Field name                      | Field description                                                                             |
  | ------------------------------- | --------------------------------------------------------------------------------------------- |
  | employee\_id                    | The external ID of the Employee with the Skill in TechWolf.                                   |
  | skill\_id                       | The external ID of the Skill in TechWolf.                                                     |
  | skill                           | The name of the Skill in TechWolf.                                                            |
  | validation\_state               | The validation state of the Skill; one of "validated", "suggested", "rejected".               |
  | skill\_source                   | The event type from which the Skill is inferred for this Employee (e.g. "working\_history").  |
  | skill\_event\_source            | The source of the Skill event from which the Skill is inferred (e.g. "Workday" or "Degreed"). |
  | self\_rated\_proficiency\_level | The proficiency level that the Employee indicates they have for this Skill.                   |
  | suggested\_proficiency\_level   | The proficiency level of the Employee for the Skill suggested by TechWolf.                    |

  Currently supported configurations are:

  * Mask `employee_id`: mask the Employee's external ID to protect privacy.
  * Include rejected Skills.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    EMPLOYEE_INFO {
        string external_id PK
    }

    EMPLOYEE_SKILL_PROFILE {
        string employee_id FK
        string skill_id FK
        string skill
        string validation_state
        string skill_source
        string skill_event_source
        int    suggested_proficiency_level
        int    self_rated_proficiency_level
    }

    SKILL_INFO {
        string skill_id PK
    }

    EMPLOYEE_INFO ||--o{ EMPLOYEE_SKILL_PROFILE : ""
    EMPLOYEE_SKILL_PROFILE }o--o{ SKILL_INFO : ""
```

### Job Skill Profiles *(Job to Skill)*

Maps the relationship between Jobs and their required Skills, including skill
types, validation states, and proficiency levels.

<Accordion title="View Job Skill Profiles export details">
  The Job Skill Profile export provides an overview of all the Skills of every
  Job. Note that only the governed Skill Profiles are taken into account, not the
  suggested Skill Profiles.

  The CSV or XLSX represents a two-dimensional matrix, containing - besides the
  header row - one or more rows for every Skill of every Job (every Skill has one
  row for each of its Skill types), with Job without Skills not being represented.

  The matrix has the following columns for every row (in order).

  | Field name                    | Field description                                                                            |
  | ----------------------------- | -------------------------------------------------------------------------------------------- |
  | job\_id                       | The external ID of the Job with the Skill in TechWolf.                                       |
  | skill\_id                     | The external ID of the Skill in TechWolf.                                                    |
  | skill                         | The name of the Skill in TechWolf.                                                           |
  | skill\_type                   | The type of the Skill; one of "Job-Specific", "Family-Specific".                             |
  | validation\_state             | The validation state of the Skill; one of "validated", "suggested".                          |
  | validated\_proficiency\_level | The required Skill proficiency level for this Job, validated by the customer.                |
  | suggested\_proficiency\_level | The required Skill proficiency level for this Job, suggested by TechWolf.                    |
  | critical                      | Whether the Skill is critical for the Job (`true` or `false`), as validated by the customer. |
  | suggested\_critical           | Whether the Skill is critical for the Job (`true` or `false`), as suggested by TechWolf.     |
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    JOB_INFO {
        string external_id PK
    }

    JOB_SKILL_PROFILE {
        string job_id FK
        string skill_id FK
        string skill
        string skill_type
        string validation_state
        int validated_proficiency_level
        int suggested_proficiency_level
        boolean critical
        boolean suggested_critical
    }

    SKILL_INFO {
        string skill_id PK
    }

    JOB_INFO ||--o{ JOB_SKILL_PROFILE : ""
    JOB_SKILL_PROFILE }o--o{ SKILL_INFO : ""
```

### Skill Info

Provides comprehensive information about all Skills, including descriptions and
their location in the Taxonomy.

**Note:** This export will be updated on November 1st. From then on, the columns
marked as \[deprecated\*] will not be part of the export anymore. To still receive
Taxonomy information, the [Taxonomy Info](#taxonomy-info) export can be used.

<Accordion title="View Skill Info export details">
  The Skill info export provides an overview of all Skills and their description.
  For Skills that are part of the Taxonomy, the location in the Taxonomy is also provided.

  The CSV or XLSX represents a two-dimensional matrix, containing - besides the
  header row - a row for every Skill.

  The matrix has ten columns, containing the following fields for every row (in
  order):

  | Field name                                     | Field description                                                                                                                                                                            |
  | ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | skill\_id                                      | The external ID of the Skill.                                                                                                                                                                |
  | skill\_name                                    | The name of the Skill.                                                                                                                                                                       |
  | skill\_description                             | The description of the Skill.                                                                                                                                                                |
  | techwolf\_domain \[deprecated\*]               | The default Domain provided by TechWolf.                                                                                                                                                     |
  | taxonomy\_skill\_cluster\_id \[deprecated\*]   | The external ID of the Cluster the Skill belongs to; empty for Skills that are not part of the Taxonomy.                                                                                     |
  | taxonomy\_skill\_cluster\_name \[deprecated\*] | The name of the Cluster the Skill belongs to; empty for Skills that are not part of the Taxonomy                                                                                             |
  | taxonomy\_subdomain\_id \[deprecated\*]        | The external ID of the Subdomain the Skill belongs to; empty for Skills that are not part of the Taxonomy; only relevant for four-level taxonomies, always empty for three-level Taxonomies. |
  | taxonomy\_subdomain\_name \[deprecated\*]      | The name of the Subdomain the Skill belongs to; empty for Skills that are not part of the Taxonomy; only relevant for four-level taxonomies, always empty for three-level Taxonomies.        |
  | taxonomy\_domain\_id \[deprecated\*]           | The external ID of the top-level Domain the Skill belongs to; empty for Skills that are not part of the Taxonomy.                                                                            |
  | taxonomy\_domain\_name \[deprecated\*]         | The name of the top-level Domain the Skill belongs to; empty for Skills that are not part of the Taxonomy.                                                                                   |
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    SKILL_INFO {
        string skill_id PK
        string taxonomy_domain_id PK
        string taxonomy_subdomain_id PK
        string taxonomy_skill_cluster_id PK
        string skill_name
        string skill_description
        string techwolf_domain
        string taxonomy_skill_cluster_name
        string taxonomy_subdomain_name
        string taxonomy_domain_name
    }

    EMPLOYEE_SKILL_PROFILE {
        string skill_id FK
    }

    JOB_SKILL_PROFILE {
        string skill_id FK
    }

    COURSE_SKILL_PROFILE {
        string skill_id FK
    }

    EMPLOYEE_SKILL_GAP_EXPLAINED {
        string skill_id FK
    }

    INTERNAL_MOBILITY_EXPLAINED {
        string skill_id FK
    }

    MARKET_SKILL_PROFILE {
        string skill_id FK
    }

    MARKET_COMPARISON_EXPLAINED {
        string skill_id FK
    }

    EMPLOYEE_SKILL_PROFILE }o--o{ SKILL_INFO : ""
    JOB_SKILL_PROFILE }o--o{ SKILL_INFO : ""
    COURSE_SKILL_PROFILE }o--o{ SKILL_INFO : ""
    EMPLOYEE_SKILL_GAP_EXPLAINED }o--o{ SKILL_INFO : ""
    INTERNAL_MOBILITY_EXPLAINED }o--o{ SKILL_INFO : ""
    MARKET_SKILL_PROFILE }o--o{ SKILL_INFO : ""
    MARKET_COMPARISON_EXPLAINED }o--o{ SKILL_INFO : ""
```

### Taxonomy Info

Provides the full Taxonomy structure, listing every placement of Skills across
domains, subdomains, and clusters.

<Accordion title="View Skill Info export details">
  The Taxonomy info export provides the full Taxonomy structure.

  The CSV or XLSX represents a two-dimensional matrix, containing - besides the
  header row - one row for every Skill-Taxonomy assignment.

  The matrix has eleven columns, containing the following fields for every row (in
  order):

  | Field name                     | Field description                                                                                                                                                                            |
  | ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | skill\_id                      | The external ID of the Skill.                                                                                                                                                                |
  | skill\_name                    | The name of the Skill.                                                                                                                                                                       |
  | skill\_description             | The description of the Skill.                                                                                                                                                                |
  | techwolf\_domain               | The default Domain provided by TechWolf.                                                                                                                                                     |
  | taxonomy\_skill\_cluster\_id   | The external ID of the Cluster the Skill belongs to; empty for Skills that are not part of the Taxonomy.                                                                                     |
  | taxonomy\_skill\_cluster\_name | The name of the Cluster the Skill belongs to; empty for Skills that are not part of the Taxonomy                                                                                             |
  | taxonomy\_subdomain\_id        | The external ID of the Subdomain the Skill belongs to; empty for Skills that are not part of the Taxonomy; only relevant for four-level Taxonomies, always empty for three-level Taxonomies. |
  | taxonomy\_subdomain\_name      | The name of the Subdomain the Skill belongs to; empty for Skills that are not part of the Taxonomy; only relevant for four-level Taxonomies, always empty for three-level Taxonomies.        |
  | taxonomy\_domain\_id           | The external ID of the top-level Domain the Skill belongs to; empty for Skills that are not part of the Taxonomy.                                                                            |
  | taxonomy\_domain\_name         | The name of the top-level Domain the Skill belongs to; empty for Skills that are not part of the Taxonomy.                                                                                   |
  | business\_relevant             | Whether the Skill is marked as business relevant.                                                                                                                                            |

  Currently supported configurations are:

  * Set `include_business_relevant`: when set to `true`, the `business_relevant`
    column is included in the export. When set to `false`, the column is omitted.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    TAXONOMY_INFO {
        string skill_id PK
        string taxonomy_domain_id PK
        string taxonomy_subdomain_id PK
        string taxonomy_skill_cluster_id PK
        string skill_name
        string skill_description
        string techwolf_domain
        string taxonomy_skill_cluster_name
        string taxonomy_subdomain_name
        string taxonomy_domain_name
        boolean business_relevant
    }

    EMPLOYEE_SKILL_PROFILE {
        string skill_id FK
    }

    JOB_SKILL_PROFILE {
        string skill_id FK
    }

    COURSE_SKILL_PROFILE {
        string skill_id FK
    }

    EMPLOYEE_SKILL_GAP_EXPLAINED {
        string skill_id FK
    }

    INTERNAL_MOBILITY_EXPLAINED {
        string skill_id FK
    }

    MARKET_SKILL_PROFILE {
        string skill_id FK
    }

    MARKET_COMPARISON_EXPLAINED {
        string skill_id FK
    }

    EMPLOYEE_SKILL_PROFILE }o--o{ TAXONOMY_INFO : ""
    JOB_SKILL_PROFILE }o--o{ TAXONOMY_INFO : ""
    COURSE_SKILL_PROFILE }o--o{ TAXONOMY_INFO : ""
    EMPLOYEE_SKILL_GAP_EXPLAINED }o--o{ TAXONOMY_INFO : ""
    INTERNAL_MOBILITY_EXPLAINED }o--o{ TAXONOMY_INFO : ""
    MARKET_SKILL_PROFILE }o--o{ TAXONOMY_INFO : ""
    MARKET_COMPARISON_EXPLAINED }o--o{ TAXONOMY_INFO : ""
```

### Task Info

Provides an overview of all Tasks, including their name, AI impact assessment,
and position in the work taxonomy.

<Accordion title="View Task Info export details">
  The Task info export provides an overview of all Tasks.

  The CSV or XLSX represents a two-dimensional matrix, containing one row for
  every Task.

  There is a header row present with the following
  values, indicating the contents of every column (in order):

  | Field name                       | Field description                                                                          |
  | -------------------------------- | ------------------------------------------------------------------------------------------ |
  | task\_id                         | The unique ID of the Task.                                                                 |
  | task                             | The name/description of the Task.                                                          |
  | ai\_impact\_level                | AI impact level expressed as a Human Agency Scale (HAS) level (H1-H5).                     |
  | ai\_impact\_rationale            | Explanation of the AI impact level for this Task.                                          |
  | hierarchy\_domain\_name          | Name of the work taxonomy domain; empty if the Task is not placed in the taxonomy.         |
  | hierarchy\_domain\_id            | Stable id of the work taxonomy domain; empty if the Task is not placed in the taxonomy.    |
  | hierarchy\_subdomain\_name       | Name of the work taxonomy subdomain; empty if the Task is not placed in the taxonomy.      |
  | hierarchy\_subdomain\_id         | Stable id of the work taxonomy subdomain; empty if the Task is not placed in the taxonomy. |
  | hierarchy\_cluster\_name         | Name of the work taxonomy cluster; empty if the Task is not placed in the taxonomy.        |
  | hierarchy\_cluster\_id           | Stable id of the work taxonomy cluster; empty if the Task is not placed in the taxonomy.   |
  | hierarchy\_canonical\_task\_name | Name of the canonical task in the work taxonomy; empty if not placed in the taxonomy.      |
  | hierarchy\_canonical\_task\_id   | Stable id of the canonical task in the work taxonomy; empty if not placed in the taxonomy. |
  | task\_source                     | Origin of the Task: `vocabulary` (work taxonomy) or `custom` (tenant-authored).            |
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    TASK_INFO {
        string task_id PK
        string task
        string ai_impact_level
        string ai_impact_rationale
        string hierarchy_domain_name
        string hierarchy_domain_id
        string hierarchy_subdomain_name
        string hierarchy_subdomain_id
        string hierarchy_cluster_name
        string hierarchy_cluster_id
        string hierarchy_canonical_task_name
        string hierarchy_canonical_task_id
        string task_source
    }

    EMPLOYEE_TO_TASK {
        string task_id FK
    }

    JOB_TO_TASK {
        string task_id FK
    }

    EMPLOYEE_TASK_TO_SKILL {
        string task_id FK
    }

    JOB_TASK_TO_SKILL {
        string task_id FK
    }

    TASK_INFO ||--o{ EMPLOYEE_TO_TASK : ""
    TASK_INFO ||--o{ JOB_TO_TASK : ""
    TASK_INFO ||--o{ EMPLOYEE_TASK_TO_SKILL : ""
    TASK_INFO ||--o{ JOB_TASK_TO_SKILL : ""
```

### Employee to Task

Maps the relationship between Employees and their Tasks, including validation
states.

<Accordion title="View Employee to Task export details">
  The Employee to Task export provides an overview of all the Tasks of every
  Employee.

  The CSV or XLSX represents a two-dimensional matrix, containing one row for
  every Task of every Employee, with Employees without Tasks not being
  represented.

  There is a header row present with the following
  values, indicating the contents of every column (in order):

  | Field name        | Field description                                                              |
  | ----------------- | ------------------------------------------------------------------------------ |
  | employee\_id      | The unique ID of the Employee.                                                 |
  | task\_id          | The unique ID of the Task.                                                     |
  | task              | The name/description of the Task.                                              |
  | validation\_state | The validation state of the Task; one of "validated", "suggested", "rejected". |
  | weekly\_hours     | Estimated number of hours spent on this Task per week.                         |
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    EMPLOYEE_INFO {
        string external_id PK
    }

    EMPLOYEE_TO_TASK {
        string employee_id FK
        string task_id FK
        string task
        string validation_state
        int weekly_hours
    }

    TASK_INFO {
        string task_id PK
    }

    EMPLOYEE_INFO ||--o{ EMPLOYEE_TO_TASK : ""
    EMPLOYEE_TO_TASK }o--o{ TASK_INFO : ""
```

### Employee Task to Skill

Maps the relationship between Employee Tasks and their associated Skills,
showing which Skills are linked to each Task for every Employee.

<Accordion title="View Employee Task to Skill export details">
  The Employee Task to Skill export provides an overview of the Skills linked to
  every Task of every Employee.

  The CSV or XLSX represents a two-dimensional matrix, containing one row for
  every Skill of every Task of every Employee, with Employees or Tasks without
  linked Skills not being represented.

  There is a header row present with the following
  values, indicating the contents of every column (in order):

  | Field name   | Field description                              |
  | ------------ | ---------------------------------------------- |
  | employee\_id | The unique ID of the Employee.                 |
  | task\_id     | The unique ID of the Task.                     |
  | task         | The name/description of the Task.              |
  | skill\_id    | The unique ID of the Skill linked to the Task. |
  | skill        | The name of the Skill linked to the Task.      |
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    EMPLOYEE_INFO {
        string external_id PK
    }

    TASK_INFO {
        string task_id PK
    }

    SKILL_INFO {
        string skill_id PK
    }

    EMPLOYEE_TASK_TO_SKILL {
        string employee_id FK
        string task_id FK
        string task
        string skill_id FK
        string skill
    }

    EMPLOYEE_INFO ||--o{ EMPLOYEE_TASK_TO_SKILL : ""
    EMPLOYEE_TASK_TO_SKILL }o--o{ TASK_INFO : ""
    EMPLOYEE_TASK_TO_SKILL }o--o{ SKILL_INFO : ""
```

### Job to Task

Maps the relationship between Jobs and their Tasks, including validation states.

<Accordion title="View Job to Task export details">
  The Job to Task export provides an overview of all the Tasks of every Job.

  The CSV or XLSX represents a two-dimensional matrix, containing one row for
  every Task of every Job, with Jobs without Tasks not being represented.

  There is a header row present with the following
  values, indicating the contents of every column (in order):

  | Field name        | Field description                                                              |
  | ----------------- | ------------------------------------------------------------------------------ |
  | job\_id           | The unique ID of the Job.                                                      |
  | task\_id          | The unique ID of the Task.                                                     |
  | task              | The name/description of the Task.                                              |
  | validation\_state | The validation state of the Task; one of "validated", "suggested", "rejected". |
  | weekly\_hours     | Estimated number of hours spent on this Task per week.                         |
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    JOB_INFO {
        string external_id PK
    }

    JOB_TO_TASK {
        string job_id FK
        string task_id FK
        string task
        string validation_state
        int weekly_hours
    }

    TASK_INFO {
        string task_id PK
    }

    JOB_INFO ||--o{ JOB_TO_TASK : ""
    JOB_TO_TASK }o--o{ TASK_INFO : ""
```

### Job Task to Skill

Maps the relationship between Job Tasks and their associated Skills, showing
which Skills are linked to each Task for every Job.

<Accordion title="View Job Task to Skill export details">
  The Job Task to Skill export provides an overview of the Skills linked to every
  Task of every Job.

  The CSV or XLSX represents a two-dimensional matrix, containing one row for
  every Skill of every Task of every Job, with Jobs or Tasks without linked Skills
  not being represented.

  There is a header row present with the following
  values, indicating the contents of every column (in order):

  | Field name | Field description                              |
  | ---------- | ---------------------------------------------- |
  | job\_id    | The unique ID of the Job.                      |
  | task\_id   | The unique ID of the Task.                     |
  | task       | The name/description of the Task.              |
  | skill\_id  | The unique ID of the Skill linked to the Task. |
  | skill      | The name of the Skill linked to the Task.      |
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    JOB_INFO {
        string external_id PK
    }

    TASK_INFO {
        string task_id PK
    }

    SKILL_INFO {
        string skill_id PK
    }

    JOB_TASK_TO_SKILL {
        string job_id FK
        string task_id FK
        string task
        string skill_id FK
        string skill
    }

    JOB_INFO ||--o{ JOB_TASK_TO_SKILL : ""
    JOB_TASK_TO_SKILL }o--o{ TASK_INFO : ""
    JOB_TASK_TO_SKILL }o--o{ SKILL_INFO : ""
```

### Employee AI Goals

Provides an overview of AI Goals generated for every Employee, including all
historical versions. One row per AI Goal version per Employee.

<Accordion title="View Employee AI Goals export details">
  The Employee AI Goals export provides an overview of the AI development goals
  for every Employee, written to `employee_ai_goals.csv`.

  The CSV or XLSX represents a two-dimensional matrix, containing one row for
  every version of every Employee's AI Goal. Each row is uniquely identified by
  the `(employee_id, version)` pair.

  There is a header row present with the following values, indicating the
  contents of every column (in order):

  | Field name    | Field description                                                         |
  | ------------- | ------------------------------------------------------------------------- |
  | employee\_id  | The unique ID of the Employee the AI Goal belongs to.                     |
  | version       | Monotonically increasing version of the AI Goal for this Employee.        |
  | goal          | The AI development goal text.                                             |
  | description   | Detailed description of the goal.                                         |
  | job\_id       | The unique ID of the target Job, or empty if no specific Job is targeted. |
  | created\_on   | ISO 8601 timestamp for when this version of the goal was created.         |
  | last\_updated | ISO 8601 timestamp for the most recent update to this version.            |

  This export type requires the **Work Intelligence** feature, and additionally
  requires AI Goals to be enabled on the tenant. If Work Intelligence is enabled
  but AI Goals is not, the export type is listed but generation will fail.

  Currently supported destinations are SFTP, Visier and Crunchr.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    EMPLOYEE_INFO {
        string external_id PK
    }

    JOB_INFO {
        string external_id PK
    }

    EMPLOYEE_AI_GOALS {
        string employee_id PK
        int version PK
        string goal
        string description
        string job_id FK
        datetime created_on
        datetime last_updated
    }

    EMPLOYEE_INFO ||--o{ EMPLOYEE_AI_GOALS : ""
    EMPLOYEE_AI_GOALS }o--o| JOB_INFO : ""
```

### Employee Skill Gap

Shows the match score between Employees and their assigned positions, helping
identify Skill gaps.

<Accordion title="View Employee Skill Gap export details">
  The Employee Skill Gap export provides an overview of the match score between Employees and their assigned position.

  The CSV or XLSX represents a two-dimensional matrix, containing - besides the
  header row - a row for every Employee-Job match.

  The matrix has 3 columns, containing the following fields for every row (in
  order):

  | Field name   | Field description                                                                                                                                              |
  | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | employee\_id | The external ID of the Employee.                                                                                                                               |
  | job\_id      | The external ID of the Job that the Employee is assigned to. If the Employee has no assigned position, the field is left blank.                                |
  | score        | The match score between the Employee and the Job, expressed as a number between 0 and 1. If the Employee has no assigned position, this value is set to `0.0`. |

  Currently supported configurations are:

  * Mask `employee_id`: mask the Employee's external ID to protect privacy.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    EMPLOYEE_INFO {
        string external_id PK
    }

    JOB_INFO {
        string external_id PK
    }

    EMPLOYEE_SKILL_GAP {
        string employee_id FK
        string job_id FK
        float score
    }

    EMPLOYEE_INFO ||--o{ EMPLOYEE_SKILL_GAP : ""
    JOB_INFO ||--o{ EMPLOYEE_SKILL_GAP : ""
```

### Employee Skill Gap Explained

Provides detailed analysis of Skill gaps between Employees and their positions,
including adjacent Skills and alignment scores.

<Accordion title="View Employee Skill Gap Explained export details">
  The Skill Gap Explained export provides a detailed information of the match score between Employees and their assigned positions, including adjacent Skills and how closely they align with the required Skills for their assigned position.

  The CSV or XLSX represents a two-dimensional matrix, containing - besides the
  header row - a row for every Skill for every Employee-Job match.

  The matrix has 6 columns (10 if matching with skill properties is enabled),
  containing the following fields for every row (in order):

  | Field name                   | Field description                                                                                                                                                               |
  | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | employee\_id                 | The external ID of the Employee.                                                                                                                                                |
  | job\_id                      | The external ID of the Job that the Employee is assigned to.                                                                                                                    |
  | status                       | The current status of the match (e.g., "present", "missing").                                                                                                                   |
  | skill\_id                    | The external ID of the required Skill.                                                                                                                                          |
  | skill\_proficiency           | *(Optional)* The proficiency level required for the Skill by the Job. Only available if proficiency matching is enabled on the tenant.                                          |
  | critical                     | *(Optional)* Indicates whether the Skill is critical for the Job. Only available if criticality matching is enabled on the tenant.                                              |
  | adjacent\_skill\_id          | The external ID of the most similar adjacent Skill that the Employee has.                                                                                                       |
  | adjacent\_skill\_proficiency | *(Optional)* The proficiency level of the adjacent Skill. Only available if proficiency matching is enabled on the tenant.                                                      |
  | adjacency\_score             | The adjacency score between the required Skill and the adjacent Skill, expressed as a number between 0 and 1.                                                                   |
  | gap\_impact                  | *(Optional)* The impact of the skill gap on the match score. Possible values: `none`, `low`, `medium`, `high`. Only available if proficiency matching is enabled on the tenant. |

  Currently supported configurations are:

  * Mask `employee_id`: mask the Employee's external ID to protect privacy.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    EMPLOYEE_INFO {
        string external_id PK
    }

    JOB_INFO {
        string external_id PK
    }

    SKILL_INFO {
        string skill_id PK
    }

    EMPLOYEE_SKILL_GAP_EXPLAINED {
        string employee_id FK
        string job_id FK
        string status
        string skill_id FK
        string adjacent_skill_id FK
        float adjacency_score
    }

    EMPLOYEE_INFO ||--o{ EMPLOYEE_SKILL_GAP_EXPLAINED : ""
    JOB_INFO ||--o{ EMPLOYEE_SKILL_GAP_EXPLAINED : ""
    EMPLOYEE_SKILL_GAP_EXPLAINED }o--o{ SKILL_INFO : ""
```

### Internal Mobility <DeprecatedBadge />

Shows potential matches between Employees and Jobs within the organisation, with
match scores.

<Accordion title="View Internal Mobility export details">
  The internal mobility export provides an overview of potential matches between Employees and Jobs within the organisation, with their match score.
  It contains both the best matching Employees for each Job and the best matching Jobs for each Employee. Only active Jobs and Employees are included in the export.
  When matching Employees for a Job, Employees that have this Job assigned are excluded from the results. When matching Jobs for an Employee, the Employee's current Job is excluded from the results.

  The CSV or XLSX represents a two-dimensional matrix, containing - besides the
  header row - a row for every Employee-Job match.

  The matrix has 3 columns, containing the following fields for every row (in
  order):

  | Field name   | Field description                                                                        |
  | ------------ | ---------------------------------------------------------------------------------------- |
  | employee\_id | The external ID of the Employee.                                                         |
  | job\_id      | The external ID of the Job within the organisation.                                      |
  | score        | The match score between the Employee and the Job, expressed as a number between 0 and 1. |

  Currently supported configurations are:

  * Mask `employee_id`: mask the Employee's external ID to protect privacy.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    EMPLOYEE_INFO {
        string external_id PK
    }

    JOB_INFO {
        string external_id PK
    }

    INTERNAL_MOBILITY {
        string employee_id FK
        string job_id FK
        float score
    }

    EMPLOYEE_INFO ||--o{ INTERNAL_MOBILITY : ""
    JOB_INFO ||--o{ INTERNAL_MOBILITY : ""
```

### Internal Mobility Explained <DeprecatedBadge />

Provides detailed analysis of potential matches between Employees and Jobs,
including Skill-level comparisons.

<Accordion title="View Internal Mobility Explained export details">
  The internal mobility explained export provides an overview of potential matches between Employees and Jobs within the organisation, including adjacent Skills and how closely they align with the required Skills for the job.
  This export contains both the best matching Employees for each Job and the best matching Jobs for each Employee. Only active Jobs and Employees are included in the export.
  When matching Employees for a Job, Employees that have this Job assigned are excluded from the results. When matching Jobs for an Employee, the Employee's current Job is excluded from the results.

  The CSV or XLSX represents a two-dimensional matrix, containing - besides the
  header row - a row for every Skill of every Employee-Job match.

  The matrix has 6 columns, containing the following fields for every row (in
  order):

  | Field name          | Field description                                                                                             |
  | ------------------- | ------------------------------------------------------------------------------------------------------------- |
  | employee\_id        | The external ID of the Employee.                                                                              |
  | job\_id             | The external ID of the Job within the organisation.                                                           |
  | status              | The current status of the Internal Mobility match (e.g., "present", "missing").                               |
  | skill\_id           | The external ID of the required Skill.                                                                        |
  | adjacent\_skill\_id | The external ID of the most similar adjacent Skill that the Employee has.                                     |
  | adjacency\_score    | The adjacency score between the required Skill and the adjacent Skill, expressed as a number between 0 and 1. |

  Currently supported configurations are:

  * Mask `employee_id`: mask the Employee's external ID to protect privacy.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    EMPLOYEE_INFO {
        string external_id PK
    }

    JOB_INFO {
        string external_id PK
    }

    INTERNAL_MOBILITY_EXPLAINED {
        string employee_id FK
        string job_id FK
        string status
        string skill_id FK
        string adjacent_skill_id FK
        float adjacency_score
    }

    SKILL_INFO["Skill Info"] {
        string skill_id PK
    }

    EMPLOYEE_INFO ||--o{ INTERNAL_MOBILITY_EXPLAINED : ""
    JOB_INFO ||--o{ INTERNAL_MOBILITY_EXPLAINED : ""
    INTERNAL_MOBILITY_EXPLAINED }o--o{ SKILL_INFO : ""
```

### Matching Employees for Job

Shows the best suited Employees for every Job within the organisation, with
match scores.

<Accordion title="View Matching Employees for Job export details">
  The Matching Employees for Job export provides an overview of the best suited Employees for every Job within the organisation, with their match score. Only active Jobs and Employees are included in the export.
  The Employees that have the Job assigned are excluded from the results.

  The CSV or XLSX represents a two-dimensional matrix, containing - besides the
  header row - a row for every Employee-Job match.

  The matrix has 3 columns (4 if proficiency matching is enabled), containing the
  following fields for every row (in order):

  | Field name    | Field description                                                                                                                                                                                                                  |
  | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | employee\_id  | The external ID of the Employee.                                                                                                                                                                                                   |
  | job\_id       | The external ID of the Job within the organisation.                                                                                                                                                                                |
  | score         | The match score between the Employee and the Job, expressed as a number between 0 and 1.                                                                                                                                           |
  | overqualified | *(Optional)* Indicates whether the Employee is over-qualified for the Job. This is `true` when the Employee's skill level significantly exceeds the requirements. Only available if proficiency matching is enabled on the tenant. |

  Currently supported configurations are:

  * Mask `employee_id`: mask the Employee's external ID to protect privacy.
  * Set the `score_min_threshold`: only include Employees with a match score above
    this threshold, higher values mean stricter matching. When not set, the
    [default](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-employees#parameter-score-min-threshold)
    is used.
  * Set the `max_matches_per_entity`: limit how many matching Employees are shown
    for each Job. Higher numbers give you more options but significantly increases
    data size. When not set, the
    [default limit](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-employees#parameter-limit)
    is used.
  * Set
    [`include_overqualified`](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-employees#parameter-include-overqualified):
    when set to `true`, includes matches where the Employee is overqualified for
    the Job. Overqualified matches are those where the Employee's skill level
    significantly exceeds the requirements. Default is `true`. This filter will
    only work if proficiency matching is enabled on the tenant.
  * Set
    [`min_critical_skills_match_ratio`](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-employees#parameter-one-of-0):
    the minimum ratio of critical skills that must be matched. Only matches
    meeting or exceeding this ratio will be returned. When `null`, no critical
    skills ratio filtering is applied. Required range: 0 ≤ x ≤ 1. This filter will
    only work if criticality matching is enabled.
  * Set `exclude_low_data_available_entities`: when set to `true`, Employees with
    low data availability are excluded from the matching results.
  * Set `mapping_filter`: only keep rows where Employee and Job Custom Properties
    match the configured mapping.
  * Filters: add custom filters on Custom Properties to further refine the
    results. We currently support 3 types of filters:
    * [Custom Property](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-employees#custom-property)
      filter: filter out all Employees for which the given Custom Property does
      not match the condition defined by an operator and a value.
    * [Custom Property equal](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-employees#custom-property-equal)
      filter: filter out all Employees for which the Custom Property is not
      equal to the Custom Property of the Job.
    * [Custom Property is in](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-employees#custom-property-is-in)
      filter: filter out all Employees for which the `list` Custom Property does
      not contain the Custom Property of the Job.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    EMPLOYEE_INFO {
        string external_id PK
    }

    JOB_INFO {
        string external_id PK
    }

    MATCHING_EMPLOYEES_FOR_JOB {
        string employee_id FK
        string job_id FK
        float score
    }

    EMPLOYEE_INFO ||--o{ MATCHING_EMPLOYEES_FOR_JOB : ""
    JOB_INFO ||--o{ MATCHING_EMPLOYEES_FOR_JOB : ""
```

### Matching Employees for Job Explained

Provides detailed analysis of the best suited Employees for every Job within the
organisation, including Skill-level comparisons.

<Accordion title="View Matching Employees for Job Explained export details">
  The Matching Employees for Job Explained export provides an overview of the best suited Employees for every Job within the organisation, including adjacent Skills and how closely they align with the required Skills for the job.
  Only active Jobs and Employees are included in the export. The Employees that have the Job assigned are excluded from the results.

  The CSV or XLSX represents a two-dimensional matrix, containing - besides the
  header row - a row for every Skill of every Employee-Job match.

  The matrix has 6 columns (10 if matching with skill properties is enabled),
  containing the following fields for every row (in order):

  | Field name                   | Field description                                                                                                                                                                         |
  | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | employee\_id                 | The external ID of the Employee.                                                                                                                                                          |
  | job\_id                      | The external ID of the Job within the organisation.                                                                                                                                       |
  | status                       | The current status of the Internal Mobility match (e.g., "present", "missing").                                                                                                           |
  | skill\_id                    | The external ID of the required Skill.                                                                                                                                                    |
  | skill\_proficiency           | *(Optional)* The proficiency level required for the Skill by the Job. Only available if proficiency matching is enabled on the tenant.                                                    |
  | critical                     | *(Optional)* Indicates whether the Skill is critical for the Job. Only available if criticality matching is enabled on the tenant.                                                        |
  | adjacent\_skill\_id          | The external ID of the most similar adjacent Skill that the Employee has.                                                                                                                 |
  | adjacent\_skill\_proficiency | *(Optional)* The proficiency level of the adjacent Skill. Only available if proficiency matching is enabled on the tenant.                                                                |
  | adjacency\_score             | The adjacency score between the required Skill and the adjacent Skill, expressed as a number between 0 and 1.                                                                             |
  | gap\_impact                  | *(Optional)* The impact of the skill gap on the match score. Possible values: `none`, `low`, `medium`, `high`. Only available if matching with skill properties is enabled on the tenant. |

  Currently supported configurations are:

  * Mask `employee_id`: mask the Employee's external ID to protect privacy.
  * Set the `score_min_threshold`: only include Employees with a match score above
    this threshold, higher values mean stricter matching. When not set, the
    [default](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-employees#parameter-score-min-threshold)
    is used.
  * Set the `max_matches_per_entity`: limit how many matching Employees are shown
    for each Job. Higher numbers give you more options but significantly increases
    data size. When not set, the
    [default limit](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-employees#parameter-limit)
    is used.
  * Set
    [`include_overqualified`](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-employees#parameter-include-overqualified):
    when set to `true`, includes matches where the Employee is overqualified for
    the Job. Overqualified matches are those where the Employee's skill level
    significantly exceeds the requirements. Default is `true`. This filter will
    only work if proficiency matching is enabled on the tenant.
  * Set
    [`min_critical_skills_match_ratio`](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-employees#parameter-one-of-0):
    the minimum ratio of critical skills that must be matched. Only matches
    meeting or exceeding this ratio will be returned. When `null`, no critical
    skills ratio filtering is applied. Required range: 0 ≤ x ≤ 1. This filter will
    only work if criticality matching is enabled.
  * Set `exclude_low_data_available_entities`: when set to `true`, Employees with
    low data availability are excluded from the matching results.
  * Set `mapping_filter`: only keep rows where Employee and Job Custom Properties
    match the configured mapping.
  * Filters: add custom filters on Custom Properties to further refine the
    results. We currently support 3 types of filters:
    * [Custom Property](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-employees#custom-property)
      filter: filter out all Employees for which the given Custom Property does
      not match the condition defined by an operator and a value.
    * [Custom Property equal](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-employees#custom-property-equal)
      filter: filter out all Employees for which the Custom Property is not
      equal to the Custom Property of the Job.
    * [Custom Property is in](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-employees#custom-property-is-in)
      filter: filter out all Employees for which the `list` Custom Property does
      not contain the Custom Property of the Job.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    EMPLOYEE_INFO {
        string external_id PK
    }

    JOB_INFO {
        string external_id PK
    }

    MATCHING_EMPLOYEES_FOR_JOB_EXPLAINED {
        string employee_id FK
        string job_id FK
        string status
        string skill_id FK
        string adjacent_skill_id FK
        float adjacency_score
    }

    SKILL_INFO["Skill Info"] {
        string skill_id PK
    }

    EMPLOYEE_INFO ||--o{ MATCHING_EMPLOYEES_FOR_JOB_EXPLAINED : ""
    JOB_INFO ||--o{ MATCHING_EMPLOYEES_FOR_JOB_EXPLAINED : ""
    MATCHING_EMPLOYEES_FOR_JOB_EXPLAINED }o--o{ SKILL_INFO : ""
```

### Matching Jobs for Employee

Shows the best suited Jobs for every Employee within the organisation, with
match scores.

<Accordion title="View Matching Jobs for Employee export details">
  The Matching Jobs for Employee export provides an overview of the best suited Jobs for every Employee within the organisation, with their match score.
  Only active Jobs and Employees are included in the export. The Employee's current Job is excluded from the results.

  The CSV or XLSX represents a two-dimensional matrix, containing - besides the
  header row - a row for every Employee-Job match.

  The matrix has 3 columns (4 if proficiency matching is enabled), containing the
  following fields for every row (in order):

  | Field name    | Field description                                                                                                                                                                                                                  |
  | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | employee\_id  | The external ID of the Employee.                                                                                                                                                                                                   |
  | job\_id       | The external ID of the Job within the organisation.                                                                                                                                                                                |
  | score         | The match score between the Employee and the Job, expressed as a number between 0 and 1.                                                                                                                                           |
  | overqualified | *(Optional)* Indicates whether the Employee is over-qualified for the Job. This is `true` when the Employee's skill level significantly exceeds the requirements. Only available if proficiency matching is enabled on the tenant. |

  Currently supported configurations are:

  * Mask `employee_id`: mask the Employee's external ID to protect privacy.
  * Set the `score_min_threshold`: only include Jobs with a match score above this
    threshold, higher values mean stricter matching. When not set, the
    [default](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-employees-external-id-matching-jobs#parameter-score-min-threshold)
    is used.
  * Set the `max_matches_per_entity`: limit how many matching Jobs are shown for
    each Employee. Higher numbers give you more options but significantly
    increases data size. When not set, the
    [default limit](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-employees-external-id-matching-jobs#parameter-limit)
    is used.
  * Set
    [`include_overqualified`](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-employees-external-id-matching-jobs#parameter-include-overqualified):
    when set to `true`, includes matches where the Employee is overqualified for
    the Job. Overqualified matches are those where the Employee's skill level
    significantly exceeds the requirements. Default is `true`. This filter will
    only work if proficiency matching is enabled on the tenant.
  * Set
    [`min_critical_skills_match_ratio`](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-employees-external-id-matching-jobs#parameter-one-of-0):
    the minimum ratio of critical skills that must be matched. Only matches
    meeting or exceeding this ratio will be returned. When `null`, no critical
    skills ratio filtering is applied. Required range: 0 ≤ x ≤ 1. This filter will
    only work if criticality matching is enabled.
  * Set `exclude_low_data_available_entities`: when set to `true`, Jobs with low
    data availability are excluded from the matching results.
  * Set `mapping_filter`: only keep rows where Employee and Job Custom Properties
    match the configured mapping.
  * Filters: add custom filters on Custom Properties to further refine the
    results. We currently support 3 types of filters:
    * [Custom Property](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-employees-external-id-matching-jobs#custom-property)
      filter: filter out all Jobs for which the given Custom Property does not
      match the condition defined by an operator and a value.
    * [Custom Property equal](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-employees-external-id-matching-jobs#custom-property-equal)
      filter: filter out all Jobs for which the Custom Property is not equal to
      the Custom Property of the Employee.
    * [Custom Property is in](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-employees-external-id-matching-jobs#custom-property-is-in)
      filter: filter out all Jobs for which the `list` Custom Property does not
      contain the Custom Property of the Employee.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    EMPLOYEE_INFO {
        string external_id PK
    }

    JOB_INFO {
        string external_id PK
    }

    MATCHING_JOBS_FOR_EMPLOYEE {
        string employee_id FK
        string job_id FK
        float score
    }

    EMPLOYEE_INFO ||--o{ MATCHING_JOBS_FOR_EMPLOYEE : ""
    JOB_INFO ||--o{ MATCHING_JOBS_FOR_EMPLOYEE : ""
```

### Matching Jobs for Employees Explained

Provides detailed analysis of the best suited Jobs for every Employee within the
organisation, including Skill-level comparisons.

<Accordion title="View Matching Jobs for Employee Explained export details">
  The Matching Jobs for Employee Explained export provides an overview of the best suited Jobs for every Employee within the organisation, including adjacent Skills and how closely they align with the required Skills for the job.
  Only active Jobs and Employees are included in the export. The Employee's current Job is excluded from the results.

  The CSV or XLSX represents a two-dimensional matrix, containing - besides the
  header row - a row for every Skill of every Employee-Job match.

  The matrix has 6 columns (10 if matching with skill properties is enabled),
  containing the following fields for every row (in order):

  | Field name                   | Field description                                                                                                                                                                         |
  | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | employee\_id                 | The external ID of the Employee.                                                                                                                                                          |
  | job\_id                      | The external ID of the Job within the organisation.                                                                                                                                       |
  | status                       | The current status of the Internal Mobility match (e.g., "present", "missing").                                                                                                           |
  | skill\_id                    | The external ID of the required Skill.                                                                                                                                                    |
  | skill\_proficiency           | *(Optional)* The proficiency level required for the Skill by the Job. Only available if proficiency matching is enabled on the tenant.                                                    |
  | critical                     | *(Optional)* Indicates whether the Skill is critical for the Job. Only available if criticality matching is enabled on the tenant.                                                        |
  | adjacent\_skill\_id          | The external ID of the most similar adjacent Skill that the Employee has.                                                                                                                 |
  | adjacent\_skill\_proficiency | *(Optional)* The proficiency level of the adjacent Skill. Only available if proficiency matching is enabled on the tenant.                                                                |
  | adjacency\_score             | The adjacency score between the required Skill and the adjacent Skill, expressed as a number between 0 and 1.                                                                             |
  | gap\_impact                  | *(Optional)* The impact of the skill gap on the match score. Possible values: `none`, `low`, `medium`, `high`. Only available if matching with skill properties is enabled on the tenant. |

  Currently supported configurations are:

  * Mask `employee_id`: mask the Employee's external ID to protect privacy.
  * Set the `score_min_threshold`: only include Jobs with a match score above this
    threshold, higher values mean stricter matching. When not set, the
    [default](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-employees-external-id-matching-jobs#parameter-score-min-threshold)
    is used.
  * Set the `max_matches_per_entity`: limit how many matching Jobs are shown for
    each Employee. Higher numbers give you more options but significantly
    increases data size. When not set, the
    [default limit](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-employees-external-id-matching-jobs#parameter-limit)
    is used.
  * Set
    [`include_overqualified`](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-employees-external-id-matching-jobs#parameter-include-overqualified):
    when set to `true`, includes matches where the Employee is overqualified for
    the Job. Overqualified matches are those where the Employee's skill level
    significantly exceeds the requirements. Default is `true`. This filter will
    only work if proficiency matching is enabled on the tenant.
  * Set
    [`min_critical_skills_match_ratio`](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-employees-external-id-matching-jobs#parameter-one-of-0):
    the minimum ratio of critical skills that must be matched. Only matches
    meeting or exceeding this ratio will be returned. When `null`, no critical
    skills ratio filtering is applied. Required range: 0 ≤ x ≤ 1. This filter will
    only work if criticality matching is enabled.
  * Set `exclude_low_data_available_entities`: when set to `true`, Jobs with low
    data availability are excluded from the matching results.
  * Set `mapping_filter`: only keep rows where Employee and Job Custom Properties
    match the configured mapping.
  * Filters: add custom filters on Custom Properties to further refine the
    results. We currently support 3 types of filters:
    * [Custom Property](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-employees-external-id-matching-jobs#custom-property)
      filter: filter out all Jobs for which the given Custom Property does not
      match the condition defined by an operator and a value.
    * [Custom Property equal](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-employees-external-id-matching-jobs#custom-property-equal)
      filter: filter out all Jobs for which the Custom Property is not equal to
      the Custom Property of the Employee.
    * [Custom Property is in](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-employees-external-id-matching-jobs#custom-property-is-in)
      filter: filter out all Jobs for which the `list` Custom Property does not
      contain the Custom Property of the Employee.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    EMPLOYEE_INFO {
        string external_id PK
    }

    JOB_INFO {
        string external_id PK
    }

    MATCHING_JOBS_FOR_EMPLOYEE_EXPLAINED {
        string employee_id FK
        string job_id FK
        string status
        string skill_id FK
        string adjacent_skill_id FK
        float adjacency_score
    }

    SKILL_INFO["Skill Info"] {
        string skill_id PK
    }

    EMPLOYEE_INFO ||--o{ MATCHING_JOBS_FOR_EMPLOYEE_EXPLAINED : ""
    JOB_INFO ||--o{ MATCHING_JOBS_FOR_EMPLOYEE_EXPLAINED : ""
    MATCHING_JOBS_FOR_EMPLOYEE_EXPLAINED }o--o{ SKILL_INFO : ""
```

### Matching source Jobs for Jobs

Shows the most relevant Jobs from which potential candidates can be hired to
fill a given Job's Skill requirements, with match scores. This helps identify
which existing Jobs within your organisation could serve as talent pools for
filling open positions.

<Accordion title="View Matching source Jobs for Jobs export details">
  The Matching source Jobs for Jobs export provides an overview of the most relevant Jobs from
  which potential candidates can be hired to fill a given Job's Skill requirements for every Job
  within the organisation, with their match score. Only active Jobs are considered as potential
  source Jobs. A given Job cannot be a source Job for itself.

  The CSV or XLSX represents a two-dimensional matrix, containing - besides the
  header row - a row for every match between Job and source Job.

  The matrix has 3 columns, containing the following fields for every row (in
  order):

  | Field name      | Field description                                                                             |
  | --------------- | --------------------------------------------------------------------------------------------- |
  | job\_id         | The external ID of the Job.                                                                   |
  | source\_job\_id | The external ID of the source Job from which potential candidates can be hired.               |
  | score           | The matching score between the Job and the source Job, expressed as a number between 0 and 1. |

  Currently supported configurations are:

  * Set the `score_min_threshold`: only include source Jobs with a match score
    above this threshold, higher values mean stricter matching. When not set, the
    [default](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-source-jobs#parameter-score-min-threshold)
    is used.
  * Set the `max_matches_per_entity`: limit how many matching source Jobs are
    shown for each Job. Higher numbers give you more options but significantly
    increases data size. When not set, the
    [default limit](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-source-jobs#parameter-limit)
    is used.
  * Set `exclude_low_data_available_entities`: when set to `true`, Jobs with low
    data availability are excluded from the matching results.
  * Filters: add custom filters on Custom Properties to further refine the
    results. We currently support 3 types of filters:
    * [Custom Property](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-source-jobs#custom-property)
      filter: filter out all source Jobs for which the given Custom Property
      does not match the condition defined by an operator and a value.
    * [Custom Property equal](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-source-jobs#custom-property-equal)
      filter: filter out all source Jobs for which the Custom Property is not
      equal to the Custom Property of the Job.
    * [Custom Property is in](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-source-jobs#custom-property-is-in)
      filter: filter out all source Jobs for which the `list` Custom Property
      does not contain the Custom Property of the Job.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    JOB_INFO {
        string external_id      PK
    }

    MATCHING_SOURCE_JOBS {
        string job_id           FK
        string source_job_id    FK
        float  adjacency_score
    }

    JOB_INFO }o--o{ MATCHING_SOURCE_JOBS : ""
```

### Matching source Jobs for Jobs explained

Provides detailed analysis of the most relevant Jobs from which potential
candidates can be hired to fill a given Job's Skill requirements, including
Skill-level comparisons. This helps identify which existing Jobs within your
organisation could serve as talent pools for filling open positions.

<Accordion title="View Matching source Jobs for Jobs explained export details">
  The Matching source Jobs for Jobs explained export provides detailed analysis of the most
  relevant Jobs from which potential candidates can be hired to fill a given Job's Skill
  requirements, including adjacent Skills and how closely they align with the required Skills.
  Only active Jobs are considered as potential source Jobs. A given Job cannot be a source Job
  for itself.

  The CSV or XLSX represents a two-dimensional matrix, containing - besides the
  header row - a row for every match between Job and source Job.

  The matrix has 6 columns, containing the following fields for every row (in
  order):

  | Field name          | Field description                                                                                                         |
  | ------------------- | ------------------------------------------------------------------------------------------------------------------------- |
  | job\_id             | The external ID of the Job.                                                                                               |
  | source\_job\_id     | The external ID of the source Job from which potential candidates can be hired.                                           |
  | skill\_id           | Universally unique ID of the Skill required by the Job.                                                                   |
  | status              | Can be "missing" or "present". If "missing", the Skill is required by the Job, but is missing from the source Job.        |
  | adjacent\_skill\_id | If status is "present", this field indicates the universally unique Skill ID of the Skill adjacent to the required Skill. |
  | adjacency\_score    | The adjacency score between the Skill and the adjacent Skill, expressed as a number between 0 and 1.                      |

  Currently supported configurations are:

  * Set the `score_min_threshold`: only include source Jobs with a match score
    above this threshold, higher values mean stricter matching. When not set, the
    [default](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-source-jobs#parameter-score-min-threshold)
    is used.
  * Set the `max_matches_per_entity`: limit how many matching source Jobs are
    shown for each Job. Higher numbers give you more options but significantly
    increases data size. When not set, the
    [default limit](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-source-jobs#parameter-limit)
    is used.
  * Set `exclude_low_data_available_entities`: when set to `true`, Jobs with low
    data availability are excluded from the matching results.
  * Filters: add custom filters on Custom Properties to further refine the
    results. We currently support 3 types of filters:
    * [Custom Property](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-source-jobs#custom-property)
      filter: filter out all source Jobs for which the given Custom Property
      does not match the condition defined by an operator and a value.
    * [Custom Property equal](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-source-jobs#custom-property-equal)
      filter: filter out all source Jobs for which the Custom Property is not
      equal to the Custom Property of the Job.
    * [Custom Property is in](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-source-jobs#custom-property-is-in)
      filter: filter out all source Jobs for which the `list` Custom Property
      does not contain the Custom Property of the Job.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    JOB_INFO {
        string external_id      PK
    }

    MATCHING_SOURCE_JOBS_EXPLAINED {
        string job_id               FK
        string source_job_id        FK
        string skill_id             FK
        string status
        string adjacent_skill_id    FK
        float  adjacency_score
    }

    SKILL_INFO {
        string skill_id         PK
    }

    JOB_INFO }o--o{ MATCHING_SOURCE_JOBS_EXPLAINED : ""
    MATCHING_SOURCE_JOBS_EXPLAINED }o--o{ SKILL_INFO : ""
```

### Matching target Jobs for Jobs

Shows the most relevant Jobs to which Employees in a Job can be moved based on
Job Skill requirements for each Job of the organisation, with match scores. This
helps identify potential career paths for Employees currently in specific Jobs.

<Accordion title="View Matching target Jobs for Jobs export details">
  The Matching target Jobs for Jobs export provides an overview of the most relevant Jobs to
  which Employees in a Job can be moved based on Job Skill requirements for each Job of the
  organisation, with their match score. Only active Jobs are considered as potential
  target Jobs. A given Job cannot be a target Job for itself.

  The CSV or XLSX represents a two-dimensional matrix, containing - besides the
  header row - a row for every match between Job and target Job.

  The matrix has 3 columns, containing the following fields for every row (in
  order):

  | Field name      | Field description                                                                             |
  | --------------- | --------------------------------------------------------------------------------------------- |
  | job\_id         | The external ID of the Job.                                                                   |
  | target\_job\_id | The external ID of the target Job to which employees in the given Job can be moved.           |
  | score           | The matching score between the Job and the target Job, expressed as a number between 0 and 1. |

  Currently supported configurations are:

  * Set the `score_min_threshold`: only include target Jobs with a match score
    above this threshold, higher values mean stricter matching. When not set, the
    [default](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-target-jobs#parameter-score-min-threshold)
    is used.
  * Set the `max_matches_per_entity`: limit how many matching target Jobs are
    shown for each Job. Higher numbers give you more options but significantly
    increases data size. When not set, the
    [default limit](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-target-jobs#parameter-limit)
    is used.
  * Set `exclude_low_data_available_entities`: when set to `true`, Jobs with low
    data availability are excluded from the matching results.
  * Filters: add custom filters on Custom Properties to further refine the
    results. We currently support 3 types of filters:
    * [Custom Property](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-target-jobs#custom-property)
      filter: filter out all target Jobs for which the given Custom Property
      does not match the condition defined by an operator and a value.
    * [Custom Property equal](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-target-jobs#custom-property-equal)
      filter: filter out all target Jobs for which the Custom Property is not
      equal to the Custom Property of the Job.
    * [Custom Property is in](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-target-jobs#custom-property-is-in)
      filter: filter out all target Jobs for which the `list` Custom Property
      does not contain the Custom Property of the Job.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    JOB_INFO {
        string external_id      PK
    }

    MATCHING_TARGET_JOBS {
        string job_id           FK
        string target_job_id    FK
        float  adjacency_score
    }

    JOB_INFO }o--o{ MATCHING_TARGET_JOBS : ""
```

### Matching target Jobs for Jobs explained

Provides detailed analysis of the most relevant Jobs to which Employees in a Job
can be moved based on Job Skill requirements for each Job of the organisation,
including Skill-level comparisons. This helps identify potential career paths
for Employees currently in specific Jobs.

<Accordion title="View Matching target Jobs for Jobs explained export details">
  The Matching target Jobs for Jobs Explained export provides an overview of the most
  relevant Jobs to which Employees in a Job can be moved based on Job Skill requirements
  for each Job of the organisation, including adjacent Skills and how closely they align
  with the required Skills. Only active Jobs are considered as potential target Jobs. A
  given Job cannot be a target Job for itself.

  The CSV or XLSX represents a two-dimensional matrix, containing - besides the
  header row - a row for every match between Job and target Job.

  The matrix has 6 columns, containing the following fields for every row (in
  order):

  | Field name          | Field description                                                                                                         |
  | ------------------- | ------------------------------------------------------------------------------------------------------------------------- |
  | job\_id             | The external ID of the Job.                                                                                               |
  | target\_job\_id     | The external ID of the target Job to which employees in the Job can be moved based on Job Skill requirements.             |
  | skill\_id           | Universally unique ID of the Skill required by the target Job.                                                            |
  | status              | Can be "missing" or "present". If "missing", the Skill is required by the target Job, but is missing from the Job.        |
  | adjacent\_skill\_id | If status is "present", this field indicates the universally unique Skill ID of the Skill adjacent to the required Skill. |
  | adjacency\_score    | The adjacency score between the Skill and the adjacent Skill, expressed as a number between 0 and 1.                      |

  Currently supported configurations are:

  * Set the `score_min_threshold`: only include target Jobs with a match score
    above this threshold, higher values mean stricter matching. When not set, the
    [default](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-target-jobs#parameter-score-min-threshold)
    is used.
  * Set the `max_matches_per_entity`: limit how many matching target Jobs are
    shown for each Job. Higher numbers give you more options but significantly
    increases data size. When not set, the
    [default limit](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-target-jobs#parameter-limit)
    is used.
  * Set `exclude_low_data_available_entities`: when set to `true`, Jobs with low
    data availability are excluded from the matching results.
  * Filters: add custom filters on Custom Properties to further refine the
    results. We currently support 3 types of filters:
    * [Custom Property](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-target-jobs#custom-property)
      filter: filter out all target Jobs for which the given Custom Property
      does not match the condition defined by an operator and a value.
    * [Custom Property equal](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-target-jobs#custom-property-equal)
      filter: filter out all target Jobs for which the Custom Property is not
      equal to the Custom Property of the Job.
    * [Custom Property is in](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-external-id-matching-target-jobs#custom-property-is-in)
      filter: filter out all target Jobs for which the `list` Custom Property
      does not contain the Custom Property of the Job.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    JOB_INFO {
        string external_id      PK
    }

    MATCHING_TARGET_JOBS_EXPLAINED {
        string job_id               FK
        string target_job_id        FK
        string skill_id             FK
        string status
        string adjacent_skill_id    FK
        float  adjacency_score
    }

    SKILL_INFO {
        string skill_id         PK
    }

    JOB_INFO }o--o{ MATCHING_TARGET_JOBS_EXPLAINED : ""
    MATCHING_TARGET_JOBS_EXPLAINED }o--o{ SKILL_INFO : ""
```

### Matching Jobs by Tasks

Shows the most relevant Jobs to each Job based on the Tasks they share, with
match scores. Unlike the Skill-based Job matching exports, this export compares
Jobs on their Task profiles, making it useful for task-based role design and
internal mobility.

<Accordion title="View Matching Jobs by Tasks export details">
  The Matching Jobs by Tasks export provides the top task-based matching Jobs for every
  Job within the organisation, with their match score. The score is symmetric: a single
  score is returned per Job pair. Because the result limit is applied per source Job, both
  the (A, B) and (B, A) rows can appear if both Jobs rank each other within their limit.
  Only active Jobs are included in the results. A given Job cannot match itself.

  This export is part of TechWolf's Work Intelligence offering and requires Work
  Intelligence to be enabled on the tenant.

  The CSV or XLSX represents a two-dimensional matrix, containing - besides the
  header row - a row for every match between Job and matching Job.

  The matrix has 3 columns, containing the following fields for every row (in
  order):

  | Field name      | Field description                                                                                 |
  | --------------- | ------------------------------------------------------------------------------------------------- |
  | job\_id         | The external ID of the source Job.                                                                |
  | target\_job\_id | The external ID of one of its top task-based matching Jobs.                                       |
  | score           | The symmetric task-based match score between the two Jobs, expressed as a number between 0 and 1. |

  Currently supported configurations are:

  * Set the `max_matches_per_entity`: limit how many matching Jobs are shown for
    each source Job. Higher numbers give you more options but significantly
    increases data size. When not set, the
    [default limit](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-job-external-id-matching-jobs-by-tasks#parameter-limit)
    is used.
  * Filters: add custom filters on Custom Properties to further refine the
    results. We currently support 3 types of filters:
    * [Custom Property](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-job-external-id-matching-jobs-by-tasks#custom-property)
      filter: filter out all matching Jobs for which the given Custom Property
      does not match the condition defined by an operator and a value.
    * [Custom Property equal](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-job-external-id-matching-jobs-by-tasks#custom-property-equal)
      filter: filter out all matching Jobs for which the Custom Property is not
      equal to the Custom Property of the Job.
    * [Custom Property is in](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-job-external-id-matching-jobs-by-tasks#custom-property-is-in)
      filter: filter out all matching Jobs for which the `list` Custom Property
      does not contain the Custom Property of the Job.

  These are the only filter types this export accepts. Matching is automatically
  restricted to active Jobs (the `is_active` filter is applied for you), so
  `is_active` is not a configurable filter here.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    JOB_INFO {
        string external_id      PK
    }

    MATCHING_JOBS_BY_TASKS {
        string job_id           FK
        string target_job_id    FK
        float  score
    }

    JOB_INFO }o--o{ MATCHING_JOBS_BY_TASKS : ""
```

### Matching Jobs by Tasks explained

Provides a per-Task breakdown of the task-based Job-to-Job matches, showing for
each Job pair which Tasks contributed to the match and which Tasks had no
sufficiently similar counterpart. This helps explain why two Jobs are considered
task-relevant to each other.

<Accordion title="View Matching Jobs by Tasks explained export details">
  The Matching Jobs by Tasks explained export expands every Job pair from the Matching
  Jobs by Tasks export into one row per Task per direction. Because the match is symmetric,
  each pair is evaluated in both directions: `source_to_target` covers the Tasks on the
  source Job (`job_id`) matched against the target Job, and `target_to_source` covers the
  Tasks on the target Job (`target_job_id`) matched against the source Job. A Task is
  marked `present` when it has a sufficiently similar Task on the other side (its adjacent
  Task), or `missing` when it does not. Only active Jobs are included, and a given Job
  cannot match itself.

  This export is produced from the same matching call as the Matching Jobs by Tasks export
  (it uses `response_format=explained`), so both files describe the same Job pairs.

  This export is part of TechWolf's Work Intelligence offering and requires Work
  Intelligence to be enabled on the tenant.

  The CSV or XLSX represents a two-dimensional matrix, containing - besides the
  header row - a row for every Task on either side of every Job pair.

  The matrix has 10 columns, containing the following fields for every row (in
  order):

  | Field name           | Field description                                                                                                                                |
  | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
  | job\_id              | The external ID of the source Job.                                                                                                               |
  | target\_job\_id      | The external ID of the matching Job.                                                                                                             |
  | task\_id             | The unique ID of the Task on the side indicated by `direction`.                                                                                  |
  | task\_name           | The name of the Task.                                                                                                                            |
  | status               | Either "present" (the Task has a sufficiently similar Task on the other Job) or "missing" (it does not, so it contributes nothing to the match). |
  | direction            | Either "source\_to\_target" (the Task is on the source Job) or "target\_to\_source" (the Task is on the target Job).                             |
  | adjacent\_task\_id   | The unique ID of the most similar Task on the other Job, against which the Task was matched. Empty for "missing" rows.                           |
  | adjacent\_task\_name | The name of the adjacent Task. Empty for "missing" rows.                                                                                         |
  | adjacency\_score     | The similarity between the Task and its adjacent Task, expressed as a number between 0 and 1. Empty for "missing" rows.                          |
  | hours\_share         | The Task's share of its direction's weighted-hours total, expressed as a number between 0 and 1. Empty for "missing" rows.                       |

  Currently supported configurations are:

  * Set the `max_matches_per_entity`: limit how many matching Jobs are shown for
    each source Job. Higher numbers give you more options but significantly
    increases data size. When not set, the
    [default limit](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-job-external-id-matching-jobs-by-tasks#parameter-limit)
    is used.
  * Filters: add custom filters on Custom Properties to further refine the
    results. We currently support 3 types of filters:
    * [Custom Property](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-job-external-id-matching-jobs-by-tasks#custom-property)
      filter: filter out all matching Jobs for which the given Custom Property
      does not match the condition defined by an operator and a value.
    * [Custom Property equal](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-job-external-id-matching-jobs-by-tasks#custom-property-equal)
      filter: filter out all matching Jobs for which the Custom Property is not
      equal to the Custom Property of the Job.
    * [Custom Property is in](https://developers.techwolf.ai/reference/latest/Matchmaking/Job%20Matching/post-job-architecture-jobs-job-external-id-matching-jobs-by-tasks#custom-property-is-in)
      filter: filter out all matching Jobs for which the `list` Custom Property
      does not contain the Custom Property of the Job.

  These are the only filter types this export accepts. Matching is automatically
  restricted to active Jobs (the `is_active` filter is applied for you), so
  `is_active` is not a configurable filter here.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    JOB_INFO {
        string external_id      PK
    }

    MATCHING_JOBS_BY_TASKS_EXPLAINED {
        string job_id              FK
        string target_job_id       FK
        string task_id
        string task_name
        string status
        string direction
        string adjacent_task_id
        string adjacent_task_name
        float  adjacency_score
        float  hours_share
    }

    JOB_INFO }o--o{ MATCHING_JOBS_BY_TASKS_EXPLAINED : ""
```

### Matching Vacancies for Employee

Shows the best suited Vacancies for every Employee within the organisation, with
match scores.

<Accordion title="View Matching Vacancies for Employee export details">
  The Matching Vacancies for Employee export provides an overview of the best suited Vacancies for every Employee within the organisation, with their match score.
  Only active Vacancies and Employees are included in the export.

  The CSV or XLSX represents a two-dimensional matrix, containing - besides the
  header row - a row for every Employee-Vacancy match.

  The matrix has 3 columns, containing the following fields for every row (in
  order):

  | Field name   | Field description                                                                            |
  | ------------ | -------------------------------------------------------------------------------------------- |
  | employee\_id | The external ID of the Employee.                                                             |
  | vacancy\_id  | The external ID of the Vacancy within the organisation.                                      |
  | score        | The match score between the Employee and the Vacancy, expressed as a number between 0 and 1. |

  Currently supported configurations are:

  * Mask `employee_id`: mask the Employee's external ID to protect privacy.
  * Set the `score_min_threshold`: only include Vacancies with a match score above
    this threshold, higher values mean stricter matching. When not set, the
    [default](https://developers.techwolf.ai/reference/latest/Matchmaking/Vacancy%20Matching/post-employees-external-id-matching-vacancies#parameter-score-min-threshold)
    is used.
  * Set the `max_matches_per_entity`: limit how many matching Vacancies are shown
    for each Employee. Higher numbers give you more options but significantly
    increases data size. When not set, the
    [default limit](https://developers.techwolf.ai/reference/latest/Matchmaking/Vacancy%20Matching/post-employees-external-id-matching-vacancies#parameter-limit)
    is used.
  * Set `exclude_low_data_available_entities`: when set to `true`, Vacancies with
    low data availability are excluded from the matching results.
  * Weights: configure weights to influence the matching score. Supported weights
    are `skills_match`, `desired_functions`, and `geo_distance` (with
    `full_score_distance` and `zero_score_distance` parameters).
  * Filters: add custom filters on Custom Properties to further refine the
    results. We currently support 3 types of filters:
    * [Custom Property](https://developers.techwolf.ai/reference/latest/Matchmaking/Vacancy%20Matching/post-employees-external-id-matching-vacancies#custom-property)
      filter: filter out all Vacancies for which the given Custom Property does
      not match the condition defined by an operator and a value.
    * [Custom Property equal](https://developers.techwolf.ai/reference/latest/Matchmaking/Vacancy%20Matching/post-employees-external-id-matching-vacancies#custom-property-equal)
      filter: filter out all Vacancies for which the Custom Property is not
      equal to the Custom Property of the Employee.
    * [Custom Property is in](https://developers.techwolf.ai/reference/latest/Matchmaking/Vacancy%20Matching/post-employees-external-id-matching-vacancies#custom-property-is-in)
      filter: filter out all Vacancies for which the `list` Custom Property does
      not contain the Custom Property of the Employee.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    EMPLOYEE_INFO {
        string external_id PK
    }

    MATCHING_VACANCIES_FOR_EMPLOYEE {
        string employee_id FK
        string vacancy_id
        float score
    }

    EMPLOYEE_INFO ||--o{ MATCHING_VACANCIES_FOR_EMPLOYEE : ""
```

### Matching Vacancies for Employee Explained

Provides detailed analysis of the best suited Vacancies for every Employee
within the organisation, including Skill-level comparisons.

<Accordion title="View Matching Vacancies for Employee Explained export details">
  The Matching Vacancies for Employee Explained export provides an overview of the best suited Vacancies for every Employee within the organisation, including adjacent Skills and how closely they align with the required Skills for the Vacancy.
  Only active Vacancies and Employees are included in the export.

  The CSV or XLSX represents a two-dimensional matrix, containing - besides the
  header row - a row for every Skill of every Employee-Vacancy match.

  The matrix has 6 columns, containing the following fields for every row (in
  order):

  | Field name          | Field description                                                                                             |
  | ------------------- | ------------------------------------------------------------------------------------------------------------- |
  | employee\_id        | The external ID of the Employee.                                                                              |
  | vacancy\_id         | The external ID of the Vacancy within the organisation.                                                       |
  | status              | The current status of the match (e.g., "present", "missing").                                                 |
  | skill\_id           | The external ID of the required Skill.                                                                        |
  | adjacent\_skill\_id | The external ID of the most similar adjacent Skill that the Employee has.                                     |
  | adjacency\_score    | The adjacency score between the required Skill and the adjacent Skill, expressed as a number between 0 and 1. |

  Currently supported configurations are:

  * Mask `employee_id`: mask the Employee's external ID to protect privacy.
  * Set the `score_min_threshold`: only include Vacancies with a match score above
    this threshold, higher values mean stricter matching. When not set, the
    [default](https://developers.techwolf.ai/reference/latest/Matchmaking/Vacancy%20Matching/post-employees-external-id-matching-vacancies#parameter-score-min-threshold)
    is used.
  * Set the `max_matches_per_entity`: limit how many matching Vacancies are shown
    for each Employee. Higher numbers give you more options but significantly
    increases data size. When not set, the
    [default limit](https://developers.techwolf.ai/reference/latest/Matchmaking/Vacancy%20Matching/post-employees-external-id-matching-vacancies#parameter-limit)
    is used.
  * Set `exclude_low_data_available_entities`: when set to `true`, Vacancies with
    low data availability are excluded from the matching results.
  * Weights: configure weights to influence the matching score. Supported weights
    are `skills_match`, `desired_functions`, and `geo_distance` (with
    `full_score_distance` and `zero_score_distance` parameters).
  * Filters: add custom filters on Custom Properties to further refine the
    results. We currently support 3 types of filters:
    * [Custom Property](https://developers.techwolf.ai/reference/latest/Matchmaking/Vacancy%20Matching/post-employees-external-id-matching-vacancies#custom-property)
      filter: filter out all Vacancies for which the given Custom Property does
      not match the condition defined by an operator and a value.
    * [Custom Property equal](https://developers.techwolf.ai/reference/latest/Matchmaking/Vacancy%20Matching/post-employees-external-id-matching-vacancies#custom-property-equal)
      filter: filter out all Vacancies for which the Custom Property is not
      equal to the Custom Property of the Employee.
    * [Custom Property is in](https://developers.techwolf.ai/reference/latest/Matchmaking/Vacancy%20Matching/post-employees-external-id-matching-vacancies#custom-property-is-in)
      filter: filter out all Vacancies for which the `list` Custom Property does
      not contain the Custom Property of the Employee.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    EMPLOYEE_INFO {
        string external_id PK
    }

    MATCHING_VACANCIES_FOR_EMPLOYEE_EXPLAINED {
        string employee_id FK
        string vacancy_id
        string status
        string skill_id FK
        string adjacent_skill_id FK
        float adjacency_score
    }

    SKILL_INFO["Skill Info"] {
        string skill_id PK
    }

    EMPLOYEE_INFO ||--o{ MATCHING_VACANCIES_FOR_EMPLOYEE_EXPLAINED : ""
    MATCHING_VACANCIES_FOR_EMPLOYEE_EXPLAINED }o--o{ SKILL_INFO : ""
```

### Matching Employees for Vacancy

Shows the best suited Employees for every Vacancy within the organisation, with
match scores.

<Accordion title="View Matching Employees for Vacancy export details">
  The Matching Employees for Vacancy export provides an overview of the best suited Employees for every Vacancy within the organisation, with their match score. Only active Vacancies and Employees are included in the export.

  The CSV or XLSX represents a two-dimensional matrix, containing - besides the
  header row - a row for every Employee-Vacancy match.

  The matrix has 3 columns, containing the following fields for every row (in
  order):

  | Field name   | Field description                                                                            |
  | ------------ | -------------------------------------------------------------------------------------------- |
  | employee\_id | The external ID of the Employee.                                                             |
  | vacancy\_id  | The external ID of the Vacancy within the organisation.                                      |
  | score        | The match score between the Employee and the Vacancy, expressed as a number between 0 and 1. |

  Currently supported configurations are:

  * Mask `employee_id`: mask the Employee's external ID to protect privacy.
  * Set the `score_min_threshold`: only include Employees with a match score above
    this threshold, higher values mean stricter matching. When not set, the
    [default](https://developers.techwolf.ai/reference/latest/Matchmaking/Vacancy%20Matching/post-vacancies-external-id-matching-employees#parameter-score-min-threshold)
    is used.
  * Set the `max_matches_per_entity`: limit how many matching Employees are shown
    for each Vacancy. Higher numbers give you more options but significantly
    increases data size. When not set, the
    [default limit](https://developers.techwolf.ai/reference/latest/Matchmaking/Vacancy%20Matching/post-vacancies-external-id-matching-employees#parameter-limit)
    is used.
  * Set `exclude_low_data_available_entities`: when set to `true`, Employees with
    low data availability are excluded from the matching results.
  * Weights: configure weights to influence the matching score. Supported weights
    are `skills_match`, `desired_functions`, and `geo_distance` (with
    `full_score_distance` and `zero_score_distance` parameters).
  * Filters: add custom filters on Custom Properties to further refine the
    results. We currently support 3 types of filters:
    * [Custom Property](https://developers.techwolf.ai/reference/latest/Matchmaking/Vacancy%20Matching/post-vacancies-external-id-matching-employees#custom-property)
      filter: filter out all Employees for which the given Custom Property does
      not match the condition defined by an operator and a value.
    * [Custom Property equal](https://developers.techwolf.ai/reference/latest/Matchmaking/Vacancy%20Matching/post-vacancies-external-id-matching-employees#custom-property-equal)
      filter: filter out all Employees for which the Custom Property is not
      equal to the Custom Property of the Vacancy.
    * [Custom Property is in](https://developers.techwolf.ai/reference/latest/Matchmaking/Vacancy%20Matching/post-vacancies-external-id-matching-employees#custom-property-is-in)
      filter: filter out all Employees for which the `list` Custom Property does
      not contain the Custom Property of the Vacancy.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    EMPLOYEE_INFO {
        string external_id PK
    }


    MATCHING_EMPLOYEES_FOR_VACANCY {
        string employee_id FK
        string vacancy_id
        float score
    }

    EMPLOYEE_INFO ||--o{ MATCHING_EMPLOYEES_FOR_VACANCY : ""
```

### Matching Employees for Vacancy Explained

Provides detailed analysis of the best suited Employees for every Vacancy within
the organisation, including Skill-level comparisons.

<Accordion title="View Matching Employees for Vacancy Explained export details">
  The Matching Employees for Vacancy Explained export provides an overview of the best suited Employees for every Vacancy within the organisation, including adjacent Skills and how closely they align with the required Skills for the Vacancy.
  Only active Vacancies and Employees are included in the export.

  The CSV or XLSX represents a two-dimensional matrix, containing - besides the
  header row - a row for every Skill of every Employee-Vacancy match.

  The matrix has 6 columns, containing the following fields for every row (in
  order):

  | Field name          | Field description                                                                                             |
  | ------------------- | ------------------------------------------------------------------------------------------------------------- |
  | employee\_id        | The external ID of the Employee.                                                                              |
  | vacancy\_id         | The external ID of the Vacancy within the organisation.                                                       |
  | status              | The current status of the match (e.g., "present", "missing").                                                 |
  | skill\_id           | The external ID of the required Skill.                                                                        |
  | adjacent\_skill\_id | The external ID of the most similar adjacent Skill that the Employee has.                                     |
  | adjacency\_score    | The adjacency score between the required Skill and the adjacent Skill, expressed as a number between 0 and 1. |

  Currently supported configurations are:

  * Mask `employee_id`: mask the Employee's external ID to protect privacy.
  * Set the `score_min_threshold`: only include Employees with a match score above
    this threshold, higher values mean stricter matching. When not set, the
    [default](https://developers.techwolf.ai/reference/latest/Matchmaking/Vacancy%20Matching/post-vacancies-external-id-matching-employees#parameter-score-min-threshold)
    is used.
  * Set the `max_matches_per_entity`: limit how many matching Employees are shown
    for each Vacancy. Higher numbers give you more options but significantly
    increases data size. When not set, the
    [default limit](https://developers.techwolf.ai/reference/latest/Matchmaking/Vacancy%20Matching/post-vacancies-external-id-matching-employees#parameter-limit)
    is used.
  * Set `exclude_low_data_available_entities`: when set to `true`, Employees with
    low data availability are excluded from the matching results.
  * Weights: configure weights to influence the matching score. Supported weights
    are `skills_match`, `desired_functions`, and `geo_distance` (with
    `full_score_distance` and `zero_score_distance` parameters).
  * Filters: add custom filters on Custom Properties to further refine the
    results. We currently support 3 types of filters:
    * [Custom Property](https://developers.techwolf.ai/reference/latest/Matchmaking/Vacancy%20Matching/post-vacancies-external-id-matching-employees#custom-property)
      filter: filter out all Employees for which the given Custom Property does
      not match the condition defined by an operator and a value.
    * [Custom Property equal](https://developers.techwolf.ai/reference/latest/Matchmaking/Vacancy%20Matching/post-vacancies-external-id-matching-employees#custom-property-equal)
      filter: filter out all Employees for which the Custom Property is not
      equal to the Custom Property of the Vacancy.
    * [Custom Property is in](https://developers.techwolf.ai/reference/latest/Matchmaking/Vacancy%20Matching/post-vacancies-external-id-matching-employees#custom-property-is-in)
      filter: filter out all Employees for which the `list` Custom Property does
      not contain the Custom Property of the Vacancy.
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    EMPLOYEE_INFO {
        string external_id PK
    }

    MATCHING_EMPLOYEES_FOR_VACANCY_EXPLAINED {
        string employee_id FK
        string vacancy_id
        string status
        string skill_id FK
        string adjacent_skill_id FK
        float adjacency_score
    }

    SKILL_INFO["Skill Info"] {
        string skill_id PK
    }

    EMPLOYEE_INFO ||--o{ MATCHING_EMPLOYEES_FOR_VACANCY_EXPLAINED : ""
    MATCHING_EMPLOYEES_FOR_VACANCY_EXPLAINED }o--o{ SKILL_INFO : ""
```

### Market Info

Shows the configuration of peer groups and their member companies.

<Accordion title="View Market Info export details">
  The Market info export provides an overview of the different peer groups that are configured, and which companies are in each peer group.
  A peer group consists of a list of companies used to create external market Skill Profiles for Jobs.

  The CSV or XLSX represents a two-dimensional matrix, containing one row for
  every company of every peer group.

  There is a header row present with the following
  values, indicating the contents of every column (in order):

  | Field name  | Field description                              |
  | ----------- | ---------------------------------------------- |
  | peer\_group | The name of the peer group in TechWolf.        |
  | company     | The name of the company within the peer group. |
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    MARKET_INFO {
        string peer_group PK
        string company PK
    }

    MARKET_SKILL_PROFILE {
        string peer_group FK
        string job_id FK
    }

    MARKET_COMPARISON {
        string peer_group FK
        string job_id FK
    }

    MARKET_COMPARISON_EXPLAINED {
        string peer_group FK
        string job_id FK
    }

    MARKET_INFO }o--o{ MARKET_SKILL_PROFILE : ""
    MARKET_INFO }o--o{ MARKET_COMPARISON : ""
    MARKET_INFO }o--o{ MARKET_COMPARISON_EXPLAINED : ""
```

### Market Skill Profiles *(Market to Skill)*

Shows the Skills required by companies in different peer groups for each Job.

<Accordion title="View Market Skill Profiles export details">
  The Market Skill Profiles export provides an overview of all Skills required by the companies in the different
  peer groups, for every Job.

  The CSV or XLSX represents a two-dimensional matrix, containing one row for
  every market Skill of every Job-peer group combination, with Job-peer group
  combinations without market Skills not being represented.

  The matrix has four columns, containing the following fields for every row (in
  order)

  | Field name  | Field description                                      |
  | ----------- | ------------------------------------------------------ |
  | job\_id     | The external ID of the Job with the Skill in TechWolf. |
  | peer\_group | The name of the peer group in TechWolf.                |
  | skill\_id   | The external ID of the Skill in TechWolf.              |
  | skill       | The name of the Skill in TechWolf.                     |
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    JOB_INFO {
        string external_id PK
    }

    MARKET_INFO {
        string peer_group PK
    }

    SKILL_INFO {
        string skill_id PK
    }

    MARKET_SKILL_PROFILE {
        string job_id FK
        string peer_group FK
        string skill_id FK
        string skill
    }

    JOB_INFO ||--o{ MARKET_SKILL_PROFILE : ""
    MARKET_INFO }o--o{ MARKET_SKILL_PROFILE : ""
    MARKET_SKILL_PROFILE }o--o{ SKILL_INFO : ""
```

### Market Comparison

Shows alignment scores between Jobs and their peer group market Skill Profiles,
in both directions.

<Accordion title="View Market Comparison export details">
  The Market Comparison export provides an overview of alignment scores between Jobs and their peer group market Skill Profiles, including both Job to market (how well the Job covers peer requirements) and market to Job (how well peers cover Job requirements) alignment scores.

  The CSV or XLSX represents a two-dimensional matrix, containing one row for
  every Job-peer group combination.

  The matrix has four columns, containing the following fields for every row (in
  order):

  | Field name           | Field description                                                                                                                     |
  | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
  | job\_id              | The external ID of the Job in TechWolf.                                                                                               |
  | peer\_group          | The name of the peer group in TechWolf.                                                                                               |
  | job\_to\_peer\_score | The Job to market alignment score, indicating how well the Job Skill Profile covers the Skill requirements of the peer Skill Profile. |
  | peer\_to\_job\_score | The market to Job alignment score, indicating how well the peer Skill Profile covers the Skill requirements of the Job Skill Profile. |
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    JOB_INFO {
        string external_id PK
    }

    MARKET_INFO {
        string peer_group PK
    }

    MARKET_COMPARISON {
        string job_id FK
        string peer_group FK
        float job_to_peer_score
        float peer_to_job_score
    }

    JOB_INFO ||--o{ MARKET_COMPARISON : ""
    MARKET_INFO }o--o{ MARKET_COMPARISON : ""
```

### Market Comparison Explained

Provides detailed analysis of alignment between Jobs and peer group Skill
Profiles, including Skill-level comparisons.

<Accordion title="View Market Comparison Explained export details">
  The Market Comparison Explained export provides detailed alignment analysis between Jobs and their peer group market Skill Profiles, including comprehensive breakdowns of how well Job Skill Profiles match peer requirements and vice versa, with detailed Skill-level comparisons and gap analysis.

  The CSV or XLSX represents a two-dimensional matrix, containing one row for
  every Skill of every Job-peer group combination.

  The matrix has eight columns, containing the following fields for every row (in
  order):

  | Field name                | Field description                                                                                                                                                                                                                                                                                                                                                                                                                     |
  | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | job\_id                   | The external ID of the Job in TechWolf.                                                                                                                                                                                                                                                                                                                                                                                               |
  | peer\_group               | The name of the peer group in TechWolf.                                                                                                                                                                                                                                                                                                                                                                                               |
  | skill\_id                 | The external ID of a Skill in TechWolf, that is present in the Job Skill Profile and/or peer Skill profile.                                                                                                                                                                                                                                                                                                                           |
  | skill\_status             | The current status of the Skill in the profile (e.g., "literal\_overlap", "peer\_skill\_covered\_by\_adjacent\_job\_skill", "job\_skill\_covered\_by\_adjacent\_peer\_skill", "peer\_skill\_missing\_in\_job\_profile", "job\_skill\_missing\_in\_peer\_profile"). Indicates whether the Skill is present in both the Job and peer Skill Profile, sufficiently covered by an adjacent Skill, or missing in one of the Skill Profiles. |
  | job\_adjacent\_skill\_id  | The external ID of the most similar adjacent Skill in the Job Skill Profile.                                                                                                                                                                                                                                                                                                                                                          |
  | peer\_adjacent\_skill\_id | The external ID of the most similar adjacent Skill in the peer Skill Profile.                                                                                                                                                                                                                                                                                                                                                         |
  | job\_adjacency\_score     | The adjacency score between the Skill and the adjacent Job Skill.                                                                                                                                                                                                                                                                                                                                                                     |
  | peer\_adjacency\_score    | The adjacency score between the Skill and the adjacent peer Skill.                                                                                                                                                                                                                                                                                                                                                                    |
</Accordion>

**Entity Relationships:**

```mermaid theme={null}
erDiagram
    JOB_INFO {
        string external_id PK
    }

    MARKET_INFO {
        string peer_group PK
    }

    SKILL_INFO {
        string skill_id PK
    }

    MARKET_COMPARISON_EXPLAINED {
        string job_id FK
        string peer_group FK
        string skill_id FK
        string skill_status
        string job_adjacent_skill_id FK
        string peer_adjacent_skill_id FK
        float job_adjacency_score
        float peer_adjacency_score
    }

    JOB_INFO ||--o{ MARKET_COMPARISON_EXPLAINED : ""
    MARKET_INFO }o--o{ MARKET_COMPARISON_EXPLAINED : ""
    MARKET_COMPARISON_EXPLAINED }o--o{ SKILL_INFO : ""
```
