I just realized it would be nice to include some sources from my list above.
Step1. https://support.google.com/business/answer/2911778?hl=en&co=GENIE.Platform%3DAndroidS
Step 2. (extensions like GMB everything can give you categories, there are others)
Step 3: https://support.google.com/google-ads/answer/7337243?hl=enS
Step 4: This takes some research and you can start by asking your client. If they are not sure for their industry, then realize if its brick and mortar, most of their business is coming from the local area around the location. In a metro area, for say a dentist, 3 miles for general and 5 for cosmetic. But for a local market, figure 1 to 2 miles. The surest way is to survey actual customer receipts, or with email from a list if they have one. Digging will give you what you need or just go with common sense by category.
Step 5. Reverse engineering can come from a number of different sources. Brightlocal has a local audit tool that has most of the variables you will need. Total citations, top category, etc. How often they post is important too. Step 6 recommendation will give you a geo-grid for each keyword that also contains top competitors, top keywords and current GPS rankings by trade area so maybe that step first.
Step 6. This tool has everything great information on competitors and runs GEO Grid maps using radius, and polygon to eliminate desert, lakes, oceans, etc, and even drive time. After maps, it runs CTR using 4 and 5G mobile proxies from the local city with a 95%+ click through to the GMB rate. This will drip traffic and in use for over 2 years has been the best way to rank and keep clients for me. For agencies with multiple accounts, https://mappackmagic.com/ . You can also get it on Legiit at:
https://www.legiit.com/Scadush/dominate-map-pack-rankings-with-4g-ctr-manipulation
If you would like a copy of a GMB optimization list and competitor worksheet, happy to share just send me your skype or email.