A readout to a client's leadership team
Case study

Avison Young cut geospatial queries from 45 minutes to 5 seconds

Advisors could not tie foot traffic and spending data to property pricing, and the queries that tried took up to 45 minutes.

Avison Young

Avison Young · Sales and pricing

70%less analyst time on data prep and queries

The workflow before

Avison Young's analysts priced and compared properties from transaction history and comparable sales, held in a relational database that struggled with location joins. A complex geospatial query ran 15 to 45 minutes, and a property comparison took 2 to 4 hours. Credit card spend, mobility, demographic and economic data each needed custom integration code, so adding a new source took 4 to 6 weeks. Client reports took 1 to 2 days to produce, on data refreshed weekly.

What we built

We built a graph data store on AWS Neptune that links properties, locations and observed behavior. Properties sit inside a location hierarchy (city, submarket, neighborhood, block), and edges record proximity, similarity and how foot traffic or spending correlates with a property's performance. Spatial indexes answer questions like "office buildings within half a mile of high foot traffic" in seconds.

AWS Glue jobs, scheduled and monitored in Astronomer (managed Airflow), ingest and normalize more than 15 third-party sources, including aggregated card transactions, mobility data, census and economic series, and property data, with quality checks and incremental loads. Snowflake and dbt carry the modeled data into Power BI and custom dashboards that analysts use directly.

All infrastructure is defined in Terraform and deployed through Azure DevOps pipelines, so dev, staging and production stay identical and new markets can be added without rebuilding.

Before and after

MeasureBeforeAfter
Complex geospatial query15 to 45 minutes2 to 5 seconds
Property comparison analysis2 to 4 hoursAbout 30 seconds
Adding a new third-party data source4 to 6 weeks2 to 3 days
Client report production1 to 2 daysAbout 15 minutes

What's next

The linked property, location and behavior data is the foundation for Level 2 work: an analytics copilot that lets advisors ask pricing and site selection questions of the graph in plain English, and valuation models trained on the same history.

ShareLinkedInEmail

Core store is AWS Neptune with property, location and behavior nodes and LOCATED_IN, CONTAINS, NEARBY, OBSERVED_AT, CORRELATES_WITH and SIMILAR_TO edges. Spatial indexes on coordinates and boundary polygons back proximity and region queries. PostgreSQL holds operational data with geospatial extensions.

Ingestion runs as AWS Glue ETL jobs with change data capture for incremental updates, orchestrated as Airflow DAGs on Astronomer with dependency management, retries and pipeline health monitoring. Snowflake is the analytical warehouse; dbt models are version controlled and tested before they reach Power BI.

Governance covers lineage for every third-party source, automated quality monitoring with alerting, and access controls aligned with Avison Young's security policies. Infrastructure is Terraform, promoted through Azure DevOps CI/CD across dev, staging and production.

Next step

Let's build the case study we tell next.