{"id":16285,"date":"2025-04-17T18:42:41","date_gmt":"2025-04-17T18:42:41","guid":{"rendered":"https:\/\/wifamily.news\/?p=16285"},"modified":"2025-04-17T18:56:12","modified_gmt":"2025-04-17T18:56:12","slug":"derail-the-hop-permanently","status":"publish","type":"post","link":"https:\/\/wifamily.news\/?p=16285","title":{"rendered":"Derail the Hop permanently"},"content":{"rendered":"<p>This post originally appeared at <a href=\"https:\/\/www.badgerinstitute.org\/derail-the-hop-permanently\/\">https:\/\/www.badgerinstitute.org\/derail-the-hop-permanently\/<\/a><\/p>\n<h4 class=\"wp-block-heading\"><em><strong>\u2018Free\u2019 federal money put Milwaukee on the hook for ongoing expenses; time to say \u2018enough\u2019<\/strong><\/em><\/h4>\n<div class=\"wp-block-image\">\n<figure class=\"alignright size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"756\" src=\"https:\/\/e74sq7k37a8.exactdn.com\/wp-content\/uploads\/2025\/04\/stop-the-hop-milwaukee-web-1024x756.jpg?strip=all&amp;lossy=1&amp;ssl=1\" alt=\"Interior photo of Milwaukee\u2019s streetcar, the Hop.\" class=\"wp-image-55475\" style=\"width:370px;height:auto\" \/><\/figure>\n<\/div>\n<p>Milwaukee\u2019s $128 million streetcar, the Hop \u2014 despite adding a second line \u2014 has even fewer passengers than six years ago, operates cars that are often nearly or completely empty, and stands virtually no chance of ever expanding.<\/p>\n<p>It\u2019s time to shut it down.<\/p>\n<h4 class=\"wp-block-heading\">It\u2019s expensive<\/h4>\n<p>In addition to the $128 million initial cost, my colleague Mark Lisheron reported that\u00a0the City of Milwaukee is using its transportation fund\u2019s money to <a href=\"https:\/\/www.badgerinstitute.org\/troubled-milwaukee-streetcar-remains-30-under-pre-pandemic-peak-despite-new-tracks\/\" target=\"_blank\" rel=\"noreferrer noopener\">plug a $4 million annual hole<\/a> in the Hop\u2019s operating budget.<\/p>\n<p>City leaders have never even tried to charge riders \u2014 few would ride it at all if they did \u2014 and those <a href=\"https:\/\/www.badgerinstitute.org\/free-milwaukee-streetcar-costing-over-5-million-annually\/\" target=\"_blank\" rel=\"noreferrer noopener\">annual operating costs<\/a> are not going away. Expenses could easily run into the tens of millions of dollars in the years to come.<\/p>\n<p>Shutting it down, granted, would be expensive as well because of all the poor decisions that have been made and Milwaukee\u2019s <a href=\"https:\/\/www.badgerinstitute.org\/congressman-steil-tries-to-save-city-of-milwaukee-from-further-waste-and-embarrassment\/\" target=\"_blank\" rel=\"noreferrer noopener\">reliance on federal funding<\/a>.<\/p>\n<p>Of the $128 million, more than $69 million initially came from the federal government in the form of a Federal Highway Administration Congestion and Air Quality Improvement (CMAQ) grant. The feds would likely make the city pay some of that back if politicians decide to finally stop running largely empty cars around downtown at all hours.<\/p>\n<p>Typically, the federal government makes grant recipients in similar circumstances pay back a depreciated portion of a grant, according to Randal O\u2019Toole, a transportation policy analyst with the Thoreau Institute. O\u2019Toole speculates that a grant recipient for a project that shuts down after 15 years might still have to repay half the original amount, and the Hop has only been in service for less than seven.<\/p>\n<p>The federal government, in other words, could make the city pay back millions, if not tens of millions.<\/p>\n<p>But what\u2019s the alternative?<\/p>\n<p>Running nearly empty cars to save face for decades to come?<\/p>\n<p>Ridership figures might sound okay to those who never ride it or haven\u2019t really done the math. But, please, do the math.<\/p>\n<h4 class=\"wp-block-heading\">Few people use it<\/h4>\n<p>There are actually two lines, the original M Line that runs on a 2.1-mile downtown loop, and the new L Line that, extending west from the Couture apartments on the lakefront, forms a 0.4-mile segment and intersects with the M Line.<\/p>\n<p>The L Line has averaged only 165 rides a day and the M Line only 1,355 a day over the last year, according to the Department of Public Works. Both lines run an average of 18 hours a day, which means the L line has less than 10 riders per hour. I don\u2019t know how long an average rider is on the Hop, but the whole L loop takes less than 20 minutes. Lots of riders are likely on there for maybe five or 10 minutes. That means cars on the L Line are often empty or carry one person.<\/p>\n<p>I know that\u2019s more than possible because I rode the whole L line recently over a lunch hour. There was one other passenger for maybe five minutes of the 20-minute ride. Otherwise, I was solo in a big streetcar the entire time.<\/p>\n<p>The original M Line, which is five times longer, has higher ridership, but I rode that as well in the middle of a weekday and \u2014 aside from one homeless guy \u2014 there were a maximum of four riders at any given time. That\u2019s not unusual. I know because I lived in an apartment on an M Line stop for years. I saw streetcars pass by every day that often had just a few people in a car.<\/p>\n<p>The Hop gets those few people where they are going a little faster than a brisk walk would. But it also blocks traffic and frustrates drivers and prolongs red lights. Don\u2019t take my word on it. Check out <a href=\"https:\/\/www.badgerinstitute.org\/video\/taxpayers-taken-for-a-ride-the-milwaukee-streetcar\/\" target=\"_blank\" rel=\"noreferrer noopener\">this video<\/a>.<\/p>\n<p>The Hop never made sense. It was built because the Milwaukee area needed to use or lose federal funding originally meant for a bus-only highway. The L Line, in particular, also doesn\u2019t make sense \u2014 as the lack of ridership proves.<\/p>\n<p>It was built because the Couture sits on the former site of a <a href=\"https:\/\/www.badgerinstitute.org\/federal-strings-determined-the-timing-of-hops-unfinished-l-line\/\" target=\"_blank\" rel=\"noreferrer noopener\">federally funded transportation center<\/a> that was, in itself, a white elephant.<\/p>\n<p>The transit center sat empty for a quarter-century until Milwaukee County agreed to sell it to Rick Barrett, the Couture\u2019s developer. Only there was a catch: The Federal Transportation Administration said the locals would have to pay back over $8 million in federal money if they didn\u2019t agree to use the site for \u201canother (transportation) capital project\u201d \u2014 which turned out to be the streetcar.<\/p>\n<p>City leaders and county leaders should never have accepted federal money for projects that didn\u2019t make sense. Now they\u2019re paying the price.<\/p>\n<p>And the only way to stop paying the price is to stop the Hop, try to persuade the feds to cut everyone some slack, pay up whatever the feds say would be owed, and move forward \u2014 preferably in a car or on foot or on a bus.<\/p>\n<p>Speaking of buses, there was an empty one waiting right next to the L stop at the Couture when I got there, and two more that came and went while I wanted for the empty Hop to pull up.<\/p>\n<p>The Hop isn\u2019t the only game in town \u2014 just the most wasteful one.<\/p>\n<p><em>Mike Nichols is the President of the Badger Institute.<\/em><\/p>\n<p><em>Any\u202fuse or reproduction of Badger Institute articles or photographs requires prior written\u202fpermission.\u202fTo request permission to post articles on a website or print copies for distribution, contact Badger Institute Marketing Director Matt Erdman at\u202f<\/em><a href=\"mailto:matt@badgerinstitute.org\" target=\"_blank\" rel=\"noreferrer noopener\"><em>matt@badgerinstitute.org<\/em><\/a><em>\u202for 262-389-8239.<\/em><\/p>\n<p>\/* &#8220;function&#8221;==typeof InitializeEditor,callIfLoaded:function(o){return!(!gform.domLoaded||!gform.scriptsLoaded||!gform.themeScriptsLoaded&amp;&amp;!gform.isFormEditor()||(gform.isFormEditor()&amp;&amp;console.warn(&#8220;The use of gform.initializeOnLoaded() is deprecated in the form editor context and will be removed in Gravity Forms 3.1.&#8221;),o(),0))},initializeOnLoaded:function(o){gform.callIfLoaded(o)||(document.addEventListener(&#8220;gform_main_scripts_loaded&#8221;,()=&gt;{gform.scriptsLoaded=!0,gform.callIfLoaded(o)}),document.addEventListener(&#8220;gform\/theme\/scripts_loaded&#8221;,()=&gt;{gform.themeScriptsLoaded=!0,gform.callIfLoaded(o)}),window.addEventListener(&#8220;DOMContentLoaded&#8221;,()=&gt;{gform.domLoaded=!0,gform.callIfLoaded(o)}))},hooks:{action:{},filter:{}},addAction:function(o,r,e,t){gform.addHook(&#8220;action&#8221;,o,r,e,t)},addFilter:function(o,r,e,t){gform.addHook(&#8220;filter&#8221;,o,r,e,t)},doAction:function(o){gform.doHook(&#8220;action&#8221;,o,arguments)},applyFilters:function(o){return gform.doHook(&#8220;filter&#8221;,o,arguments)},removeAction:function(o,r){gform.removeHook(&#8220;action&#8221;,o,r)},removeFilter:function(o,r,e){gform.removeHook(&#8220;filter&#8221;,o,r,e)},addHook:function(o,r,e,t,n){null==gform.hooks[o][r]&amp;&amp;(gform.hooks[o][r]=[]);var d=gform.hooks[o][r];null==n&amp;&amp;(n=r+&#8221;_&#8221;+d.length),gform.hooks[o][r].push({tag:n,callable:e,priority:t=null==t?10:t})},doHook:function(r,o,e){var t;if(e=Array.prototype.slice.call(e,1),null!=gform.hooks[r][o]&amp;&amp;((o=gform.hooks[r][o]).sort(function(o,r){return o.priority-r.priority}),o.forEach(function(o){&#8220;function&#8221;!=typeof(t=o.callable)&amp;&amp;(t=window[t]),&#8221;action&#8221;==r?t.apply(null,e):e[0]=t.apply(null,e)})),&#8221;filter&#8221;==r)return e[0]},removeHook:function(o,r,t,n){var e;null!=gform.hooks[o][r]&amp;&amp;(e=(e=gform.hooks[o][r]).filter(function(o,r,e){return!!(null!=n&amp;&amp;n!=o.tag||null!=t&amp;&amp;t!=o.priority)}),gform.hooks[o][r]=e)}});<br \/>\n\/* ]]&gt; *\/<\/p>\n<div class=\"gf_browser_unknown gform_wrapper gravity-theme gform-theme--no-framework\" data-form-theme=\"gravity-theme\" data-form-index=\"0\" id=\"gform_wrapper_21\">\n<div id=\"gf_21\" class=\"gform_anchor\"><\/div>\n<div class=\"gform_heading\">\n<h2 class=\"gform_title\">Submit a comment<\/h2>\n<p class=\"gform_description\">\n<p class=\"gform_required_legend\">&#8220;<span class=\"gfield_required gfield_required_asterisk\">*<\/span>&#8221; indicates required fields<\/p>\n<\/p><\/div>\n<div class=\"gf_invisible ginput_recaptchav3\" data-sitekey=\"6LeuCC4pAAAAAECxtc6sr-MNi7Rw8mnOTxb-_ZsL\" data-tabindex=\"0\"><\/div>\n<div class=\"gform-body gform_body\">\n<div id=\"gform_fields_21\" class=\"gform_fields top_label form_sublabel_above description_above validation_below\">\n<fieldset id=\"field_21_1\" class=\"gfield gfield--type-name gfield--input-type-name gfield_contains_required field_sublabel_above gfield--no-description field_description_above field_validation_below gfield_visibility_visible\" data-js-reload=\"field_21_1\">\n<legend class=\"gfield_label gform-field-label gfield_label_before_complex\">Your name<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/legend>\n<div class=\"ginput_complex ginput_container ginput_container--name no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name gform-grid-row\" id=\"input_21_1\">\n<p>                            <span id=\"input_21_1_3_container\" class=\"name_first gform-grid-col gform-grid-col--size-auto\"><br \/>\n                                                    <label for=\"input_21_1_3\" class=\"gform-field-label gform-field-label--type-sub \">First<\/label><\/p>\n<p>                                                <\/span><\/p>\n<p>                            <span id=\"input_21_1_6_container\" class=\"name_last gform-grid-col gform-grid-col--size-auto\"><br \/>\n                                                            <label for=\"input_21_1_6\" class=\"gform-field-label gform-field-label--type-sub \">Last<\/label><\/p>\n<p>                                                        <\/span><\/p><\/div>\n<\/fieldset>\n<div id=\"field_21_2\" class=\"gfield gfield--type-email gfield--input-type-email gfield--width-half gfield_contains_required field_sublabel_above gfield--no-description field_description_above field_validation_below gfield_visibility_visible\" data-js-reload=\"field_21_2\"><label class=\"gfield_label gform-field-label\" for=\"input_21_2\">Your email<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><\/p>\n<div class=\"ginput_container ginput_container_email\"><\/div>\n<\/div>\n<div id=\"field_21_7\" class=\"gfield gfield--type-text gfield--input-type-text gfield--width-half gfield_contains_required field_sublabel_above gfield--no-description field_description_above field_validation_below gfield_visibility_visible\" data-js-reload=\"field_21_7\"><label class=\"gfield_label gform-field-label\" for=\"input_21_7\">Zip Code<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><\/p>\n<div class=\"ginput_container ginput_container_text\"><\/div>\n<\/div>\n<div id=\"field_21_3\" class=\"gfield gfield--type-textarea gfield--input-type-textarea gfield--width-full gfield_contains_required field_sublabel_above gfield--no-description field_description_above field_validation_below gfield_visibility_visible\" data-js-reload=\"field_21_3\"><label class=\"gfield_label gform-field-label\" for=\"input_21_3\">Your comment<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><\/p>\n<div class=\"ginput_container ginput_container_textarea\"><textarea name=\"input_3\" id=\"input_21_3\" class=\"textarea small\" rows=\"10\" cols=\"50\"><\/textarea><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"gform-footer gform_footer top_label\"><\/div>\n<p class=\"akismet-fields-container\" data-prefix=\"ak_\"><label>\u0394<textarea name=\"ak_hp_textarea\" cols=\"45\" rows=\"8\"><\/textarea><\/label>document.getElementById( &#8220;ak_js_1&#8221; ).setAttribute( &#8220;value&#8221;, ( new Date() ).getTime() );<\/p>\n<\/p><\/div>\n<p>\/* = 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find(&#8216;#gform_wrapper_21&#8217;);var is_confirmation = jQuery(this).contents().find(&#8216;#gform_confirmation_wrapper_21&#8217;).length &gt; 0;var is_redirect = contents.indexOf(&#8216;gformRedirect(){&#8216;) &gt;= 0;var is_form = form_content.length &gt; 0 &amp;&amp; ! is_redirect &amp;&amp; ! is_confirmation;var mt = parseInt(jQuery(&#8216;html&#8217;).css(&#8216;margin-top&#8217;), 10) + parseInt(jQuery(&#8216;body&#8217;).css(&#8216;margin-top&#8217;), 10) + 100;if(is_form){jQuery(&#8216;#gform_wrapper_21&#8217;).html(form_content.html());if(form_content.hasClass(&#8216;gform_validation_error&#8217;)){jQuery(&#8216;#gform_wrapper_21&#8217;).addClass(&#8216;gform_validation_error&#8217;);} else {jQuery(&#8216;#gform_wrapper_21&#8217;).removeClass(&#8216;gform_validation_error&#8217;);}setTimeout( function() { \/* delay the scroll by 50 milliseconds to fix a bug in chrome *\/ jQuery(document).scrollTop(jQuery(&#8216;#gform_wrapper_21&#8217;).offset().top &#8211; mt); }, 50 );if(window[&#8216;gformInitDatepicker&#8217;]) {gformInitDatepicker();}if(window[&#8216;gformInitPriceFields&#8217;]) {gformInitPriceFields();}var current_page = jQuery(&#8216;#gform_source_page_number_21&#8217;).val();gformInitSpinner( 21, &#8216;https:\/\/e74sq7k37a8.exactdn.com\/wp-content\/plugins\/gravityforms\/images\/spinner.svg&#8217;, true );jQuery(document).trigger(&#8216;gform_page_loaded&#8217;, [21, current_page]);window[&#8216;gf_submitting_21&#8217;] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find(&#8216;.GF_AJAX_POSTBACK&#8217;).html();if(!confirmation_content){confirmation_content = contents;}jQuery(&#8216;#gform_wrapper_21&#8217;).replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery(&#8216;#gf_21&#8217;).offset().top &#8211; mt);jQuery(document).trigger(&#8216;gform_confirmation_loaded&#8217;, [21]);window[&#8216;gf_submitting_21&#8217;] = false;wp.a11y.speak(jQuery(&#8216;#gform_confirmation_message_21&#8217;).text());}else{jQuery(&#8216;#gform_21&#8217;).append(contents);if(window[&#8216;gformRedirect&#8217;]) {gformRedirect();}}jQuery(document).trigger(&#8220;gform_pre_post_render&#8221;, [{ formId: &#8220;21&#8221;, currentPage: &#8220;current_page&#8221;, abort: function() { this.preventDefault(); } }]);                if (event &amp;&amp; event.defaultPrevented) {                return;         }        const gformWrapperDiv = document.getElementById( &#8220;gform_wrapper_21&#8221; );        if ( gformWrapperDiv ) {            const visibilitySpan = document.createElement( &#8220;span&#8221; );            visibilitySpan.id = &#8220;gform_visibility_test_21&#8221;;            gformWrapperDiv.insertAdjacentElement( &#8220;afterend&#8221;, visibilitySpan );        }        const visibilityTestDiv = document.getElementById( &#8220;gform_visibility_test_21&#8221; );        let postRenderFired = false;                function triggerPostRender() {            if ( postRenderFired ) {                return;            }            postRenderFired = true;            gform.core.triggerPostRenderEvents( 21, current_page );            if ( visibilityTestDiv ) {                visibilityTestDiv.parentNode.removeChild( visibilityTestDiv );            }        }        function debounce( func, wait, immediate ) {            var timeout;            return function() {                var context = this, args = arguments;                var later = function() {                    timeout = null;                    if ( !immediate ) func.apply( context, args );                };                var callNow = immediate &amp;&amp; !timeout;                clearTimeout( timeout );                timeout = setTimeout( later, wait );                if ( callNow ) func.apply( context, args );            };        }        const debouncedTriggerPostRender = debounce( function() {            triggerPostRender();        }, 200 );        if ( visibilityTestDiv &amp;&amp; visibilityTestDiv.offsetParent === null ) {            const observer = new MutationObserver( ( mutations ) =&gt; {                mutations.forEach( ( mutation ) =&gt; {                    if ( mutation.type === &#8216;attributes&#8217; &amp;&amp; visibilityTestDiv.offsetParent !== null ) {                        debouncedTriggerPostRender();                        observer.disconnect();                    }                });            });            observer.observe( document.body, {                attributes: true,                childList: false,                subtree: true,                attributeFilter: [ &#8216;style&#8217;, &#8216;class&#8217; ],            });        } else {            triggerPostRender();        }    } );} );<br \/>\n\/* ]]&gt; *\/<\/p>\n<p>The post <a href=\"https:\/\/www.badgerinstitute.org\/derail-the-hop-permanently\/\">Derail the Hop permanently<\/a> appeared first on <a href=\"https:\/\/www.badgerinstitute.org\">Badger Institute<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post originally appeared at https:\/\/www.badgerinstitute.org\/derail-the-hop-permanently\/ \u2018Free\u2019 federal money put Milwaukee on the hook for&#8230;<\/p>\n","protected":false},"author":4,"featured_media":16287,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-16285","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-badger-institute"],"_links":{"self":[{"href":"https:\/\/wifamily.news\/index.php?rest_route=\/wp\/v2\/posts\/16285","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wifamily.news\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wifamily.news\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wifamily.news\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/wifamily.news\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=16285"}],"version-history":[{"count":1,"href":"https:\/\/wifamily.news\/index.php?rest_route=\/wp\/v2\/posts\/16285\/revisions"}],"predecessor-version":[{"id":16286,"href":"https:\/\/wifamily.news\/index.php?rest_route=\/wp\/v2\/posts\/16285\/revisions\/16286"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wifamily.news\/index.php?rest_route=\/wp\/v2\/media\/16287"}],"wp:attachment":[{"href":"https:\/\/wifamily.news\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=16285"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wifamily.news\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=16285"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wifamily.news\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=16285"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}