opensupplyhub / supplychaindata.exchange

supplychaindata.exchange.schema
Creative Commons Zero v1.0 Universal
4 stars 2 forks source link

[Extension Proposal] SC-DEX Workforce Extension Proposal #23

Open vasgat opened 2 days ago

vasgat commented 2 days ago

SC-DEX Workforce Extension Proposal

Status Proposed
Extension # NNN (update when applicable)
Author(s) Vasiliki Gkatziaki (vasso@wikirate.org)
Partner Wikirate International e.V. (info@wikirate.org)
Updated 2024-11-20
Obsoletes Any prior SC-DEX extension it replaces, if applicable

Objective

The primary objective of this extension is to introduce workforce data transparency within supply chains, thereby allowing the stakeholders to gain a comprehensive understanding of the workforce composition, and worker demographics at different locations in the supply chain. This workforce data will complement existing information about locations to enable responsible sourcing, labor rights compliance, and workforce sustainability assessments.

Motivation

Stakeholder Benefits

By including metrics related to workforce diversity, stability, and demographics, this extension helps stakeholders manage risks, report responsibly, ensure labor rights compliance, and improve overall supply chain resilience.

Extension Design

This section defines the technical specifications of the extension, including key data attributes and any other requirements. Describe any new data attributes introduced in this extension and how they contribute to the targeted use case.

Example Use Case: Workforce

This extension tracks data around the composition and characteristics of the workforce in locations of the supply chain.

Below is the proposed extension represented in JSON Schema. The schema captures various attributes such as workforce size, demographic breakdown, role distribution, and employment types to provide comprehensive insights into the workforce structure and characteristics.

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "WorkforceExtension",
  "type": "object",
  "properties": {
    "number-of-workers": {
      "type": "integer",
      "description": "Total number of workers at the location"
    },
    "number-of-male-workers": {
      "type": "integer",
      "description": "Number of male workers"
    },
    "number-of-female-workers": {
      "type": "integer",
      "description": "Number of female workers"
    },
    "number-of-migrant-workers": {
      "type": "integer",
      "description": "Number of migrant workers"
    },
    "percentage-of-male-workers": {
      "type": "number",
      "description": "Percentage of male workers",
      "minimum": 0,
      "maximum": 100
    },
    "percentage-of-female-workers": {
      "type": "number",
      "description": "Percentage of female workers",
      "minimum": 0,
      "maximum": 100
    },
    "number-of-permanent-workers": {
      "type": "integer",
      "description": "Number of permanent workers"
    },
    "number-of-temporary-workers": {
      "type": "integer",
      "description": "Number of temporary workers"
    },
    "number-of-part-time-workers": {
      "type": "integer",
      "description": "Number of part-time workers"
    },
    "number-of-full-time-workers": {
      "type": "integer",
      "description": "Number of full-time workers"
    },
    "number-of-workers-with-disabilities": {
      "type": "integer",
      "description": "Number of workers with disabilities"
    },
    "average-age-of-workers": {
      "type": "number",
      "description": "Average age of workers"
    },
    "median-age-of-workers": {
      "type": "number",
      "description": "Median age of workers"
    },
    "average-tenure": {
      "type": "number",
      "description": "Average tenure of workers in years"
    },
    "number-of-unionized-workers": {
      "type": "integer",
      "description": "Number of unionized workers"
    },
    "number-of-workers-in-management": {
      "type": "integer",
      "description": "Number of workers in management roles"
    },
    "number-of-workers-in-production": {
      "type": "integer",
      "description": "Number of workers in production roles"
    }
  },
  "required": [
    "number-of-workers"
  ],
  "additionalProperties": true
}

Example:

"workforce": {
      "number-of-workers": 500,
      "number-of-male-workers": 300,
      "number-of-female-workers": 200,
      "number-of-migrant-workers": 50,
      "percentage-of-male-workers": 60,
      "percentage-of-female-workers": 40,
      "number-of-permanent-workers": 400,
      "number-of-temporary-workers": 100,
      "number-of-part-time-workers": 150,
      "number-of-full-time-workers": 350,
      "number-of-workers-with-disabilities": 10,
      "average-age-of-workers": 35.5,
      "median-age-of-workers": 34,
      "average-tenure": 3.2,
      "number-of-unionized-workers": 120,
      "number-of-workers-in-management": 20,
      "number-of-workers-in-production": 480
    }

Alternatives Considered

This is the first proposed SC-DEX extension so there are no any alternatives currently to consider. However, there are some concerns that are expressed on the Questions and Feedback section.

Technical Considerations

Describe relevant technical considerations for implementing this extension. Cover topics like performance (e.g., speed, memory usage), dependencies (e.g., integrations with standards or tools), and compatibility with SC-DEX and other extensions.

Implementation Plan

Complete the following prompts to outline the implementation approach:

Questions and Feedback

I am wondering if this workforce extension can be further split into additional, more granular extensions. Are there any logical groupings or divisions you think would make the data more manageable or useful?

For example we could split into workforce-demographics and worker-rights with the latter incorporating additional information such as labor-union, workers-committee, digital-payment, collective-bargaining, permanent-workers, temporary-workers, working-hours, average-tenure etc.

What are your thoughts on this approach? Would these groupings help make the data clearer and easier to use, or do you see other ways we could divide the data more effectively?"

shuyag commented 2 days ago

Love this extension proposal, and noting that this is a location related extension--although potentially also could be an organizational one? Would an organization vs location version of this need to be different?

(Note from @vasgat: locations are more relevant for supply chains data, rather than organizations)

shuyag commented 2 days ago

Related to the data attribute around "average tenure" I could also see one around retention or turnover.

"annual-turnover": {
      "type": "percentage",
      "description": "percentage of new workers every year"
    }
emilyoxford commented 2 days ago

Some additional thoughts:

vasgat commented 1 day ago

Some additional thoughts:

  • Would this be a good spot to include information about wages?
  • Could this potentially include time frame information? E.g. "valid_from", "valid_to"

I think, it comes to the same question, if this workforce extension should be split to several. Personally, I would like to keep things minimal per extension, so ideally I would limit further the number of attributes on the workforce extension and develop another one for related to wages, it could be under worker-rights or another extension that makes more sense.

As to your second point, I do agree. I think, we really need metadata to capture the validity of the data. There has been some discussion around this already here. Maybe, we can discuss it further on a follow-up session.

siberian1967 commented 1 day ago

Are we considering data checking rules?

Ex: Male+Female workers must == number of workers etc?

When we do data quality checks on our data, we try to consider things like this. Do extensions here have the concept of internal data validation?