When it comes to local SEO, there are a few things that must be done to gain local search result rankings.
Consistent listings on directories, with your business name, address, phone number (NAP). having consistency across the web, on directories, and other websites, the better quality the website that links to you, the more respected that link will be.
Show your local area what your business has to offer. Reviews, photos, and your description will increase your GMB listing visibility.
Content is one of the most important parts of your SEO campaign, using keywords that people search for, will increase your ranking on search engines, and your GMB profile.
Creating a page for each geographic location you target will help you to rank in those areas.
Make sure your website is responsive (layout automatically adjusts for mobile, tablet, pc and tv devices).
Ask your customers to review you on Google, and social media, and make sure to update your social media pages regularly to keep people informed about what you are up to, keep them engaged, and help them to think of you when they require your services.
When you know what your competition is doing with their online presence will enable you to build an effective marketing plan. If your doing more of the right stuff when marketing your business than your competitors are doing, you should find that you are ranking higher, and more consistently.