Building an analytics function from nothing.

Production geospatial and commercial analysis across two merged operators, from digitising records to owning the data foundation, described at the altitude it can honestly be described at.

From digitising records to owning the foundation.

  1. #01

    Turning physical infrastructure into usable records

    Technician · Entry

    Digitising network drops, and the data entry behind access scheduling and projected routes. The as-built records produced here became the foundation everything downstream was measured against. Execution-first work, and the reason the later analysis could be trusted: it was built on records I had personally reconciled.

  2. #02

    Owning the recurring market reporting line

    Reporting · Concurrent

    Active and projected customer analysis, community-level market penetration, and premises-passed reporting on a monthly cycle into executive and board consumption. This was the first work where the number mattered more than the map, and where being wrong was expensive.

  3. #03

    Two analysts, and an entire commercial function to build

    Standing it up · On formation

    Recruited into a newly formed commercial function spanning two organisations that had never operated as one. Two people carried every commercial question either side wanted answered, across both networks and both provinces. No incumbent methodology spanned the two, no definitions were shared between them, and no standing assumption that a spatial figure was worth acting on. I authored the definitions and business rules where none existed, across data integration, market intelligence, and standardised reporting.

  4. #04

    The analytical infrastructure the commercial side ran on

    Build-out · Peak delivery

    The heaviest delivery period: the market model through four versions, territory redistricting across two provinces, near-net expansion cases, and the field verification programme. Each organisation ran mature systems, internally consistent and built independently to its own standards, so a single number depended on an agreed methodology, cross-functional agreement, and formal sign-off before it could be reported as one. Routinely the single point of dependency for commercial inventory figures.

  5. #05

    Owning the data foundation, and advising on strategy

    Ownership · Most recent

    The role matured from producing analyses to owning the foundation they rest on: customer record reconciliation across two billing systems, the next architecture for the market model, and verification status across both networks. Technical mentoring and capability transfer became a standing part of the role rather than an occasional task. Increasingly the person who tells executives which numbers are defensible and which are not.

Data domains owned or co-owned.

  • Commercial inventory and saleable passings
  • Market penetration, residential and commercial
  • Competitive intelligence from regulatory and field sources
  • Sales territory definition and balancing
  • The commercial leads database and its spatial representation
  • Urban and rural community boundary definitions, authored in-house

Two networks, two provinces, and 200+ named communities plus rural municipalities. Each organisation arrived with its own established systems, internally consistent and built independently to its own standards, so one uniform figure meant agreeing a methodology across both, carrying it through the teams that depended on it, and having it formally approved before it could be reported.

Eight engagements. Problem, method, consequence.

Market Penetration and Opportunity Scoring Model

Market intelligence

  • competitive intensity scoring
  • opportunity scoring
  • distance-banded serviceability
  • parcel overlay
  • boundary authoring

The problem. Sales teams were being deployed without any basis for deciding where to go, and leadership had no view of market penetration, competitive pressure, or remaining inventory by community.

Built. A multi-sheet analytical model covering 200+ communities across two provinces, integrating active customer base, sold-not-installed and disconnect states, commercial passings from purchased and field-verified data, competitor technology availability, and distance-banded serviceability. The competitive intensity score weighted fibre-to-the-home, coax, DSL, and mobile/satellite technologies into bands. The opportunity score combined net opportunities, market intensity, and remaining inventory, with negative net opportunities floored at zero.

What changed. It became the standard reference for market attack planning, sales direction, budget modelling, and board reporting. Penetration rates above 100 per cent (an impossible result) were traced to estimated coordinates sitting outside the 50m buffer on large-yard properties, and double-counting between rural and urban sheets was eliminated.

Sales Territory Design and Redistricting

Territory balancing

  • territory balancing
  • net opportunity filtering
  • distance-banded buffer analysis
  • proximity balancing

The problem. Sales reps across two overlapping networks had no principled territory boundaries, and new hires were arriving into active territory conflicts.

Built. A full territory model in ArcGIS, plus a custom territory-splitting tool written from scratch because commercial redistricting software was cost-prohibitive. The tool automated account counting and boundary logic that would otherwise have been manual GIS work, taking days to build and saving significant repeat effort.

What changed. Territories were balanced on net opportunities within 100m of network rather than raw area or community count, layered with rep home-base proximity, cross-trained overlap assignments, and separately assignable expansion polygons. Territory identifiers were handed to a downstream owner for hard-coding so account ownership no longer relied on manual tagging.

Commercial Passings and Saleable Inventory Reconciliation

Data reconciliation

  • verified versus unverified passings
  • entity resolution
  • data reconciliation
  • definitional auditing

The problem. Establishing how much could actually be sold proved the hardest question, because purchased passing data carried an unquantified error rate and the figures in circulation conflated total passings with net-new opportunity.

Built. Verified and unverified passings were established as distinct measures, quantifying the error rate in unverified purchased data. A commercial dataset was reconciled against a working executive figure, surfacing a definitional confusion between total passings and net-new opportunity after customers were removed.

What changed. The inventory figures underpinned budget planning, and divergences between board-deck numbers and source data were traced to specific business-count deltas for resolution. The reconciliation corrected a definitional error that had inflated the apparent opportunity.

Field Verification Web Application

Field data collection

  • web app design
  • spatial join
  • layer authoring
  • geographic chunking

The problem. Commercial inventory counts were repeatedly questioned at leadership level, and field verification was the only method that built confidence in them, but staff were working from static screenshots.

Built. An ArcGIS Online web application with verification-status pins colour-coded by state, network layers, on-net and planned-build pins at their own buffer distances, attribute data for address and business type, a selection tool, and CSV export so field staff could self-direct by area and return updates. The application was deliberately feature-limited for load performance.

What changed. The route plan prioritised areas with the most incorrectly pinned GPS locations, and points not spatially joined to any parcel became the primary correction list. A verified layer was added while preserving the prior year as a static snapshot for year-over-year comparison.

Wholesale Sell-Through Parent-Company Analysis

Market intelligence

  • LLM entity resolution
  • confidence scoring
  • NAICS filtering
  • distance-banded counts
  • opportunity scoring

The problem. A wholesale leader needed to show how much of a multi-site corporation's footprint could be served across several competing builds.

Built. Large corporations were filtered using NAICS codes, website domains, and addresses, then parent-company relationships were resolved with large language models and a confidence score. Results were validated against known cases, and distance-to-best-network columns were added across competing builds with banded counts.

What changed. The scoring model weighted locations by proximity and revenue tier, mirroring the market model. Parent-level weighting used network coverage percentage, revenue multiplier, and overall penetration, producing a wholesale reach view that could be replicated across provinces.

Address Normalisation and Upload Pipeline

Data reconciliation

  • address normalisation
  • unique-key design
  • geocoding validation
  • entity matching

The problem. A partner-facing quoting platform could not accept the organisation's address footprint, so partners had no way to check serviceability without a manual request.

Built. An address normalisation and upload pipeline into the third-party platform. A unique-key system was instituted so submitted records could be matched to platform output, and an on-net versus near-net rule was established that drives automatic quoting versus manual review.

What changed. Roughly ninety per cent of rejected records traced to two formatting patterns: unit prefixes carried ahead of the civic number, and records with no civic number at all. Addresses incorrectly geocoded to other states and false-duplicate merges were surfaced for correction.

Urban and Rural Boundary Dataset

Boundary authoring

  • boundary authoring
  • parcel overlay
  • zoning integration
  • imagery interpretation

The problem. Open-data portals carried boundaries only for larger centres, so residential boundaries for smaller communities had to be built from scratch to support segmentation.

Built. Residential boundaries for smaller communities were authored from zoning data and base-map imagery, cross-checked against property assessment boundaries. A deprecated parcel dataset was manually enhanced and merged with provincial core address-point data, then versioned and published to ArcGIS Online as a shared layer.

What changed. The dataset became the denominator for penetration reporting, segmentation, territory definition, and homes-passed bucketing. Community assignment stopped depending on customer-stated addresses, and the shared layer gave sales and reporting teams a single definition.

Local LLM Agent Inference Infrastructure

AI infrastructure

  • local model inference
  • Docker deployment
  • concurrent agent orchestration
  • trigger-based pipelines

The problem. Data segmentation tasks needed local model inference without the cost or latency of remote APIs, and the initial single-model setup could not scale to multiple concurrent agents.

Built. Large language models were run locally in Docker on a self-hosted server, upgraded from a single-model setup to concurrent inference allowing multiple agents to share a large context window rather than loading separate models per agent. Trigger-based flows were designed to detect file creation, route to the model, clean and process, export CSV, and feed downstream pipelines.

What changed. The infrastructure enabled cost-controlled data segmentation and a reusable agent framework. A workstation upgrade was justified and secured to host the models, and the pipeline design was proposed for wider team access to raw sales and leads data.

Schematic: an irregular route with three nested bands either side of it; candidate locations inside the bands are filled, those outside are hollow.
Schematic, carries no data

Most disagreement about a number is disagreement about a definition.

What counts as serviceable is a business rule, not a fact. Moving the threshold changes the answer, changes the cost of reaching it, and changes which projects clear their payback. Writing that rule down, getting it agreed, and then holding it steady between reports is most of what made the downstream figures comparable.

Nothing here is a logo on a slide.

Geospatial

  • ArcGIS Pro
  • ArcGIS Online
  • ArcGIS Enterprise
  • ArcGIS JS API
  • QGIS
  • KML / KMZ

Analysis & BI

  • Excel at model scale
  • Power BI
  • Power Query
  • Power Automate
  • Microsoft Fabric

Engineering

  • Python
  • SQL
  • REST APIs
  • Docker
  • Local LLM inference

Methods

  • Spatial joins and dissolves
  • Distance-banded buffers
  • Parcel and zoning overlay
  • Entity resolution
  • Confidence scoring
  • Boundary authoring

Specifics belong in a conversation.