Data · Method
How we produce these numbers
This page exists so you can check our work, and it was written before the first report rather than after somebody questioned one.
Source
EXIF metadata read from listing images in the Phoenix (ARMLS) and Tucson MLS. Records are collected continuously by the same pipeline our production company uses operationally, which means it is maintained because we depend on it, not because a report is due.
The pipeline, in order
Every figure we publish comes from this exact sequence. The counts are from the run on 7 September 2026.
| Step | Rows | Why |
|---|---|---|
| Union of the four per-year shards | 225,961 | The files are stored per year. Reading a single shard produces a materially different answer — on this report, a different headline entirely. |
| Drop malformed rows | −3 | A repeated header row, and two rows whose listing number is a lens description. |
| Deduplicate on listing number | −0 | Keeping the most recent record. Once the malformed rows are gone there are no genuine duplicates, and we publish that rather than implying we caught some. |
| Restrict to listings dated 2025 or 2026 | −18 | Two 2024 stragglers and sixteen rows with no usable list date. |
| Published total | 225,940 | Every figure on the reports divides into this or into one of the two subsets below. |
Denominators, stated separately every time
Three different denominators apply to different figures and we never mix them. Where a table uses one rather than another, its subheading says so.
| Denominator | Count | Used for |
|---|---|---|
| Listings in the window | 225,940 | Coverage rates only |
| With a readable camera body | 104,922 | All share-of-listings figures, including phone and drone share |
| With both a body and a photographer credit | 27,851 | All per-owner and owner-count figures, and the chart |
Exclusions
Empty metadata and the literal string nan are dropped rather than counted as a
camera or a person. This matters more than it sounds: nan is stored as a value in
these fields, and counting it silently inflates both camera counts and photographer counts.
Bodies with fewer than 15 identified owners are excluded from per-owner charts, because a body
owned by two people produces a meaningless average.
Drone bodies are identified by model-code pattern rather than by manufacturer, because air
units report codes like FC3411 rather than a brand. The same rule produces both the
sitewide drone share and our own, so the two cannot disagree.
Known limits
- Photographer credit is self-reported and appears on only 12.3% of listings, so owner counts are a floor, not a census, and any figure drawn from the credited subset describes that subset rather than the market.
- Agents and export tools routinely strip or overwrite metadata, so phone share in particular is understated. Our own jobs come back readable only 19.8% of the time.
- A camera body tells you what took the photo, not who was paid for it. A fleet operator and a solo photographer both appear as one credit string.
- This is Arizona. We do not claim it generalises to your market, and we will say so on any report where the geography matters.
Corrections
Restatements are dated and left in place. We do not silently edit a published number. If we get one wrong and you notice, tell us and the correction goes on the page with the date we made it.
What we do not do
We do not accept payment to include, exclude or frame anything in these reports, we run no affiliate links on data pages, and we publish our own company’s rows rather than removing them — including the unflattering ones.
What you will never find on this site
- Coaching, masterminds or a group program
- A “book a call” button
- Certification or a pro badge
- Gear affiliate links, anywhere
- Income claims or revenue screenshots
- A tool that asks for your email first