Friends & Neighbors,
I’ve had this newsletter half written since the City Auditor’s Office released its Nonprofit Contract Performance Management audit at the July 20 Audit and Finance Committee meeting. I kept opening the draft, reading the numbers again, and closing my laptop. Not because the findings surprised me. Because they didn’t.
I want to be honest with you about that, because I think it matters more than the numbers do.
Here’s the headline: Austin spent about $100 million last fiscal year with 95 nonprofit organizations to provide family and social services: homelessness services, behavioral health, job training, housing assistance, services for kids and families. Auditors sampled 25 of those contracts, worth about $30 million, and found that 19 of them, 76%, didn’t meet one or more of their performance goals. Zoom into the actual expectations, and the picture gets worse. Of 151 output and outcome goals reviewed, 67 of them, 44%, went unmet. For more than half of everything that fell short, what was actually delivered was more than 40% below what the City agreed to pay for.
One nonprofit agreed to serve 907 clients in a year. It served 573.
The City paid the full contract amount anyway, because most of these are cost-reimbursement contracts. The nonprofit gets paid for its costs, salaries, travel, overhead, regardless of whether the outcomes show up. Auditors highlighted two contracts where the City paid in full even though the nonprofits missed most of their goals: one missed 6 of 7 performance expectations, including an 80% shortfall on the number of people whose mental health improved. The other missed 3 of 4.
Let me say plainly what I think a lot of Austinites feel reading this: these are not abstract numbers. Every unmet expectation is a person who needed help and, by the City’s own measure, didn’t get the full amount of it. That’s what hurt to sit with, not the procurement jargon.
Here’s the thing that made me want to throw my laptop across the room instead of just close it. This audit is basically the sequel nobody asked for. Back in 2019, the City Auditor’s Office conducted a review of the City’s social service contracting process, referenced directly in this year’s audit’s background section, and made three recommendations, including developing a citywide social service procurement policy with real performance guidelines. Two of those three recommendations were never fully implemented. The current audit says so, in writing, in its own background section: they weren’t implemented “due to shifting responsibilities and definitions of social service contracts and grants across the City.”
Translation, for those who don’t speak bureaucrat: the City knew about this problem seven years ago and reorganized itself instead of fixing it.
Many of you know I served one term on Council, District 6, starting in 2021, and I can tell you this wasn’t a secret in the building. It’s part of why I voted no often on individual nonprofit contracts when the backup material didn’t give me confidence the City was managing the relationship well, not because I doubted the nonprofit’s mission, but because I didn’t think the structure around the contract was doing its job. In March 2021, I was the lone no vote on a $400,000 no-bid contract, with a $250,000 extension, for a local nonprofit. My statement at the time was that I’d have felt more comfortable if we’d explored a more cost-effective and permanent solution for the needs the item was trying to address. That instinct, that we were writing checks without a real structure for making sure the money did what it was supposed to do, is exactly what this audit is describing five years later, just with a much bigger spreadsheet behind it.
I don’t say this to pat myself on the back. I say it because it’s frustrating to watch a concern you raised as one Council Member out of eleven get validated by an audit years after you’ve left office, and to know that in between, real people didn’t get the services they were promised.
By August 2023, I’d concluded that voting no on individual contracts one at a time wasn’t going to fix a systemic problem. So I tried something bigger, and I went in knowing I probably wasn’t going to get my colleagues on board.
On August 31, 2023, one day after Austin’s Chief Homeless Strategy Officer resigned amid concerns the City still didn’t have an effective strategy, I sent a memo to Interim City Manager Jesús Garza requesting a comprehensive review and audit of homeless services and spending within our city. Austin had just approved a record $80.9 million for homelessness in that year’s budget, and I felt strongly that the community deserved to actually understand what that money was accomplishing, not just how much of it we were spending.
A single Council Member can send a memo like that on their own. What a single Council Member can’t do is make City staff prioritize it, fund it, or staff it, not without other members applying the same pressure. I didn’t have that support at the time. The politics around homelessness in Austin in 2023 were about as charged as they get, in the middle of the fight over the camping ordinance, and getting colleagues to agree on directing staff toward a full audit of a program most of them didn’t want to be seen questioning wasn’t in the cards. As best I can find in the public record, the request went nowhere.
Just months later, in January 2024, the City did move on a version of that ask, though not through me. Mayor Kirk Watson and Garza brought forward a $2 million joint contract with the consulting firm McKinsey & Company for a sweeping external review of homelessness strategies and spending across the City, Travis County, Integral Care, and Central Health. Council approved it that January. It was immediately and loudly criticized: the Austin Justice Coalition’s Chris Harris dismissed it publicly as accomplishing nothing, calling it a “laughably corrupt procurement process,” and a neighborhood association tweeted that the City had become a slush fund for McKinsey and Garza’s associates. Travis County pulled out about two weeks later, citing both the cost and McKinsey’s own ethics record, the firm had recently drawn scrutiny for its role advising opioid manufacturers during the addiction crisis. By February 22, 2024, Garza killed the contract himself, writing that “the conditions for the assessment have changed” too much among the partners to proceed.
I was disappointed, and I said so publicly at the time, calling myself “deeply disappointed by the city manager’s decision” and tying the collapse directly back to my own months-earlier push for an external audit of homeless spending. The City had found the institutional will to spend $2 million on a review, just not the discipline to structure that review so it could survive contact with the very partners it depended on.
It took until 2025 for a narrower version of the same idea, run through the City Auditor’s Office instead of an outside consultant, to actually produce something durable, when Council Member Ryan Alter and Mayor Watson made a special request that became the audit I’ve spent this whole post writing about. From my memo to a functioning audit was nearly two years, one canceled $2 million contract, and a change in who was asking.
That, more than anything, is why I don’t think the fix here is more individual Council Members raising alarms on their own, or even a well-funded outside consultant parachuting in. What actually works has to survive changes in who’s asking and who’s in office, which means it has to live in the process itself, not in any one person’s persistence.
Here’s a detail buried in the audit that deserves way more attention than it’s gotten: Austin has an Anti-Lobbying Ordinance that’s supposed to create a no-contact period between companies bidding on City contracts and the people deciding who wins them, so that decisions get made on the merits instead of on who has the best relationships at City Hall. Social service contracts are exempt from it unless Council specifically votes to bring them under it. The 2019 audit flagged this and recommended the City Manager and Council figure out whether it should apply. This year’s audit reports that six of the seven peer cities studied back in 2019 do apply anti-lobbying rules to their social service contracts. Austin still doesn’t, seven years and one full audit cycle later.
Credit goes to former Council Member Daryl Slusher for really digging into this in his newsletter, The Austin Independent, the week the audit dropped. Slusher, who represented Austin on Council in the 1990s and 2000s, pointed out that he used to have a personal policy of steering nonprofit representatives who approached him for funding over to staff instead, precisely to avoid the kind of direct lobbying the ordinance is meant to guard against. His read is that this used to be common practice among Council Members, and that the 2019 audit’s recommendation to formalize that boundary tells you it isn’t anymore.
Slusher also connected this to something a lot of us watched play out in real time last November: Proposition Q. That was the tax rate election where the Mayor and a Council supermajority asked voters to approve a tax increase beyond what state law allows without a vote, with tens of millions of the resulting revenue, $51.5 million for homelessness services alone, earmarked to flow through nonprofit contracts. Several of the nonprofits that stood to benefit financially from Prop Q passing turned around and donated to the campaign supporting it, including ECHO, the City’s largest recipient of homelessness funding, and Foundation Communities. Attorney General Ken Paxton went so far as to open an investigation into whether Foundation Communities’ pledge to Love Austin PAC amounted to an illegal fundraising scheme, though election law experts noted that funding ballot measures, unlike funding candidates, is generally legal for nonprofits.
Prop Q failed by almost two to one, and Austin has since had to unwind millions in social services contracts it had budgeted as if the measure would pass. But Slusher’s point stands regardless of the outcome: when the nonprofits receiving City money are also the ones campaigning at City Hall for more of it, whether through direct lobbying of Council Members or through ballot measure campaigns funded in part by the same public dollars, the arrangement gets cozy in exactly the way an anti-lobbying rule exists to prevent. Austin decided, quietly and without much public debate, that this rule just doesn’t apply here.
None of that makes individual nonprofits the villain in this story. The internet rewards outrage, and I’d rather be accurate. A coalition of Austin nonprofits pushed back hard on this audit, and not without reason. They argued the report relied on incomplete data, applied performance measures that didn’t fit every type of service, and didn’t account for the real-world challenges these organizations face, like clients who are unwilling to hand over race, ethnicity, or eligibility documentation, or clients who are afraid to access healthcare or assistance because of who they are. Both of those show up directly in the audit’s own “key challenges” column.
Auditors also found, when they visited nonprofits directly, that the performance data those organizations reported to the City actually matched what they told auditors in person. In other words, this isn’t primarily a story about nonprofits lying about their numbers. It’s a story about a City that built a reporting system, collected the numbers faithfully, and then didn’t build any mechanism to act on what those numbers said.
Mayor Kirk Watson made a version of this point at the committee meeting: the audit wasn’t meant to be an attack on the nonprofit sector, and shouldn’t be read as one. Mayor Pro Tem Chito Vela put it more bluntly, saying there might be short-term political upside to skipping audits like this one, but doing so isn’t “good governance.” Council Member Ryan Alter, who along with Watson requested this review, pushed staff on an even harder question: if the City can’t verify it’s getting what it pays for, why not just bring some of these services in-house?
Alter’s question, whether the City can trust this contracting model at all, isn’t hypothetical to me. I watched a live version of it play out during my own term, at the ARCH.
In the summer of 2022, the City abruptly ended its longtime contract with Front Steps, the nonprofit that had run the Austin Resource Center for the Homeless, the ARCH, since it opened in 2005. With only about two months to find a replacement before Front Steps’ contract expired, Urban Alchemy, a California-based nonprofit, was the only organization to respond to the City’s rushed solicitation. Local service providers raised alarms before Council ever voted: lawsuits alleging harassment, discrimination, and questionable labor practices against the company in California, and concerns that the selection process hadn’t been transparent.
I voted no on that contract. I said at the time that handing the ARCH to Urban Alchemy was “not an acceptable risk”, and that with more time, the City could have found a better fit for the shelter. The contract passed anyway, because the alternative, no operator at all when Front Steps’ contract expired on September 30, was worse. Even the Council Members who voted for it weren’t happy about it. Mayor Steve Adler called it “a really bad situation” with no good options.
After Urban Alchemy took over, downtown visibly changed. The loitering that had been a constant, visible presence around the ARCH largely disappeared. I decided it was time to go on a field trip.
When I asked what specifically they’d done to accomplish that, I was told directly: one of the changes was removing the porta-potty that had been outside the building. If you needed to use the bathroom, you now had to come inside, and coming inside meant scanning an ID card. That scan got logged as a “contact” with a client, the same kind of output metric this audit found unmet nearly half the time citywide.
Let me be really clear about what I’m not saying: Everyone deserves access to a bathroom, regardless of their housing status. That’s a basic human need, full stop, and I’m not suggesting otherwise. What I am saying is that the City was effectively paying for, and counting toward that contract’s performance numbers, someone using a restroom. That’s not a service that moves a single person closer to housing, a job, treatment, or stability. It just moved where the line for “contact” got drawn, from a curb outside to a scanner inside. Taxpayer dollars for family and social services should be going toward the harder, slower work of actually lifting someone out of their situation, not toward a metric that looks good on a monthly report because someone needed to use the toilet.
There’s a coda to this story that sharpens the point: In September 2025, the City declined to renew Urban Alchemy’s contract after the nonprofit self-reported that five employees had falsified data related to how clients moved through the system. The porta-potty story is about a number that’s technically true but misleading. The 2025 story is about numbers that weren’t even true. Both live in exactly the gap this audit is trying to close: the distance between what a City contract measures and what it actually tells you about a person’s life.
The audit’s own recommendations ask the City to close that gap: a real evaluation process at the end of a contract, criteria that get communicated clearly and consistently, and a way for one department to know what another department already learned about a given nonprofit. The City Manager agreed to all of it. The proposed timeline stretches into early 2027, with a “preliminary assessment” of how it’s going promised by June 2027, and a related recommendation on competitive bidding and the Anti-Lobbying Ordinance pushed all the way to October 2027.
I’ll believe the reform when I see the next audit, is what I’m saying.
I’ll be keeping an eye on a few things as this moves forward, and I’d encourage you to do the same:
Whether the City actually centralizes contract compliance the way management’s memo proposes, instead of letting responsibilities keep drifting between departments the way they have for years
Whether nonprofits get a meaningful seat at the table in defining what “success” looks like for their specific service, since a lot of their pushback is about performance measures that didn’t fit their reality
Whether the next round of contracts includes any real consequence, financial or otherwise, for missing performance goals, since right now there isn’t one
You can read the full audit report and management response here, and I’d genuinely encourage you to, because Exhibit 5 alone is worth your time. It’s a chart of two real contracts, paid in full, next to just how far short they fell.
Until Next Time,
Mackenzie
P.S. If you want to see how your own Council Member’s office is responding to this, the Audit and Finance Committee backup and future meeting agendas are public. It’s worth watching whether this becomes a one-meeting news cycle or an actual policy fight.
No posts

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.