Mamdani at the Resist Fascism Rally in Bryant Park (October 27, 2024). Photo by Bingjiefu He, Wiki Commons
Mamdani at the Resist Fascism Rally in Bryant Park (October 27, 2024). Photo by Bingjiefu He, Wiki Commons
New research from the Center for Working-Class Politics shows that progressive economic policies can bring working-class Trump supporters back into the Democratic Party.
Republished with permission from Inequality.org, by Sean Mason
The Democratic party has significant work to do if it hopes to bounce back from its 2024 electoral defeat. Making inroads with the working-class is the only way possible, and a new report from the Center for Working-Class Politics and Jacobin shows that economic populism is the best path to bring them back into the party.
The Democratic party lost big in 2024, badly enough to raise the question: where are the votes they need to win going to come from now, especially in purple states and districts? Major demographic groups, some of which were mainstays of the Democratic party in the past, swung to the GOP, especially Latino men and even a significant number of Black men.
By the time of the 2024 election, the Democratic Party had firmly committed to its strategy of appealing to suburban moderates at the cost of blue-collar voters. Back in 2016, Senator Chuck Schumer famously said: “For every blue-collar Democrat we lose in western Pennsylvania, we will pick up two moderate Republicans in the suburbs in Philadelphia, and you can repeat that in Ohio and Illinois and Wisconsin.”
Fast forward to 2025 and the Democratic party’s options for remaining competitive in swing districts seem more limited than ever. Is it too late for the party to turn back to the blue-collar voters it left behind years ago?
Our new report, which analyzes responses to 128 survey questions from gold standard academic surveys, finds that championing progressive economic policies can reverse the exodus of blue-collar voters from the party. It can also help us understand why those policies resonate most with working class voters.
Two key findings prove the potential of leaning more heavily into economic populism. First, contrary to what many might expect, the working-class has become both more progressive on economic issues and less conservative on social issues in recent decades. From abortion and gun control to gay rights and views on racial inequality, the working-class today is, if anything, more progressive than the working-class that helped elect Barack Obama in 2008.
What keeps this leftward shift from being a common part of narratives that describe the working-class, however, is that the upper and middle classes have moved left at an even faster rate over the same time period, making it seem like working-class voters have become more conservative over that time.
Second, relative to the middle and upper classes, economic populist policies resonate more with working-class voters, while socially progressive policies resonate less. While our first finding means that the working-class is still within reach of the Democratic party, the second makes clear that campaigns centered on economically progressive policies maximize their chances of winning working-class votes.
Our report shows the overwhelming popularity of a host of economic populist policies. Increasing the minimum wage, increasing government spending on healthcare and social security, protecting jobs with import limits, and spending more on the poor are all examples of policies that we found resonate with an overwhelming majority of the working-class.
Our analysis challenges oft-repeated stereotypes about the supposed conservative drift of the working-class. For example, there are many who seem certain that the economic policies that helped propel Zohran Mamdani to victory in New York City’s recent Democratic mayoral primary would be disastrous outside of the city’s liberal bubble.
That conventional wisdom doesn’t hold up in polling. For example, we found that about one out of every five working-class people who voted for Trump in 2020 also favored a four-policy package that included increasing income taxes on million dollar per year earners, federal spending on public schools, federal spending on social security, and the federal minimum wage. Even more surprising, support for a millionaire’s tax—part of Mamdani’s campaign but not his challenger Andrew Cuomo’s—was 44 percent among working-class 2020 Trump voters. This is only one example, but we’ve identified quite a few ways Democrats can appeal to working-class voters without sacrificing a strong economic program.
Our analysis shows that winning back working-class votes from the GOP is still possible. And doing so does not require abandoning the bedrock principles of the Democratic Party by championing regressive social policies. It does, however, require leading with bread-and-butter economic policies that are overwhelmingly popular with working-class voters. The potential for the Democratic party to win back the support it needs to turn the tide on Trumpism is clear from our report. Let’s hope the Democrats pay attention.
Inequality.org has been tracking inequality-related news and views for nearly two decades. A project of the Institute for Policy Studies since 2011, our site aims to provide information and insights for readers ranging from educators and journalists to activists and policy makers.
Our Inequality.org contributors come from the United States and around the world. Our focus throughout: What can we do to narrow the staggering economic inequality that so afflicts us in almost every aspect of our lives?
Help Support Factkeepers!
{"id":null,"mode":"form","open_style":"in_place","currency_code":"USD","currency_symbol":"$","currency_type":"decimal","blank_flag_url":"https:\/\/factkeepers.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/factkeepers.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":500,"top_media_type":"none","featured_image_url":false,"featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Leave a tip","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"Factkeepers.com","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"Help Support Factkeepers","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for being a supporter!","payment_confirmation_title":"Factkeepers.com","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to donate? You can change this amount to anything you would like.","initial":{"instruction_type":"normal","instruction_message":"How much would you like to donate? You can change this amount to anything you would like."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to donate? You can change this amount to anything you would like."},"invalid_curency":{"instruction_type":"error","instruction_message":"How much would you like to donate? You can change this amount to anything you would like."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to donate this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to donate this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to donate this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}
{"date_format":"F j, Y","time_format":"g:i a","wordpress_permalink_only":"https:\/\/factkeepers.com\/how-democrats-can-win-back-working-class-voters\/","all_default_visual_states":"inherit","modal_visual_state":false,"user_is_logged_in":false,"stripe_api_key":"pk_live_40P3DgGDAHEP1QtJ0nOU4nms5JYHI8GbQ05dYiB1S8OPP5oMSIpOCCeeIawOyeW6bWDkDMWdUeggbhxOQTSA6aedu00ROAbhXBd","stripe_account_country_code":"US","setup_link":"https:\/\/factkeepers.com\/wp-admin\/admin.php?page=tip-jar-wp&mpwpadmin1=welcome&mpwpadmin_lightbox=do_wizard_health_check","close_button_url":"https:\/\/factkeepers.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/closebtn.png"}