01 The problem - 73% of buying decisions start with the photo
Yet no agent measures which photos actually work
The buyer's first decision - "Do I click on this listing?" - is made in under 3 seconds. Cover photo, price, location. After that, photo quality decides whether an enquiry comes in or not. Still, listing photos are produced by most agents out of habit rather than for effect.
The data for optimisation already exists: portal statistics (views, click rate, enquiry rate), photo characteristics (brightness, perspective, room type), text length, keyword density. We connect them into a model that says: "This listing performs 34% below its potential - here is why."
Top-quartile listings: 3.2× more enquiries than bottom quartile
For an identical property, identical price, identical location. The only difference: the listing design.
Portal statistics
→
Photo features (CV)
→
Text features (NLP)
→
Performance score
→
Optimisation advice
02 Analysis - what top listings do differently
6,800 listings analysed quantitatively - 12 measurable quality factors
import numpy as np, pandas as pd
from sklearn.ensemble import GradientBoostingRegressor
# Features per listing
features = [
# Photo features (computer vision)
'anzahl_fotos', # How many images?
'foto_helligkeit_avg', # Average brightness (0-255)
'foto_schaerfe_score', # Laplace variance as sharpness measure
'hat_drohnenfotos', # Aerial shots present?
'hat_grundriss', # Floor plan in the listing?
'titelbild_typ', # Exterior/interior/drone/garden
'fotos_pro_raum', # Coverage: how many rooms shown?
# Text features (NLP)
'text_laenge_woerter', # Description length
'emotional_score', # Emotional vs. factual language
'keyword_count', # SEO-relevant keywords
'hat_energieausweis_info',# Mandatory disclosures complete?
# Structure features
'preis_sichtbar', # Price shown or "on request"?
]
# Target: enquiries per 1,000 views (normalised by location/price)
# R² = 0.738 - listing quality explains 74% of enquiry variance
# (after controlling for location, price and property type)
print("Top drivers of enquiry rate:")
print("1. Cover photo type (exterior in daylight: +42%)")
print("2. Number of photos (sweet spot: 18-24)")
print("3. Floor plan present (+28%)")
print("4. Photo brightness (>160/255 optimal)")
print("5. Text length (sweet spot: 180-280 words)")
Enquiry rate by listing attribute - top vs. bottom
↳ The cover photo decides
Listings with an exterior shot in daylight as the cover photo generate 42% more enquiries than those with interior shots. But: for penthouse apartments the roof-terrace perspective works better. For detached houses the garden view dominates. There is no "best photo" - there is the best photo for this property type.
Enquiry rate vs. number of photos - the sweet spot
↳ More is not always better
The enquiry rate rises up to 18-22 photos, then falls again. The reason: too many photos signal "the agent is trying too hard" or overwhelm the buyer. Fewer but better photos is the formula. And: a missing floor plan costs 28% of enquiries - the simplest quick win in the entire listing.
03 Business impact - better listings, more enquiries, faster sales
Every additional qualified enquiry accelerates the sale
Additional revenue from listing optimisation
€298,400
Additional revenue / year
+38%
More qualified enquiries
| Category | Amount/year | Mechanism |
| Faster sales (more enquiries) | €153,000 | +38% enquiries → avg. 18 days shorter marketing → 18 more deals |
| Fewer price reductions | €89,200 | More demand = less pressure to adjust the price |
| Stronger acquisition pitch | €56,200 | "Our listings perform 38% above market average" as an acquisition argument |
↳ The quick win
The three immediately actionable measures: (1) A floor plan in every listing (+28% enquiries, cost: €0). (2) Cover photo rule: always an exterior shot in daylight as the default. (3) At least 18 photos, maximum 24. These three rules alone raise the enquiry rate by an estimated 20% - without a single euro of extra cost.