For indispensable reporting on the coronavirus crisis, the election, and more, subscribe to the Mother Jones Daily newsletter.

It isn’t just fast-food empires that rely on a low-paid, disempowered, and quite-often impoverished workforce. As a stomach-turning new report (PDF viewable here) from the Economic Policy Institute shows, the entire restaurant industry hides a dirty little labor secret under the tasteful lighting of the dining room.

Here are some highlights:

• The restaurant industry is a massive and growing source of employment. It accounts for more than 9 percent of US private-sector jobs—up from a little more than 7 percent in 1990. That’s nearly a 30 percent gain.

• The industry’s wages have stagnated at an extremely low level. Restaurant workers’ median wage stands at $10 per hour, tips included—and hasn’t budged, in inflation-adjusted terms, since 2000. For nonrestaurant US workers, the median hourly wage is $18. That means the median restaurant worker makes 44 percent less than other workers. Benefits are also rare—just 14.4 percent of restaurant workers have employer-sponsored health insurance and 8.4 percent have pensions, vs. 48.7 percent and 41.8 percent, respectively, for other workers

• Unionization rates are minuscule. Presumably, it would be more difficult to keep wages throttled at such a low level if restaurant workers could bargain collectively. But just 1.8 percent of restaurant workers belong to unions, about one-seventh of the rate for nonrestaurant workers. Restaurant workers who do belong to unions are much more likely to have benefits than their nonunion peers.

• As a result, the people who prepare and serve you food are pretty likely to live in poverty. The overall poverty rate stands at 6.3 percent. For restaurant workers, the rate is 16.7 percent. For families, researchers often look at twice the poverty threshold as proxy for what it takes to make ends meet, EPI reports. More than 40 percent of restaurant workers live below twice the poverty line—that’s double the rate of nonrestaurant workers.

• Opportunity for advancement is pretty limited. I was surprised to learn that for every single occupation with restaurants—from dishwashers to chefs to managers—the median hourly wage is much less than the national average of $18. The highest paid occupation is manager, with a median hourly wage of $15.42. The lowest is “cashiers and counter attendants” (median wage: $8.23), while the most prevalent of restaurant workers, waiters and waitresses, who make up nearly a quarter of the industry’s workforce, make a median wage of just $10.15. The one that has gained the most glory in recent years, “chefs and head cooks,” offers a median wage of just $12.34.

• Industry occupations are highly skewed along gender and race lines. Higher-paid occupations are more likely to be held by men—chefs, cooks, and managers, for example, are 86 percent, 73 percent, and 53 percent male, respectively. Lower-paid positions tend to be dominated by women: for example, host and hostess (84.9 percent female), cashiers and counter attendants (75.1 percent), and waiters and waitresses (70.8 percent). I took up this topic in a piece on the vexed gender politics of culinary prestige last year. Meanwhile, “blacks are disproportionately likely to be cashiers/counter attendants, the lowest-paid occupation in the industry,” while “Hispanics are disproportionately likely to be dishwashers, dining room attendants, or cooks, also relatively low-paid occupations,” the report found.

• Restaurants lean heavily on the most disempowered workers of all—undocumented immigrants. Overall, 15.7 percent of US restaurant workers are undocumented, nearly twice the rate for nonrestaurant sectors. Fully a third of dishwashers, nearly 30 percent of nonchef cooks, and more than a quarter of bussers are undocumented, the report found. So a huge swath of the people who feed you pay payroll taxes and sales taxes yet don’t receive the rights of citizenship.

Thus you can’t opt out of supporting deplorable labor conditions for the people who feed you simply by refusing to pass through the Golden Arches or to enter the Burger King’s realm.

So what can you do? One thing is to seek out restaurants that explicitly pay their workers a living wage. Two I can think of offhand: Austin’s Black Star Co-op, a cooperatively owned gastro-pub that’s managed by a “workers assembly” as a “democratic self-managed workplace.” Another is Chapel Hill’s excellent Vimala’s Curryblossom Cafe. I’d love to hear about more examples in comments.

But these examples are vanishingly rare. The only real solution to the industry’s bottom-feeding labor practices are legislative, the EPI report makes clear. That means reforms like a much higher minimum wage and a path to legal status for undocumented workers. Anyone who wants to learn more about working conditions in our nation’s eateries should read Saru Jayaraman’s outstanding 2013 book Behind the Kitchen Door. (Read the Mother Jones review here.)

And just for fun, here’s the Mother Jones fast-food wage calculator, which will give you a sense of what some workers are up against:

How many people are in your household? One Adult No Children One Adult One Child One Adult Two Children One Adult Three Children Two Adults No Children Two Adults One Child Two Adults Two Children Two Adults Three Children Which state do you live in? Which area do you live in? (Area data not available for households without children.) How much do you make in a year? $ In order to make $___ a year, the typical fast-food worker has to work __ hours a week. A household like yours in ___, ___ needs to earn $__ annually to make a secure yet modest living. A fast-food worker working full time would have to earn $__ an hour to make that much. The average fast-food employee works less than 25 hours a week. To make a living wage in ___, ___ at current median wages, s/he would have to work __ hours a week. In __ hours, McDonald’s serves __ customers and makes $__. That’s about __ Big Macs.

var median_fast_food_worker_wage = 8.94; // Source: National Employment Law Project, July 2013; http://nelp.3cdn.net/84a67b124db45841d4_o0m6bq42h.pdf var work_weeks_per_year = 52; var months_per_year = 12; var average_fast_food_worker_hours_per_week = 24.4; var average_weeks_in_a_month = 4.348; var hours_worked_at_full_time = 40;

var days_in_2012 = 366; //leap year var McDonalds_customers_per_day_in_2012 = 69000000; // Source: McDonalds 2012 Annual Report var hours_in_day = 24; var mcD_systemwide_restaurants = 34480; var mcD_served_per_hour = McDonalds_customers_per_day_in_2012 / hours_in_day;

var mcD_earnings_in_2012 = 27567000000; // Source: McDonalds 2012 Annual Report http://www.aboutmcdonalds.com/content/dam/AboutMcDonalds/Investors/Investor%202013/2012%20Annual%20Report%20Final.pdf var mcD_earned_per_hour = Math.round(mcD_earnings_in_2012 / days_in_2012 / hours_in_day);

var cost_of_big_mac = 4;

var first_state = 'AK'; var first_locale = 'Anchorage, AK HUD Metro FMR Area'; var state_abbr = { 'AL' : 'Alabama', 'AK' : 'Alaska', 'AS' : 'America Samoa', 'AZ' : 'Arizona', 'AR' : 'Arkansas', 'CA' : 'California', 'CO' : 'Colorado', 'CT' : 'Connecticut', 'DE' : 'Delaware', 'DC' : 'District of Columbia', 'FM' : 'Micronesia1', 'FL' : 'Florida', 'GA' : 'Georgia', 'GU' : 'Guam', 'HI' : 'Hawaii', 'ID' : 'Idaho', 'IL' : 'Illinois', 'IN' : 'Indiana', 'IA' : 'Iowa', 'KS' : 'Kansas', 'KY' : 'Kentucky', 'LA' : 'Louisiana', 'ME' : 'Maine', 'MH' : 'Islands1', 'MD' : 'Maryland', 'MA' : 'Massachusetts', 'MI' : 'Michigan', 'MN' : 'Minnesota', 'MS' : 'Mississippi', 'MO' : 'Missouri', 'MT' : 'Montana', 'NE' : 'Nebraska', 'NV' : 'Nevada', 'NH' : 'New Hampshire', 'NJ' : 'New Jersey', 'NM' : 'New Mexico', 'NY' : 'New York', 'NC' : 'North Carolina', 'ND' : 'North Dakota', 'OH' : 'Ohio', 'OK' : 'Oklahoma', 'OR' : 'Oregon', 'PW' : 'Palau', 'PA' : 'Pennsylvania', 'PR' : 'Puerto Rico', 'RI' : 'Rhode Island', 'SC' : 'South Carolina', 'SD' : 'South Dakota', 'TN' : 'Tennessee', 'TX' : 'Texas', 'UT' : 'Utah', 'VT' : 'Vermont', 'VI' : 'Virgin Island', 'VA' : 'Virginia', 'WA' : 'Washington', 'WV' : 'West Virginia', 'WI' : 'Wisconsin', 'WY' : 'Wyoming' }

var selected_state = jQuery("#selected_state"); var selected_locale = jQuery("#selected_locale"); var selected_household = jQuery("#selected_household");

for (var state in bfjo) { var option = jQuery(' ' + state_abbr[state] + ''); selected_state.append(option); }

var fill_locale_selector = function(state_object) {

selected_locale.html("");

for (var locale in state_object) { var option = jQuery(' ' + locale.replace(/,.*$/, '') + ''); selected_locale.append(option); } }

fill_locale_selector(bfjo[first_state])

selected_state.bind("change", function() { var state = $("#selected_state option:selected").val(); var state_object = bfjo[state];

fill_locale_selector(state_object);

} )

/* var fill_household_selector = function(locale_object) { var selected_household = jQuery("#selected_household");

selected_household.html("");

for (var household in locale_object) { var option = jQuery(' ' + household + ''); selected_household.append(option); } }

fill_household_selector(bfjo[first_state][first_locale]) */

selected_locale.bind("change", function() { var state = $("#selected_state option:selected").val(); var locale = $("#selected_locale option:selected").val(); var locale_object = bfjo[state][locale];

//fill_household_selector(locale_object); } )

enable_disable_locale = function() { var household = $("#selected_household option:selected").val(); if (household === '1P0C' || household === '2P0C') { selected_locale.attr('disabled', 'disabled'); } else { selected_locale.attr('disabled', ''); } } selected_household.bind("change", function() { enable_disable_locale(); } ); enable_disable_locale();

jQuery("#calculate_this").bind("submit", function() {

var state = $("#selected_state option:selected").val(); var locale = $("#selected_locale option:selected").val(); var household = $("#selected_household option:selected").val(); var salary = parseInt($("#input_salary").val());

var annual_living_wage = bfjo[state][locale][household]; console.log(state); console.log(locale); console.log(household); console.log(annual_living_wage); var hourly_for_living = annual_living_wage / months_per_year / average_weeks_in_a_month / hours_worked_at_full_time;

var hours_to_live_per_month = annual_living_wage / months_per_year / median_fast_food_worker_wage; var weeks_to_live_per_month = hours_to_live_per_month / hours_worked_at_full_time;

var salary_monthly = salary / months_per_year; var hours_to_salary_monthly = salary_monthly / median_fast_food_worker_wage; var weeks_to_salary_monthly = hours_to_salary_monthly / hours_worked_at_full_time;

var hours_living_a_week = hours_to_live_per_month / average_weeks_in_a_month; var hours_salary_a_week = hours_to_salary_monthly / average_weeks_in_a_month;

var commify = function(number) { while (/(d+)(d{3})/.test(number.toString())){ number = number.toString().replace(/(d+)(d{3})/, '$1'+','+'$2'); } return number; }

var salary_string = commify(salary); var yearly_living_wage_string = commify(annual_living_wage); /* while (/(d+)(d{3})/.test(salary_string.toString())){ salary_string = salary_string.toString().replace(/(d+)(d{3})/, '$1'+','+'$2'); } while (/(d+)(d{3})/.test(yearly_living_wage_string.toString())){ yearly_living_wage_string = yearly_living_wage_string.toString().replace(/(d+)(d{3})/, '$1'+','+'$2'); } */

jQuery("#calculated").show(); jQuery("#fast_food_calculator_hours").text(Math.round(hours_to_live_per_month)); jQuery("#fast_food_calculator_state").text(state_abbr[state]); jQuery("#fast_food_calculator_state2").text(state_abbr[state]); if (household === "1P0C" || household === "2P0C") { jQuery("#fast_food_calculator_locale").text(''); jQuery("#fast_food_calculator_locale2").text(''); } else { jQuery("#fast_food_calculator_locale").text(locale.replace(/,.*$/, '') + ','); jQuery("#fast_food_calculator_locale2").text(locale.replace(/,.*$/, '') + ','); } jQuery("#salary").text(salary_string); jQuery("#fast_food_calculator_time").text(Math.round(hours_to_salary_monthly));

jQuery("#living_hours_per_week").text(Math.round(hours_living_a_week)); jQuery("#living_hours_per_week2").text(Math.round(hours_living_a_week));

jQuery("#salary_hours_per_week").text(Math.round(hours_salary_a_week)); jQuery("#fast_food_calculator_living_wage_annual").text(yearly_living_wage_string);

jQuery("#mc_d_customers_served").text( commify( Math.round( Math.round(hours_living_a_week) * mcD_served_per_hour ) ) ); jQuery("#mc_d_money_earned").text( commify(Math.round(Math.round(hours_living_a_week) * mcD_earned_per_hour)) );

jQuery("#big_mac_count").text( commify( Math.round( Math.round(hours_living_a_week) * mcD_earned_per_hour / cost_of_big_mac ) ) );

console.log(hourly_for_living); var hourly_for_living_clean = Math.round(hourly_for_living * 100) .toString().replace(/(d+)(d{2})/, '$1'+'.'+'$2'); jQuery("#living_wage_hourly").text(hourly_for_living_clean);

return false;

}

)