Currently Shipping AI into a real-estate acquisitions workflow Location San Mateo, CA Updated 2026-10-08
N° 017 / Writing / AI / Sep 15, 2026 / 1 min read

Turning concession banners into usable rent data

The promotion on the marketing page may be missing from the availability feed.

A rent feed can show the asking price while the leasing page advertises several weeks free. For an acquisition comparison, those are parts of the same offer. Ignoring the banner overstates the advertised cost; applying it to every unit can understate it.

I keep the promotion’s original wording alongside the structured rent data. The concession scanner recognizes supported free-rent language and separates it from dollar credits, waived fees and other offers. Net-effective rent means the monthly cost after spreading an eligible concession over the lease term. It requires more than spotting a number beside the word “free.”

The parser deliberately leaves a dollar credit as text. It does not turn that credit into a number of free weeks, even when a monthly rent is available. That would introduce assumptions about the lease and the credit’s conditions at the parsing step.

Invented banners, illustrating the current parsing boundary
BannerWhat can travel forward
Six weeks freeA supported free-rent duration and original text
$500 off your first monthOriginal text; no invented free weeks
Special on selected floor plansAn eligibility question that still needs resolving

Local tests exercise the dollar-credit boundary with and without a supplied monthly rent: the scanner keeps the wording and returns no free-week value. These are parser checks using synthetic offers. They do not establish that a promotion is available for a particular apartment today.

Eligibility is still the harder part. The current code can treat an offer naming multiple bedroom types as community-wide without confirming the property’s full bedroom mix. That is an imperfect shortcut. A property with another, unmentioned floor plan could receive an overly broad discount. I would need to join the restriction to actual inventory before claiming complete unit-level coverage.

I want the comparison to preserve the asking rent, the promotion and the basis for any adjustment. That lets me inspect an appealing net-effective number before treating it as a rent comparable. Some offers remain unquantified, which is more useful to me than silently filling in terms the page never gave.

End · ~339 words ⁂ Filed September 15, 2026
§ Continue reading All posts →
  1. 032 A missing total is not a zero Sep 26, 2026 · AI
  2. 033 A skipped test counted as a pass Sep 26, 2026 · AI
  3. 034 My tests passed. The next tool still read the wrong number. Sep 26, 2026 · AI