Predicting risk from public complaint records
I underwrite business credit. The question I’m paid to answer is simple: will this company pay us? The tools I’m handed to answer it are mostly backward-looking and mostly about lenders. Bureau data tells me how a company treated its other creditors. Financials tell me what it chose to disclose. Both are useful. Both arrive late.
The best predictor I’ve found lives somewhere else. It comes from the people a company has the most power over, at the moment they stop putting up with it and escalate. Reviews measure sentiment. Complaints measure escalation. And escalation by the weakest counterparty is a leading indicator for what will happen to the strongest.
This matters in credit and risk for a specific reason. Everything in my normal data stack is a lagging measure of leverage. A company pays its bank before it pays its vendors, and its vendors before its workers. By the time a lender sees a missed payment, the damage has been rolling downhill for months. If you can see the bottom of the hill, you can see the future.
That’s the thesis. Here’s how I got there, the tool I built to prove it, and a method you can run yourself.
The wage claim list
Massachusetts publishes a list of companies with unpaid wage complaints. Public, free, updated. We started checking new applicants against it.
Appearing on that list was almost one-to-one with serious payment problems with us later. Not “elevated risk.” Almost every one.
The mechanism is plain once you see it. A company under stress doesn’t stop paying everyone at once. It stretches the counterparty least able to fight back. Vendors first. Then the vendors who can’t afford to sue. Payroll is close to last, because employees walk. So a wage claim isn’t an early signal. It’s a late one. By the time a worker has filed with the state, the company has already run out of softer things to stretch. The bureaus haven’t caught up because bureaus report on creditors, and creditors are the counterparty with the most leverage.
There’s a second reading, and I think it matters as much. A company that stiffs its own workers has told you something about its character. It will stiff anyone it can.
The principle
Every business has a hierarchy of who it can afford to disappoint. Risk to me is downstream of how it treats the people at the bottom. That behavior is observable, and it’s observable before it reaches me.
I want to be careful here. This isn’t “alternative data.” Most of what gets sold under that name is noise with a dashboard. The sources that work share three properties, and reviews mostly lack them:
- Filing costs something. Nobody files a wage claim because a manager was rude. The cost of filing filters out the trivial.
- Nobody manages them. A company will spend real money curating its Google reviews. No one hires an agency to manage their standing with the state labor department. So the record isn’t gamed.
- They’re complete. Government data isn’t sampled. The state is where escalation ends, so you’re looking at the full population of people who got that far.
When reviews do work
Reviews can work. At a previous company, we underwrote solar installers for a while, and customer reviews correlated notably with payment history. “If your customers don’t like you, we won’t either” turned out to be a decent underwriting rule.
Why did a weak, gameable source work here? Because the path from an unhappy customer to our balance sheet was short. An unhappy solar customer becomes a cancellation, a chargeback, a financing dispute. Those are unpaid receivables. The review was a direct read on the asset we were financing. Reviews fail as a signal when the money path is long, or when the entity has no reputation to protect in the first place.
That last failure is the important one. Most of the entities that treat people worst are too small to have reviews at all. Which brings me to the strongest source I’ve worked with.
Code enforcement complaints: the strongest source I’ve found
A code enforcement complaint is what a tenant files with the city when the landlord won’t fix the heat, the mold, or the rats, and asking nicely has failed. It sits at the top of the quality hierarchy for a few reasons:
- It’s costly to file. You have to name the address, describe the problem, and expect an inspector to show up. Nobody does that over a minor grievance.
- It’s a named public record. The complaint, the inspection, and the outcome are logged by the city, not by a review platform.
- It’s hard to game. No one is buying fake code enforcement complaints, and no one is paying to bury real ones.
- It’s indexed by address, not by business name. This is the property that makes it unusually powerful, and it deserves its own list.
Address-indexed data does three things a review site cannot
- It covers everyone. Small buildings, duplexes, single-family rentals, and private landlords have no review presence. They do have an address.
- It captures spillover. A rat problem next door is your rat problem. Reviews of a building tell you nothing about the block. Complaints within a few hundred yards do.
- It survives LLC renames. A landlord can dissolve one entity and form another. The building can’t move. Complaints stay attached to the property through every change of ownership and every new shell company.
Know Your Block
I wanted to search this data for my own city and couldn’t. The records were public, but they lived in a permitting portal that was built for inspectors, not for someone deciding whether to sign a lease. So I built Know Your Block.
What it is:
- Know Your Block (knowyourblock.org) is a free website that maps City of Columbus, Ohio code enforcement complaints by address.
- You search any Columbus address and see every complaint reported at that property, plus every complaint within roughly a third of a mile.
- Complaint types include mold, rodents and pests, no heat, unsafe or unsanitary conditions, and complaints about landlords and property managers.
- Data comes directly from the City of Columbus Accela portal and the city’s ArcGIS systems. It covers 76,225 complaints from Jan 2025 to the present.
- It costs nothing, requires no account, and I make no money from it.
Who it’s for
- Renters in Columbus checking an apartment, a landlord, or a property management company before signing a lease.
- Homebuyers checking a house, and more importantly the block around it, before making an offer.
- Anyone who wants to know whether a Columbus landlord or property has a history of code violations, health complaints, or housing complaints.
- Researchers, journalists, and tenant advocates who need Columbus housing complaint data in a form they can actually search.
Why it works better than reviews or a Google search
- Reviews cover a few large complexes. Know Your Block covers every address in the city that has ever had a complaint filed against it.
- Reviews are about the building. Know Your Block shows you the neighborhood, so you can see the problems that will spill over to you.
- Reviews disappear when a landlord changes the name on the door. The complaint history at an address does not.
- Reviews are opinions. A code enforcement complaint is a record that a real person escalated a real problem to the city and an inspector was dispatched.
Check a Columbus address now
Free, no account. Official City of Columbus records, mapped by address.
Free · no account · opens the live map's Block Report for the address
I built it for renters and homebuyers. But it’s the same risk logic I use at work, applied to a counterparty with even less leverage than a small vendor: a tenant.
The method
Here’s the flow. Run it on any industry and I promise it generates sources.
Who does the entity have leverage over?
Rank its counterparties by how little recourse they have. Tenants, hourly workers, subcontractors, patients, small customers. Watch the bottom of that list.
What does mistreating them look like?
Be specific. No heat in February. Missed payroll. A botched install. Vague harm doesn’t leave records. Specific harm does.
What does the victim try first?
A private fix. A call, an email, a conversation. This stage leaves no public record, and most bad behavior is absorbed here silently. Remember that for later.
When the private fix fails, which door is open?
There are four exits.
Voice: reviews, social media. Free, anonymous, weakest signal. Only works if the entity has a reputation to damage.
Regulator: code enforcement, state labor departments, attorney general consumer divisions, licensing boards, health departments, OSHA, EEOC. Costly, named, strongest signal.
Courts: small claims, evictions, liens. Costly and real, but scattered across county systems.
Exit: quit, move out, cancel. Leaves no record at all.
Does that door leave a public, indexed trail?
Some agencies publish. Some don’t. Often the answer is “yes, badly,” as in a quarterly PDF or a portal with no export button. That’s the opportunity. Badly published data is unmanaged data. Columbus code enforcement was exactly this: public, complete, and nearly impossible to use until someone reshaped it.
Why does it predict what happens to you?
The filer is a canary. They had less leverage than you, so they ran out of patience first. It generalizes for two reasons:
Character: it’s a pattern, not an incident.
Sequence: the company has already stretched the weak counterparties, so it’s further along in distress than the strong ones know.
Doing it well
This is what separates the method from cargo-cult alt-data.
Mechanism first. If you can’t tell the causal story from the complaint to your loss, don’t trust the correlation. Solar reviews worked because I could draw a line from a bad review to a chargeback. If the line has more than two or three hops, be skeptical.
Use cost of entry as a quality filter. The harder something is to file, the more it means.
Normalize. Complaints per unit. Claims per employee. Raw counts just punish size. A 300-unit complex with twelve complaints is doing better than a duplex with three.
Watch the decay. Every unorthodox source degrades once people start managing it. The day landlords start paying someone to monitor their code enforcement standing, that signal gets weaker. The edge has a half-life. Plan for it.
Respect the absence problem. No complaints is not a clean record. It may mean the victims are too afraid, too undocumented, or too worn down to file. Silence at the bottom of the leverage hierarchy is not the same as health.
Generating your own
Run the six steps on a sector and sources fall out.
- Restaurants: health inspections, wage claims.
- Contractors: licensing board complaints, mechanic’s liens, permit history, and the absence of permits.
- Nursing homes: state survey deficiencies, ombudsman complaints.
- Trucking: FMCSA safety and inspection records.
- Property managers and landlords: code enforcement complaints, eviction filings, security deposit suits. In Columbus, start with knowyourblock.org.
- Solar: state consumer complaints, financing disputes, and yes, reviews. The money path is short.
The edge is the boring part
None of this data was hidden. The Massachusetts list is a public web page. Columbus code enforcement records were public long before Know Your Block existed. It was all free the whole time.
The edge isn’t access. It’s the translation work nobody wants to do: geocoding a city export, parsing a state PDF, joining a complaint to an address to a block. Turning something that’s technically public into something that’s actually decision-shaped. That work is tedious, and that’s why it’s still an edge.
You can also find this article on my LinkedIn.
Keep going
Know Your Block is a free, independent public-information project operated by Canary Civic LLC. It maps official City of Columbus code-enforcement complaints so renters and homebuyers can research a property before they move in. It is not affiliated with the City of Columbus and nothing on this page is legal advice.
Complaint counts describe reports filed, not verified conditions. A filed complaint is a report, not a proven violation, and records may be unfounded, resolved, or out of date.