The truth about TIFs

Illustration by Mark Vollenweider
Are TIFs being used the way they were intended? — Illustration by Mark Vollenweider

In mid-July, the Iowa City City Council authorized $14.1 million dollars in TIF-funded financial aid to the $49 million dollar, 15-story luxury high-rise named The Chauncey. The debate over the city’s decision to essentially subsidize part of the construction of The Chauncey—which will include more screens for FilmScene, a bowling alley, art gallery space and a café—spilled out onto the editorial page of the Iowa Press-Citizen with former City Council Candidate and local attorney Rockne Cole, slamming The Chauncey as a “breathtaking wealth transfer from working families struggling to make ends meet to provide subsidized housing for the one percent. It’s morally wrong and bad public policy.”

Mayor Matt Hayek and Mayor Pro Tem Susan Mims responded in less bombastic terms, noting, “A TIF project is repaid through taxes on the increased value of the property. No money is transferred from city taxpayers. We disagree with the characterization of this as a ‘breathtaking wealth transfer.'”

The Chauncey is just the latest battleground in the long-standing controversy over the city’s Tax Increment Financing (TIF) program. A funding scheme adopted by state, county and local municipalities across the nation over the past few decades, its place in the public consciousness is best summed up by Peter Fisher, a public finance expert and research director at the Iowa Public Policy: “poorly understood, yet hotly debated.”

It’s easy to see why TIFs exist in the proverbial shadow of most Iowa Citians (or for that matter, Americans) minds. Comprehending them requires burrowing into Johnson County Auditor’s files, think tank reports, Iowa City financial archives, old Daily Iowan and Press-Citizen stories and Iowa Department of Revenue studies. If trying to understand your average political issue at a basic level is like running a metal detector over a sandy beach, familiarizing yourself with TIF programs is akin to a full-blown archeological dig.

The best way to begin to understand TIFs is to view them as public-private subsidy partnerships. Under state law, municipalities can designate certain areas under their jurisdiction as “TIF districts.” In these districts, the property tax rate is frozen at whatever level it happens to be at during the time of TIF designation. However, municipalities still collect tax revenue in the district as if the property tax rate had never been frozen.

For example, if you live in a TIF district  and your property tax rate was $10 when the rate was frozen, but now the rate is $20, the city still takes the $20. The difference between the frozen rate and the actual rate the city collects is called the “increment,” which is put into the city’s TIF fund. The city council then doles out the money to private contractors in order to subsidize various developments around the city. In recent years, TIFs have been used to fund ventures such as FilmScene, the Plaza Towers, Park@201 and the Sycamore Mall, among others.

The governing philosophy behind TIFs is that, without them, private developers are dissuaded from investing in economically blighted neighborhoods by the risks associated with such a move. To encourage badly needed economic development, local governments provide incentives in the form of TIF subsidies, which help lure the businesses into neighborhoods where they wouldn’t otherwise develop. Local residents get jobs and services, businesses generate their profits while saving on start-up costs and the city, as noted by Iowa City officials in the Press-Citizen, get “repaid through taxes on the increased value of the property.” The best of all possible worlds.

However, the image of TIFs is considerably less rosy in execution than it appears to be in conception, particularly when it comes to the intellectual core of TIF law: the focus on blighted neighborhoods. The idea that TIF funds are supposed to be used to revitalize poor neighborhoods is paramount, to the point that it’s written into the Iowa State Code. As the Iowa Department of Revenue explains, “Iowa Code recognizes two primary purposes for [TIF funding]; namely, to eliminate slum or blight and to promote economic development.”

And yet, when it comes to the real-world TIF priorities of municipal officials, such as the Iowa City City Council, the latter part of that sentence, “economic development,” is a term that essentially gives municipalities carte blanche to designate non-blighted neighborhoods (such as downtown Iowa City) as TIF districts. With $2.8 million for Park@201, $6 million for the Plaza Towers and now $14 million for The Chauncey, TIFs have increasingly become a mechanism to shovel tax revenue into high-end real estate developments in affluent sections of the city, particularly in the downtown/university bubble. Rather than transform the lives of Iowa City’s most vulnerable citizens, TIFs are used to help fund the homes and entertainment of its most prosperous.

This dynamic isn’t just playing out in Iowa City. A study conducted by the Iowa Department of Revenue on TIF usage across the state over the past decade found that 89 percent of TIF valuation statewide was being allocated for “economic development,” while a mere 11 percent was going toward improving blighted neighborhoods. Just down Interstate 80 in Chicago, any pretense of focusing on the economically disadvantaged areas of the city has been shattered, with the TIF fund becoming the personal property of the mayor’s office to throw around on expensive development projects such as a $55 million hotel and arena for a local college basketball team in the least blighted area of the city: downtown.

Can TIFs be reformed? An Iowa Policy Project authored by Peter Fisher offers some promising solutions: eliminating TIF districts in favor of allotting funds on a project-by-project basis, prohibiting TIFs from acting as a means of subsidizing retail outlets and eliminating the “anti-democratic” nature of TIFs by allowing their usage to be put to public referendum.

However, if the ‘TIF question’ were ever to be put before the voters of Iowa City, it would behoove us to consider if the program is even worth salvaging. The same Iowa Department of Revenue report that found that TIFs were being disproportionately appropriated to wealthier neighborhoods, also discovered that the increase in TIF usage that Iowa has seen over the past decade has had almost no effect on the wages, employment and overall “economic development” of the communities they have been utilized in. And that’s all you really need to know.

[gravityform id="17" title="false" description="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper your-village-form_wrapper' id='gform_wrapper_17' ><a id='gf_17' class='gform_anchor' ></a><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_17' id='gform_17' class='your-village-form' action='/the-truth-about-tifs/#gf_17'> <div class='gform_body'><ul id='gform_fields_17' class='gform_fields top_label form_sublabel_below description_below'><li id='field_17_7' class='gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible' ><h3 style="font-weight:800; font-size:34px;">Let's get started</h3> <p style="font-size:18px;">Fill out this form and we'll contact you with information about marketing with Little Village!</p></li><li id='field_17_4' class='gfield field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label gfield_label_before_complex' for='input_17_4_3' ></label><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name gfield_trigger_change' id='input_17_4'> <span id='input_17_4_3_container' class='name_first' > <input type='text' name='input_4.3' id='input_17_4_3' value='' aria-label='First name' tabindex='2' aria-invalid="false" placeholder='First name'/> <label for='input_17_4_3' >First</label> </span> <span id='input_17_4_6_container' class='name_last' > <input type='text' name='input_4.6' id='input_17_4_6' value='' aria-label='Last name' tabindex='4' aria-invalid="false" placeholder='Last name'/> <label for='input_17_4_6' >Last</label> </span> </div></li><li id='field_17_5' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_17_5' ><span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_5' id='input_17_5' type='text' value='' class='large' tabindex='6' placeholder='Company name' aria-required="true" aria-invalid="false" /></div></li><li id='field_17_3' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_17_3' ><span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_email'> <input name='input_3' id='input_17_3' type='text' value='' class='large' tabindex='7' placeholder='Your email address' aria-required="true" aria-invalid="false"/> </div></li><li id='field_17_8' class='gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_' ><label class='gfield_label' for='input_17_8' >Phone</label><div class='ginput_container'><input name='input_8' id='input_17_8' type='text' value='' /></div><div class='gfield_description'>This field is for validation purposes and should be left unchanged.</div></li> </ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_17' class='gform_button button' value='SUBMIT' tabindex='8' onclick='if(window["gf_submitting_17"]){return false;} window["gf_submitting_17"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_17"]){return false;} window["gf_submitting_17"]=true; jQuery("#gform_17").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=17&amp;title=&amp;description=&amp;tabindex=1' /> <input type='hidden' class='gform_hidden' name='is_submit_17' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='17' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_17' value='WyJbXSIsIjlmNzc1YTEyZmZjNmYyODk5Mzk0NDM3ZjRlOGYyZDNmIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_17' id='gform_target_page_number_17' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_17' id='gform_source_page_number_17' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="105"/><script>document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_17' id='gform_ajax_frame_17'>This iframe contains the logic required to handle Ajax powered Gravity Forms.</iframe> <script type='text/javascript'>jQuery(document).ready(function($){gformInitSpinner( 17, '' );jQuery('#gform_ajax_frame_17').load( function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_17');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_17').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;if(is_form){jQuery('#gform_wrapper_17').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_17').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_17').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_17').offset().top); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_17').val();gformInitSpinner( 17, '' );jQuery(document).trigger('gform_page_loaded', [17, current_page]);window['gf_submitting_17'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_17').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_17').offset().top);jQuery(document).trigger('gform_confirmation_loaded', [17]);window['gf_submitting_17'] = false;}, 50);}else{jQuery('#gform_17').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [17, current_page]);} );} );</script><script type='text/javascript'> if(typeof gf_global == 'undefined') var gf_global = {"gf_currency_config":{"name":"U.S. Dollar","symbol_left":"$","symbol_right":"","symbol_padding":"","thousand_separator":",","decimal_separator":".","decimals":2},"base_url":"https:\/\/\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope","number_formats":[],"spinnerUrl":"https:\/\/\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope\/images\/spinner.gif"};jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 17) {if(typeof Placeholders != 'undefined'){ Placeholders.enable(); }} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [17, 1]) } ); </script>