Chart of the Week: Fastest Growing Occupations for the next 10 years

A weekly series of quick random charts made in Python 🐍

The chart of this week is a bubble chart of the fastest growing occupations for the next decade.

Employment in healthcare and social assistance is projected to add the most jobs of all industry sectors, about 3.3 million jobs over 2020–30. Factors that are expected to contribute to the large increase include rising demand for the care of an aging baby-boom population, longer life expectancies, and continued growth in the number of patients with chronic conditions.

U.S. Bureau of Labour Statistics, Sept 8, 2021
Data excludes occupations that had a decline in wage and salary employment greater than the decline for all occupations from 2019 to 2020 (approximately 6%). These excluded occupations may have fast growth rates that do not reflect structural growth but only cyclical recovery.

Computer and mathematical occupations are expected to see fast employment growth as strong demand is expected for IT security and software development, in part due to increased prevalence of telework spurred by the COVID-19 pandemic. Demand for new products associated with the Internet of Things (IoT), and for analyzing and interpreting large datasets are also expected to contribute to fast employment growth for these occupations, which include statisticians, information security analysts, and data scientists.

U.S. Bureau of Labour Statistics, Sept 8, 2021

Fastest Growing Occupations

Total employment in the US is projected to grow from 153.5 million to 165.4 million over the 2020–30 decade, an increase of 11.9 million jobs, according to the U.S. Bureau of Labor Statistics projections.

Top 3 in projected growth (%)
OccupationEmployment changePercent employment changeMedian annual wage, 2020Sector
Wind turbine service technicians4,700.068.2$56,230Other
Nurse practitioners114,900.052.2$111,680Health
Solar photovoltaic installers6,100.052.1$46,470Other
See full table Here.

Top 3 in projected new jobs
OccupationEmployment changePercent employment changeMedian annual wage, 2020Sector
Home health and personal care aides1,129,900.032.6$27,080Health
Software developers409,500.022.2$110,140Computer and Mathematics
Medical and health services managers139,600.032.5$104,280Health
See full table Here.
Top 3 in median annual wage (2020)
OccupationEmployment changePercent employment changeMedian annual wage, 2020Sector
Physician assistants40,100.031.0$115,390Health
Nurse practitioners114,900.052.2$111,680Health
Actuaries6,800.024.5$111,030Computer and Mathematics
See full table Here.

Python Code

# Author: @QuantGirl
# Title: Fastest Growing Occupations for the Next 10 Years
# Source: U.S. Bureau of Labor Statistics
# Data: https://www.bls.gov/news.release/ecopro.nr0.htm
# Type: Bubble Chart

import pandas as pd
import plotly.express as px
import chart_studio.plotly as py


my_palette = [
    '#FBE5C8',  # Peach
    '#FFC2C7',  # Rosewater
    '#3CACAE',  # Blue Green
    '#C8F4F9',  # Turquoise
    '#05445E',  # Navy Blue
    '#603F8B',  # Purple
    '#CFEED1',  # Seafoam Green
    '#75E6DA',  # BlueGreen
]

occupations = pd.read_excel('Data/occupation_plotly.xlsx', sheet_name='Table 1.3A', header=1,
                            dtype={'Median annual wage, 2020': float},).dropna()

occupations = occupations[occupations['2020 National Employment Matrix title'] != 'All occupations']
occupations.sort_values(by=['Percent employment change, 2020-30'])

fig = px.scatter(data_frame=occupations,
                 x='Median annual wage, 2020',
                 y='Percent employment change, 2020-30',
                 color='Sector',
                 color_discrete_map={
                     'Other': my_palette[0],
                     'Health': my_palette[1],
                     'Computer and Mathematics': my_palette[2],
                     'Services': my_palette[3]
                 },
                 size='Employment change, 2020-30',
                 hover_name='2020 National Employment Matrix title',
                 hover_data={'2020 National Employment Matrix title': True,
                             'Sector': True,
                             'Median annual wage, 2020': True,
                             'Employment change, 2020-30': True,
                             'Percent employment change, 2020-30': True
                             },
                 size_max=100)

fig.update_traces(hovertemplate="<b>%{customdata[0]}</b><br><br>" +
                                "Median annual wage: %{x:$,.0f}<br>" +
                                "Percent Employment change: %{y:.0%}<br>" +
                                "Employment change: %{marker.size:.0f}K <br>" +
                                "<extra></extra>",
                  )

fig.add_vline(x=41950,
              line_width=1,
              line_dash='dash', line_color=my_palette[4],
              annotation_text=f'Overall median wage <br> $41.9K',
              annotation_position="right",
              annotation_font_size=14,
              annotation_font_color=my_palette[4])

fig.update_traces(marker=dict(
    line=dict(width=2, color='DarkSlateGrey')),
    selector=dict(mode='markers'))


fig.update_layout(
    margin=dict(l=50, r=50, t=100, b=200, pad=50),
    title="Fastest Growing Occupations for the Next 10 Years <br><sup>Projections from 2020 to 2030</sup>",
    title_font_size=20,
    title_font_family='PT Serif Caption',
    xaxis=dict(
        title='Median annual wage 2020 (dollars)',
        gridcolor='white',
        # type='log',
        gridwidth=0.5,
    ),
    yaxis=dict(
        title='Projected employment change 2020-30',
        gridcolor='grey',
        range=[0, .75],
        gridwidth=0.5,
        tickformat=',.0%'
    ),
    paper_bgcolor='white',
    plot_bgcolor='white',
    hoverlabel= dict(bgcolor='white'),
    hovermode="closest"
)
fig.add_annotation(
    xref='paper',
    x=0,
    yref='paper',
    y=-0.25,
    text="Source: U.S. Bureau of Labor Statistics",
    showarrow=False,
    font_size=14
)

fig.add_annotation(
    xref='paper',
    x=1,
    yref='paper',
    y=-0.25,
    text="@QuantGirl",
    showarrow=False,
    font=dict(size=18,
              color='#a70684',
              family='PT Serif Caption')
)

py.plot(fig, filename='2021_w39_Scatter_Occupations_Plotly', auto_open=True)

fig.show()
Quant Girl

I write about Mathematics, Statistics, Finance, Programming, and the relationships among them. I enjoy learning, listening to music and podcasts, practicing yoga, reading magazines, and watching documentaries.

2 thoughts on “Chart of the Week: Fastest Growing Occupations for the next 10 years

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.