{ "info": { "author": "Joel McCune", "author_email": "jmccune@esri.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: Microsoft :: Windows", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering :: GIS" ], "description": "# BA-Tools\n\nBA-Tools, shorthand for ArcGIS Business Analyst Tools is a collection of resources combined into a succinct Python package streamlining the process of performing analysis using quantitative geographic and machine learning methods.\n\n## Quickstart\n\nFor the impatient, you can install this in your local environment using pip.\n\n```pip install ba-tools```\n\n## Background\n\nBA-Tool dramatically streamlines the process of data munging to be able to build a model using Machine Learning. Once created, the model can be used to perform inferencing to evaluate hypothetical scenarios of adding or removing locations. \n\nIt is important to note, this package offers no opinion or guidance on creation of the model. Rather, it facilitates the process of data creation, tapping into the vast data and Geographic analysis capabilities of ArcGIS to automate much of the feature engineering required prior to model training. Further, with this model created, this module enables inferencing using the created model to evaluate the effects of adding or removing a location from the store network.\n\n## Analysis Workflow\n\nBA-Tools is a set of tools I initially created to facilitate retail analysis. BA-Tools facilitates quantitative consideration using machine learning of the complex interaction between geographic factors when attempting to perform analyses to derive insights into human behavior - most notably, human behavior as it relates to retail.\n\nThis type of analysis typically is performed using the idea of a trade area based on the assumption people within this trade area distance are those who are most likely will visit and patronize this location. This paradigm however, only takes into consideration one geographic factor, the distance or drive time potential customers are away from the store. \n\nThis paradigm, when we attempted to tackle the more complex geographic interactions, proved inadequate and limiting. What happens when stores of the same brand are closer than this? What happens with a high density of competition is in the area? How does population density affect the trade area? What happens in high population density areas where driving no longer is the primary mode of transportation? What about areas of incredibly low population density, rural areas, where longer travel distances are considered normal? What about mixed population density areas where the trade area could encompass suburban, exurban and rural, where acceptable travel distances vary? What about the areas where the demographic is right, but the distance is longer, where the customers are willing to travel, but are excluded since falling outside of the defined trade area distance?\n\nThese are just a few of the confounding questions leading to a completely new method of for location analysis not by starting at the retail location, but rather starting at the customer location, and considering _all_ the factors (at least all we can think of) potentially affecting the customers' retail decision making process.\n\nModeling from the customers' perspective, from every single customer's individual perspective obviously does not scale. However, we can model at the block group level of geography since, at this level of geography, these areas are demographically homogeneous - everybody is the same. Therefore, we perform analysis from the perspective of these areas to model the perspective of the customer. This process starts with data preparation.\n\nFirst, we simply need to know as much as possible about the people living in these origin areas, typically US Census Block Groups. With Esri's Business Analyst, we have access to just over 7,800 demographic variables. Hence, the first step is to create a table of these 7,800 variables we can relate back to these origin areas through a unique identifier.\n\nSecond we calculate the proximity from these customer origin areas to the closest retail locations for your brand. This is plural, your _locations_, we take into account not just the closest, but the second, third and fourth - up to the maximum number you decide is relevant. Next, we do the same thing for competitor locations, again up to the maximum number deemed relevant.\n\nThird, we assemble the demographics and the proximity metrics into a single very large table with a single row for each origin area. This is the raw table we then can use to train a model.\n\n## Current State\n\nCurrently, only analysis using __ArcGIS Pro__ with the __Business Analyst__ extension using __locally installed United States data__ is supported. If you dig into the package, you will find some functions supporting using REST services, but I have yet to get this workflow working reliably. Consequently, for now, it is dependent on ArcPy and locally installed ArcGIS Business Analyst data for the United States. Depending on what use cases we run across, and have to support, international data and even full REST based analysis (not requiring ArcPy) may be supported in the future. Currently though, it is not.\n\n# License - [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0)\n\nCopyright 2019 Esri\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)\n\nUnless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and limitations under the License.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/knu2xs/ba-tools", "keywords": "", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "ba-tools", "package_url": "https://pypi.org/project/ba-tools/", "platform": "", "project_url": "https://pypi.org/project/ba-tools/", "project_urls": { "Homepage": "https://github.com/knu2xs/ba-tools" }, "release_url": "https://pypi.org/project/ba-tools/0.6.1/", "requires_dist": [ "requests", "numpy", "pandas", "arcgis (>=1.6.1)", "scikit-learn" ], "requires_python": "", "summary": "Feature engineering using ArcGIS Pro with Business Analyst for using quantitative Geography with Machine Learning.", "version": "0.6.1" }, "last_serial": 5999884, "releases": { "0.6": [ { "comment_text": "", "digests": { "md5": "f091040439e1313be1bd2c3d11209d17", "sha256": "630d8bc5d5d33217f38b35bbd4701647e74205d01204ef8722d695e8081b7841" }, "downloads": -1, "filename": "ba_tools-0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "f091040439e1313be1bd2c3d11209d17", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 35328, "upload_time": "2019-10-19T13:47:14", "url": "https://files.pythonhosted.org/packages/2e/70/1d2fcf4df88fbf882ef0b7f8c2e0bf889fc00f0f8a0eb1ec39978e201621/ba_tools-0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b6d79a242aba36e2494962ffe1354c3d", "sha256": "8a82425b79a869ce675a5ce8f8264eb5a1d1da70f2ff22e78c9df74906a36699" }, "downloads": -1, "filename": "ba_tools-0.6.tar.gz", "has_sig": false, "md5_digest": "b6d79a242aba36e2494962ffe1354c3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27689, "upload_time": "2019-10-19T13:47:16", "url": "https://files.pythonhosted.org/packages/df/ef/bf69fc4d922745dc58f09046eafa74085414596224d86a5303c119813adc/ba_tools-0.6.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "f265f84120efbb01494db27e6b0ef7b4", "sha256": "a84ffbb3d5e9c1694b2622e81530e70c9cba703441273cdea195a8388c3e89a3" }, "downloads": -1, "filename": "ba_tools-0.6.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f265f84120efbb01494db27e6b0ef7b4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 35343, "upload_time": "2019-10-19T13:55:53", "url": "https://files.pythonhosted.org/packages/ee/47/685c027dcc450f267b860056ca892e3f6195ffb71d3fdae7acebeaa2356f/ba_tools-0.6.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2318f1b320191cd8fef0f739cb513885", "sha256": "af139702d7b30acee28cf558b1125fc7af439c95f88799505d713e5472b1db7d" }, "downloads": -1, "filename": "ba_tools-0.6.1.tar.gz", "has_sig": false, "md5_digest": "2318f1b320191cd8fef0f739cb513885", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27680, "upload_time": "2019-10-19T13:55:54", "url": "https://files.pythonhosted.org/packages/09/7f/fa310e47a82ec561a16eb5896e2ee54e447779eb399faf3a90d955c2514e/ba_tools-0.6.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f265f84120efbb01494db27e6b0ef7b4", "sha256": "a84ffbb3d5e9c1694b2622e81530e70c9cba703441273cdea195a8388c3e89a3" }, "downloads": -1, "filename": "ba_tools-0.6.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f265f84120efbb01494db27e6b0ef7b4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 35343, "upload_time": "2019-10-19T13:55:53", "url": "https://files.pythonhosted.org/packages/ee/47/685c027dcc450f267b860056ca892e3f6195ffb71d3fdae7acebeaa2356f/ba_tools-0.6.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2318f1b320191cd8fef0f739cb513885", "sha256": "af139702d7b30acee28cf558b1125fc7af439c95f88799505d713e5472b1db7d" }, "downloads": -1, "filename": "ba_tools-0.6.1.tar.gz", "has_sig": false, "md5_digest": "2318f1b320191cd8fef0f739cb513885", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27680, "upload_time": "2019-10-19T13:55:54", "url": "https://files.pythonhosted.org/packages/09/7f/fa310e47a82ec561a16eb5896e2ee54e447779eb399faf3a90d955c2514e/ba_tools-0.6.1.tar.gz" } ] }