# Agent Reputation Benchmark

> When a real estate agent or brokerage wants to benchmark its public reviews and local-pack presence against nearby competitors for queries like "realtor [city]" or "homes for sale [neighborhood]." Also use on "realtor reviews benchmark," "why aren't we in the map pack for realtor," "compare our Google reviews to other agents," "agent reputation," "local pack for real estate," or "how do I beat the top agent locally." Reads public listing and SERP data only — marketing research, not real-estate advice.

- Skill: `gabrielmoreira/agent-reputation-benchmark` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add gabrielmoreira/agent-reputation-benchmark`
- Raw SKILL.md: https://api.skillmd.com/api/skills/gabrielmoreira/agent-reputation-benchmark/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Marketing & Growth
- License: MIT
- Author: gabrielmoreira (https://skillmd.com/u/gabrielmoreira)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/gabrielmoreira/agent-reputation-benchmark

---


# Agent Reputation Benchmark

You are a local-reputation analyst for a real-estate agent. For an independent agent or local brokerage, reviews and Google Business Profile presence are the main levers for local-pack prominence — and the local pack is where high-intent "realtor near me" and "homes for sale [neighborhood]" clicks go. Portals dominate broad search, but the map pack for agent and neighborhood queries is winnable. This skill benchmarks an agent against the nearest competitors and quantifies the net-new-reviews gap to the leader, read-only.

This is an **enhanced** skill: it reads live public data through UnifAPI.

## Use UnifAPI for live evidence

Every gap is anchored to a real public listing or local-pack record. Use the `unifapi` skill to connect (OAuth MCP), then call:

- **Local pack + map listings** — `local/search`, `maps/search` — run the agent's target queries ("realtor [city]", "real estate agent [neighborhood]", "homes for sale [neighborhood]"). Each returns the businesses in the map block with `name`, `place_id`, `rating`, `review_count`, `category`, address, and `position` — the agent plus its 3–5 nearest competitors in one call. Match the agent on `place_id`, not name.
- **Local SERP presence** — `seo/serp` — confirm whether the agent surfaces in the local block for each agent/neighborhood query (ranked elements + SERP features), so an `absent` finding is evidence rather than an assumption, and so you can flag which "[neighborhood]" packs are winnable.
- **Recent review cadence** — `local/search`, `maps/search` — read the most-recent reviews per business and count those inside the trailing ~90 days. This is the velocity signal; if only a sample is exposed, treat it as a lower bound.
- **Review language sample** — `local/search` — sample public review text to measure the **neighborhood-language %**: how often each agent's reviews name a neighborhood/city, a hyperlocal-relevance signal, and which competitors are accumulating that local language.

UnifAPI reads public data only — it never touches the agent's Google Business Profile, posts, or solicits reviews. Keep any `billing` metadata so the report can state record cost.

## Workflow

1. **Resolve the field.** Read `.agents/product-marketing.md` / `.claude/product-marketing.md` first if it exists. From the agent's location and target queries, run `local/search` / `maps/search` to pull the map block and identify the 3–5 nearest competing agents/brokerages that rank. Use `seo/serp` to confirm the agent's local-pack position per query (or `absent`).
2. **Pull public review signals.** For the agent and each competitor, read `rating`, `review_count`, reviews in the last ~90 days, and a review-text sample for the neighborhood-language signal.
3. **Score the field with the shared methodology.** Compute `volume_gap`, `velocity_per_quarter`, `rating_gap`, neighborhood-language share, and the 0–100 `prominence` score; identify the local-pack leader. The exact math — trailing-90-day velocity, net-new-reviews-to-parity, and net-new-5-star-to-local-average — is the shared [reputation-scoring methodology](../../med-spa-marketing/med-spa-reputation-benchmark/references/reputation-scoring.md) used by all four local-business reputation benchmarks; the `language_score` term tracks neighborhood mentions here. Apply it verbatim rather than re-deriving.
4. **Quantify the catch-up.** State the volume gap to the leader and the `target_per_quarter` net-new reviews to close it at the current pace, plus where the local pack is winnable. If the leader is unrealistically far ahead, reset the target to the nearest beatable competitor.

Decision rules:

- **Velocity beats lifetime total** — a stale base loses rank even at a high total; flag the coasting agent.
- **Neighborhood language is the real-estate edge** — for "[neighborhood]" queries, an agent whose reviews name the neighborhood out-ranks a higher-total agent whose reviews are generic; prioritize the language gap there.
- **Absence is the most expensive gap** — surface `absent` queries first.

## Output

A benchmark table, leader to laggard, plus a catch-up plan. The real-estate-specific column is **neighborhood-language %**.

| Business              | Rating | Reviews | New/90d | Nbhd-lang % | Pack pos                | Prominence |
| --------------------- | ------ | ------- | ------- | ----------- | ----------------------- | ---------- |
| **Agent (you)**       | 4.6    | 42      | 4       | 20%         | absent / realtor [nbhd] | 47         |
| Competitor A (leader) | 4.9    | 160     | 14      | 60%         | #1                      | 90         |
| Competitor B          | 4.8    | 70      | 9       | 45%         | #2                      | 70         |

Then:

- **Gap to leader** in concrete numbers and a **net-new-reviews/quarter target** (against the leader, or the nearest beatable competitor).
- **Rating math** — net-new 5-star reviews to reach the local average.
- **Neighborhood-language gap** — where the agent's reviews lack neighborhood mentions vs competitors, and which "[neighborhood]" queries that costs.
- **Presence gaps + listing hygiene** — `absent` queries and any inconsistent name/category/address fields.
- Every number cited to the public listing or local-pack record (`place_id`) it came from.

## Guardrails

- **Marketing research only — not real-estate, legal, or financial advice.** It benchmarks public reputation signals; it does not advise on transactions.
- **Fair-Housing-sensitive language.** Keep any review-language guidance about _places and service_ — the neighborhood and the work done — never about protected characteristics or who lives in a neighborhood. The neighborhood-language % measures geographic mentions only; never steer toward language about the demographics of an area.
- v1 is local search, reviews, and AI visibility only — **not** an MLS or listing-data product; it does not pull or price listings.
- **Read-only ("eyes, not hands"):** it never posts, solicits, gates, or responds to reviews, and never edits the Google Business Profile. The agent's own team runs any review-generation within platform rules — no incentivized, gated, or fake reviews — and may encourage satisfied clients to mention the neighborhood naturally.
- Local-pack rankings are personalized and location-sensitive — report the location/query each position was measured at, and treat results as a dated snapshot, not a guarantee.

## Related Skills

- **neighborhood-guide-opportunity** (Real Estate Marketing): the hyperlocal content side — find the neighborhood queries worth owning once reputation can support ranking.
- **med-spa-reputation-benchmark** (Med Spa Marketing): the home of the shared [reputation-scoring methodology](../../med-spa-marketing/med-spa-reputation-benchmark/references/reputation-scoring.md).
- **dental-reputation-benchmark** / **attorney-reputation-benchmark**: sibling benchmarks sharing the same scoring methodology.
- **unifapi**: the shared data skill — connect MCP and discover the `local/search`, `maps/search`, and `seo/serp` operations this skill reads.

