Methodology
How the index is built
StreetProof publishes observations, not opinions. This page describes exactly how a photograph on a street becomes a number on a Presence Record, and the limits of that number. If you plan to cite our data, read the limitations section at the bottom first. It's the part most methodology pages leave out.
Collection
Fleet backbone
Scout network
The two layers cover each other's weaknesses. Cameras on working vehicles can't be bribed and don't get bored, but they only see the routes the fleet drives. Scouts reach everywhere a person can stand, but a person can lie. So fleet observations carry full trust weight by construction — we control the device and the chain of custody end to end. They also double as the calibration anchor that scout submissions get checked against. When a scout's photos keep matching what the cameras independently saw, that scout's trust rises. When they don't, it falls, fast.
Privacy first
Every image passes an irreversible face and license-plate blur before it persists anywhere. We index businesses, not people. See privacy and removal.
Verification
Detected branding is machine-read, converted into an entity-match candidate, and checked against independent signals: OCR text, phone number, website/domain, known business records, location proximity, logo or visual similarity, and StreetProof's own observation history. A model can suggest a match or normalize messy text. It cannot publish identity by itself.
Weak or conflicting matches stay in the candidate queue. Reviewers can see the evidence source by source: what supported the match, what conflicted, and what the detector/OCR actually saw. Only corroborated or verified observations enter public counts and the append-only, hash-chained ledger. A new scout's observation may sit as provisional until an independent source observes the same asset; two or more independent source types can make the observation verified. Daily Merkle roots are published on the transparency page, which is what makes first-observed dates provably not backdated.
Machine matching is not perfect, and we do not pretend it is. The system is designed so uncertainty is inspectable instead of hidden in a confidence score. Every reviewer decision writes a human-review source and audit entry, so the correction trail is part of the product rather than a private cleanup job.
The Physical Presence Score (PPS)
PPS is a 0–100, cohort-relative score (compared within city × industry), computed nightly from corroborated and verified observations only, weighted by source trust. Each component answers a distinct question a customer might reasonably ask about a business's physical footprint:
Fleet asset count — 25%
Geographic spread — 20%
Recency — 20%
Longevity — 15%
Asset diversity — 10%
Consistency — 10%
From street to score: a worked example
Say a scout photographs a wrapped van outside a hardware store on a Tuesday. The image is blurred for faces and plates, the wrap text is machine-read, and the phone number on the wrap matches an existing entity. Call it a Calgary electrician. The van's visual fingerprint doesn't match any vehicle we've seen for that entity, so a new asset is created. Because the scout is new, the observation sits as provisional; on Thursday one of our fleet cameras passes the same van across town, the fingerprints match, and the observation is corroborated.
That night the scoring job reruns. The electrician's asset count ticks up by one vehicle, geographic spread gains a neighborhood cell it hadn't covered, and recency refreshes. None of these changes the score much on its own. PPS is cohort-relative, so the electrician's number moves only in comparison to other Calgary electricians, and single observations are deliberately small inputs. Sustained movement takes sustained presence. That is the design, not a limitation.
What gaming-resistance means here, concretely
“Can't be gamed” is a claim every ranking system makes and most can't back. Here is what ours rests on:
- Cohort-relative scoring. Your PPS is a comparison against businesses in your own city and industry, not an absolute count. Inflating raw observation numbers doesn't buy rank if the inflation is detectable. Volume spikes from small scout clusters are exactly what the anomaly detector watches for. Detected collusion freezes the entity's score, and the entity, not just the scouts, wears a public integrity flag. Paying for observations has to be reputationally suicidal, or someone would do it.
- Repeated-source discounting. The same scout photographing the same business over and over earns diminishing trust weight. Score-affecting vehicle counts require corroboration across independent source types. One enthusiastic friend with a phone cannot move a score.
- Mechanical rules, no human overrides. The score is a published formula over the ledger. Nobody at StreetProof, the founder included, can nudge a number; any change to an observation leaves an immutable audit-log entry, and the ledger itself is append-only. If we ever got a takedown demand from a business that disliked its score, there is literally no lever to pull.
What does not count
No opinions
No pay-for-placement
Business-provided content
Outbound links
nofollow; verified records receive standard links. Verification is free and identity-based, so it cannot be bought (see the no-pay-for-rank policy above).What PPS does not measure
Be clear-eyed about this before citing the score. PPS measures one thing: verifiable physical brand presence. It is not a quality rating. A business with a high PPS demonstrably exists, invests in physical presence, and has done so over time. It could still do mediocre work, overcharge you, or answer the phone rudely. We measure none of that, on purpose, because presence is observable and quality is an opinion.
The inverse cuts too. A low or absent score is not proof a business is fake. Plenty of legitimate operations have thin physical footprints: a solo bookkeeper with no vehicle, a caterer working from a commissary kitchen, a new company whose first wrap is at the shop this week. PPS also can't see indoor presence, unbranded vehicles, or anything on streets we haven't covered. What we claim is narrow and defensible: this branding was observed, at these places, at these times, and here is the evidence. Anything beyond that is your inference, not our data.
Coverage confidence & the limits of absence
“Never observed” is only meaningful where our coverage is dense. Every API payload carries a coverage_confidence reading, and low-coverage areas are stated as such. Absence of observations is not evidence of absence.
Error rates & corrections
Detection precision/recall, entity-match accuracy and OCR error rates will be published here quarterly once the first measurement window closes. Material corrections are logged permanently at /corrections. We'd rather publish an unflattering error rate than an unmeasured one.
Conflict-of-interest disclosure
StreetProof was founded by the operator of Calgary Garage Door Fix, which is itself an indexed business. Scoring is cohort-relative and mechanical; no staff action can alter an observation without an immutable audit-log entry. The founder's company competes for its PPS under exactly the same formula as every other Calgary trades business. That constraint is the disclosure.
Status
The index is pre-launch. Where demonstration data is used anywhere on this site it is synthetic and labeled as synthetic.
