Distribution
Overview
The distribution tool returns percentile-style distributions for supported metrics. Use it to analyze ranges, percentiles, and the spread of a metric rather than a single aggregate value.
For example, instead of viewing only the median salary, you can see how salaries are distributed across different percentile ranges.
Common Use Cases
Use the distribution tool to answer questions such as:
| Use Case | Example |
|---|---|
| Salary spread | What is the salary distribution for a specific occupation or region? |
| Wage distribution | How are estimated wages distributed across a workforce segment? |
| Occupational earnings | What is the occupational earnings distribution in Core LMI? |
| Compensation analysis | Understand salary ranges and percentiles within a market. |
| Experience analysis | Analyze how experience requirements vary across job postings. |
| Earnings benchmarking | Compare occupational earnings across regions, industries, or occupations. |
Supported Datasets
The distribution tool supports the following datasets.
| Dataset | Supported | Notes |
|---|---|---|
| Job Posting | Yes | Requires a time filter. |
| Profile | Yes | Requires at least one extra metric. |
Inputs
The tool accepts the following inputs.
| Input | Description |
|---|---|
dataset | The dataset to analyze. |
filter | Filters are used to narrow the results. |
domainMetric | The metric whose distribution will be analysed. |
extraMetrics | Additional metrics were returned with distribution buckets where supported. |
percentiles | Percentiles to return where supported by the dataset contract. |
Supported domain Metrics.
| Dataset | Domain metrics |
|---|---|
job_postings | postings.salary, postings.posting_duration, postings.min_years_experience, postings.max_years_experience |
profiles | profiles.estimated_wage |
Select a domain metric based on the type of distribution you want to analyze. For example, you can analyze salary ranges, wage distributions, earnings distributions, or experience requirements depending on the selected dataset.
Example Request
{
"dataset": "job_postings",
"filter": {
"time": {
"level": 1,
"values": {
"start": "2024-01",
"end": "2024-12",
"postingType": "posted"
}
}
},
"domainMetric": "postings.salary",
"extraMetrics": [
"postings.unique_postings",
"postings.median_salary"
],
"percentiles": [10, 25, 50, 75, 90]
}Outputs
The response returns distribution data for the selected metric.
| Dataset | Output |
|---|---|
job_postings | domain with min and max, plus buckets containing key, value, and metrics. |
profiles | domain with min and max, plus buckets containing key, value, and metrics. |
Depending on the dataset, the response results help you understand how values are distributed across a market rather than relying on a single average or median.
Example Response
{
"domain": {
"min": 45000,
"max": 180000
},
"buckets": [
{
"key": "p50",
"value": 95000,
"metrics": {
"postings.unique_postings": 620,
"postings.median_salary": 95000
}
}
]
}Updated 3 months ago

