Straight answer

Why does my competitor show up above me on Google Maps?

The short answer

Almost always because of one setting rather than a hundred small things, and the setting is usually the primary category. A business listed in a broad category cannot rank for the specific thing it sells, so a smaller competitor in the correct category beats a bigger business in the wrong one. The next two most common causes are a service area that was never drawn, which leaves a profile competing only in the postal code its address sits in, and review recency, because a profile whose last review is fourteen months old reads as dormant. Proximity to the searcher also matters and you cannot change it, which is exactly why the settings you can change are worth getting right.

The category is the eligibility gate, not a label

Google uses the primary category to decide which searches a profile is allowed to appear for at all. It is not a description of the business, it is a filter. Most profiles were claimed years ago and the category was picked in a hurry from a list, and nothing since then has flagged it. A collision centre listed as a general auto shop, a paving contractor listed as a general contractor and a mobile mechanic listed as an auto repair shop are all invisible for the specific work they actually want. Check what the three businesses ranking above you are listed as, because that comparison usually ends the argument in about a minute.

A service area is named towns, not a radius

If the interface allows named towns, use named towns. A radius is a guess and it is frequently a guess that does not match where the vans actually go. The gap between where a business works and where its profile claims to work is the most common finding there is, and it shows up as a business that ranks in its own town and vanishes one town over, which the owner then reads as a competitor being better rather than as a blank field.

Reviews decide the tie, and recency is half of it

Volume matters less than most owners expect, and recency matters more. A profile with forty reviews where the last one is from last year loses to a profile with eighteen where three arrived this month. The fix is not buying reviews, which is detectable and against platform rules. It is asking the satisfied majority who would never think to leave one, on a rhythm, and answering every review that arrives - including the bad ones, which are read by the next customer rather than by the person who wrote them.

Proximity is real, and it is the part you cannot fix

A searcher standing closer to your competitor will sometimes see him first no matter what you do. That is worth saying plainly, because a lot of local marketing is sold on the pretence that position is fully controllable. It is not. What is controllable is being eligible at all, which is the category, and being the obvious choice among the businesses the searcher does see, which is the profile and the reviews.

What people ask next

The follow-ups.

How long does it take to change position once the category is fixed? +
A category correction can move things within days because it changes what the profile is eligible for rather than how well it scores. The rest - service area, reviews, citations, on-page work - compounds over weeks. Sixty days is the honest horizon for a first-page position on an agreed primary term, and any timeline shorter than that is being sold rather than estimated.
Can I fix this myself? +
Yes, and for a single-location business with one obvious category you probably should. Open the profile, compare your primary category against the three above you, draw your real service area as named towns, and start asking for reviews properly. If that gets it done, it got done and you owe nobody anything.
Does my website affect the map pack? +
Yes, less directly than people assume. The local pack is its own system, but the site supports it - a page per service in the language customers use, consistent name and phone with the profile, and pages that load quickly on a phone. A site alone will not win the pack, and a profile with nothing behind it struggles to hold a position once it has one.

Want me to check your own listing?

Nine minutes. I will run the search your customer runs, read you what I find, and tell you which setting is costing you the most. If it is already right, I will say so and we are done.