Abdullah Akbar Khalid
← All exhibits

Exhibit B · Covenant strength

Is that covenant real, and if not, where does the money actually sit?

Screening the covenant strength of UK commercial tenants from free public filings, at any scale from one lease to an entire postcode district.

Status
Public, live demo
Stack
Python · Companies House API · DuckDB · Flask
Source
github.com/akbar-33/covenant
Demo
akbar-33.github.io/covenant

The problem

In UK commercial property the building is almost secondary. What you are buying is the rental income stream, and that stream is only as good as the tenant's ability to keep paying. Surveyors call this covenant strength and assess it constantly, today either by paying a credit reference agency per report or by eyeballing it.

Meanwhile every UK company files public, structured, machine-readable records for free, and the strongest early warnings of tenant failure are buried in them. Almost nobody reads them systematically, because doing it by hand across a rent roll is tedious.

The example that carries the whole idea

Search the register for "Pret A Manger" and twenty entities come back, several dissolved, two of them named almost identically. One is a 2018 acquisition vehicle, formerly JAB (ACQUISITION) LTD, filing under the subsidiary audit exemption. The other has traded since 1984 and files full accounts.

Same brand. Same registered address. Opposite covenant. A landlord who signs the first entity believes they have the sandwich chain, and actually holds a shell. That distinction is free, public and structured, and this is the machinery for checking it.

Real register data: the example that carries the ideaHover either entity
PRET A MANGER LIMITED
No. 11391321 · inc. 2018
SIC 64209 · holding company
audit-exemption subsidiary
Band C · 55/100
require guarantee or deposit
PRET A MANGER (EUROPE) LIMITED
No. 01854213 · inc. 1984
SIC 47110 · retail, trading
full accounts filed
Band A · 100/100
institutionally acceptable

How it operates

Two paths with deliberately different currencies. A certificate is fetched live from the Companies House API at the moment you look at it. A sweep runs over a monthly bulk snapshot of 5,695,465 companies, dated the first of the month. The interface keeps the two visibly distinct, because presenting a month-old reading as live would be exactly the kind of quiet error this tool exists to catch.

How it operates: register in, defensible verdict outHover any stage
Live path
Companies House APIfree, public register
covenant.pydeduction ledger, each rule names its filing
app.py (Flask)search · certificate · compare
Band A to E + score
Scale path
Parquet snapshot5,695,465 companies
sweep.py + DuckDB~0.6s per postcode, cached
freeze.pyrenders the app to static HTML
GitHub Pagesdemo that never sleeps

Decisions worth defending

Deduction-based scoring, never a black box

Every entity starts at 100 and loses points only for reasons that name the filing evidencing them. A surveyor can disagree with a deduction and go read the source. A score with no ledger behind it is an opinion wearing a number's clothing.

Transaction language, not adjectives

The output says require a guarantee, take a six to twelve month deposit, or accept as is. Those are the decisions a lease negotiation actually turns on. Describing a tenant as 'moderate risk' helps nobody.

The demo is the real app, frozen

The public dashboard is generated by rendering the live application to static HTML. No server to fall asleep, no API key to leak, and no risk of a demo drifting away from the tool it claims to represent.

A screen, not an opinion

Nothing here is a Red Book valuation or investment advice. It tells you which entities deserve an hour of a surveyor's attention, which is a genuinely useful thing to automate and a dangerous thing to overclaim.

At portfolio scale

The sweep scores a whole postcode district in about six tenths of a second per postcode once cached. A single W1 run scores 7,746 companies, returns the band distribution, the weakest names, a distress league across the district, and a sector panel. That is what turns a one-lease check into portfolio triage.

Back to all exhibits