KOVA SIGNALS

About · method

Every number on this site is a public record with a date on it

Kova Signals reads named public government files and sells the reading. The product is the feed: records read each morning, cut to what you buy, delivered with the source linked on every row. The permits we read are City of Chicago's today. If you bid work there, the feed is for you — whatever state your yard is in. We add a market when its public data is good enough to measure, never before. This page is the method: where the data comes from, how a record earns its row, what a new market has to clear before we sell it, and who is reading the file.

Four public datasets. The IDs are the product spec.

Everything we sell is a reading of one of these files. All four are public and free at the source — what subscribers pay for is the daily reading, the filtering, and the join work, never access to public data.

Illustration: a stack of weathered filing sheets, punched ledger paper and carbon copies on dark steel, beside a rubber date stamp. All of the print is illegible.
Illustration, not a photograph of a real filing. The print is deliberately unreadable — an invented legible record would be a forged one.
The public government datasets Kova Signals reads
DatasetPublisher · fileWhat we read from itMeasured
ydr8-5enuCity of Chicago · building permitsEvery new permit the City issues — address, permit type, reported cost, and who is attached.2,744 permits issued in the last 30 days · 2026-07-29
wb4f-nekiUS DOT / FMCSA · registration ordersMotor carriers served a suspension notice, with the date operating authority is lost.3,681 suspension orders in June 2026, nationally · 2026-07-28
r5kz-chrrCity of Chicago · business licencesLicences just issued (openings) and licences approaching expiry (renewals).325 openings a month · 4,162 renewals inside 60 days · 2026-07-29
ezma-pppnCity of Chicago · business ownersThe business officer's name, joined onto each licence record before delivery.measured with r5kz-chrr · 2026-07-29
Dataset IDs as published by the City of Chicago and US DOT/FMCSA · measured figures dated per row

How a record earns its row

01 · Source

Named public government datasets, nothing else. No purchased lists, no scraped inboxes, no data broker. Every dataset ID is printed on this page and in the footer of every other one, so you can go around us and pull the same file yourself.

02 · Read

The engine pulls every source each morning at 07:00 America/Chicago. The weekly permit-record pages on this site re-read the City's file daily on top of that, so a finished page keeps catching records the City files late.

03 · Verify

Every row keeps its link back to the government record it came from — check the source before you believe us. Records render as issued; we add no estimates. When a portal fails to answer, the page prints the failure instead of a stale or invented table.

04 · Deliver

Each feed is cut to what you buy — a trade, a state, a licence category — and delivered by email, source link on every row. The first delivery is always the reverse demo: three real records, free, so you check the product before any money moves.

Next morning pull

--:--:--

07:00 America/Chicago, daily — every source re-read, every feed refreshed

What we won’t publish

The caveats carry the same weight as the claims. Five standing refusals:

  • [Refused]A number without a named dataset and a measurement date on it.
  • [Refused]Rates we have not verified by sampling the records ourselves — cure rates, close rates, conversion rates, ROI figures.
  • [Refused]A named firm's counts on a public page. Aggregates only — the record-level detail belongs to the subscriber it concerns.
  • [Refused]A stale or invented table. When a source does not answer, the page says so.
  • [Refused]A trade we measured and could not help. Roofing and masonry came off the list in August 2026 because targeting them measured worse than random, and we would rather lose the sale than sell you noise.

If we emailed you

Everything we know about you came from a public government file anyone can download. For a Chicago contractor, that is your firm name, your trade, your business mailing city and ZIP, and two numbers: permits last month, permits this month. No personal contact details, no home addresses, no financial data. Reply once and we delete the record — we do not sell, share or rent anything.

Worked example · the trades we stopped selling

Two trades came off the list because the numbers said we would be wasting your money

We tested every trade the same way: take renovation permits whose description matches that trade’s keywords, and count how often a permit in that trade was later filed at the same address, against the rate for renovation permits that did not match. If matching does not raise the rate, the keyword bundle is not a signal — it is a mailing list with a story attached.

Follow-on permit rates for matched against unmatched renovation permits, by trade
TradeMatched permitsFollow-on rateUnmatched rateLift
Electrical5,52224.14%8.76%+15.38 pts
Fire alarm6,61521.65%4.51%+17.14 pts
Signs1,74317.79%2.88%+14.91 pts
Plumbing[Dropped]3,1521.05%0.74%+0.31 pts
Roofing[Dropped]2,4630.69%0.75%−0.06 pts
Masonry[Dropped]3,6350.96%1.99%−1.03 pts
11,584 renovation and 2,712 new-construction permits, each given a full 180-day follow-on window, from 80,693 Chicago permits issued 2024-02-03 to 2026-08-01 · City of Chicago ydr8-5enu · FORENSIC_AUDIT_REPORT.md §2 · measured 2026-08-01

Roofing and masonry are negative. Matching those keywords made the follow-on rate go down, which means a roofing or masonry list built this way is worse than picking addresses at random. We stopped selling both. Plumbing is positive by a third of a point, which is not enough to charge for, so we do not.

A follow-on permit rate is evidence that work follows. It is not a promise you will win it.

What a new market has to clear

We start where the public data is good enough to measure

The market is where the work is, not where the buyer is. A firm based anywhere that bids into Chicago and Cook County is a customer today. What we will not do is name a second market in our copy before its own file has been measured — so here is the gate, and where the nearest candidate actually stands.

  1. ReadThe market's permit dataset is pulled, its schema mapped, and its trade filters keyed to what the work description says rather than to the publisher's own label for it. A filter keyed to a publisher's label is one silent rename away from an empty feed, and we already have that scar.
  2. MeasureThat market's own follow-on odds and its own watchlist lift are measured on that market's own data, with its own control group. Chicago's numbers are Chicago's and never transfer — not as an estimate, not as a range, not as “comparable.”
  3. GateA claims-ledger entry exists for that market's numbers, with a dated measurement a skeptic can re-run, before any copy names the market. No entry, no sentence.

Where Naperville stands · read, not measured, not claimable

STEP 1 PASS — its permit file has been read: 33,217 permit rows across 3,424 firms, pulled 2026-08-04.

STEP 2 FAIL — no follow-on measurement has been run on Naperville data. We do not know its cross-trade rate, its median lag, or whether a watchlist equivalent exists there.

STEP 3 FAIL — no claims-ledger entry.

So no page, email or call from us says Naperville, DuPage, or “the suburbs” as covered ground until steps 2 and 3 pass. Having read a file is not having measured it, and the distance between those two is the entire product.

Worked example · schema drift

When a dataset changes shape, nothing breaks loudly

Public data is free and public data moves. This is the case that explains what the daily reading is actually for, written out in full because a subscriber is entitled to check our work.

Query log · ydr8-5enu · 2026-07-29

[MISS]permit_type = "PERMIT - ELECTRIC WIRING"

→ 0 rows (all time)

hyphen, U+002D · type retired July 2026

[HIT]permit_type = "PERMIT – EXPRESS PERMIT PROGRAM"

→ 165 rows (week of 2026-07-22)

en-dash, U+2013 · where electrical work files now

What changed. In July 2026 the City of Chicago retired the permit type PERMIT - ELECTRIC WIRING in ydr8-5enu. It does not return a deprecation flag or a partial result — it returns zero records, for all time, as though electrical permits had never existed. Electrical work now files under PERMIT – EXPRESS PERMIT PROGRAM.

The second trap, inside the first. The new type is spelled with an en-dash (U+2013), not a hyphen. Typing the obvious hyphen matches zero rows, and the query looks perfectly reasonable in the editor. Two different spellings of the same string, one empty feed.

Why it is dangerous rather than annoying. Neither failure raises an error. A pipeline keyed to the old type keeps running, keeps delivering, and delivers nothing — which is indistinguishable from a genuinely slow week in a trade. A buyer would have no way to tell, and neither would an engine that trusted its own filter.

How we found it, and when. 2026-07-29, while building sample record packets by hand. The week of 2026-07-22 carried 165 electrical-scope express permits that a filter on the retired type would have silently dropped.

What we changed because of it. Trade filters key on the work described in the record, not on the City’s label for it, and weekly volume floors run as a regression test — signs 32, wrecking 16, renovation and new construction 185, electrical-scope express 165 for that week. An electrical count near zero now means the mapping broke, and it gets looked at before anything ships.

Dataset ydr8-5enu · counts measured 2026-07-29 · amendment recorded the same day

Who runs it

Kova Signals is run by Al Cirton from Chicago, Illinois. The emails come from him, and the fastest way to test the method is to ask for three real records.