How Assign Customers To Stores By SOLAP Data works
OLAP (online analytical processing) is processing that allows a user to extract and view data from different points of view. For example, a user can request that data be analyzed to display a database showing all of a company's sales of PCs sold in Washington, D.C., for the current fiscal year; compare revenue figures with those for the same products in the previous fiscal year; then see a comparison of other computer product sales in Washington, D.C., in the same time period.
To better understand this kind of analysis, OLAP data is stored in a multidimensional database called Data Cubes, which are multidimensional extensions of 2D tables. Where typical data stored in a relational database can be thought of as two-dimensional, a multidimensional database analyzes each data attribute (such as product lines, sales markets, and time period) as a separate dimension. OLAP software can locate the intersection of dimensions (all products sold in the Eastern United States above a certain price during a certain time period) and display them. Attributes such as time periods can be broken down into subattributes.
SOLAP data refers to a synchronization between GIS and OLAP data where spatial components are factored in. A SOLAP tool can be defined as "a type of software that allows rapid and easy navigation within spatial databases and that offers many levels of information granularity, many themes, many epochs and many display modes synchronized or not: maps, tables and diagrams" [Bédard, Y., M. J. Proulx, S. Rivest, 2005. Enrichissement du OLAP pour l'analyse géographique: exemples de réalisation et différentes possibilités technologiques. In: Bentayeb, F., O. Boussaid, J. Darmont, S. Rabaseda, (Eds.), Entrepôts de Données et Analyse en ligne, RNTI B_1. Paris: Cépaduès, pp. 1–20].
The nature of the data from OLAP is such that there are no existing customer-to-store assignments. Data Cubes typically just store the fact that some customer did purchase something at some store. The same customer can buy something from several stores.
To make the integration between Business Analyst and SOLAP seamless, two different ideas are presented here:
- Each customer that made > 0 purchase at some store gets assigned to this store. If the customer made purchases in several stores, then there will be more than one record for this customer; each of the records will have the same geometry (point) but different assignment to the store and different sales values.
- Each customer is assigned to the store at which he/she shops most. SOLAP allows users to create customer layers with large numbers of sales fields. For instance, there could be fields for each of 7 stores, for 4 quarters of 2004, 4 quarters of 2005, and 3 categories of products, which makes 7*(4+4)*3=168 fields with different sales information. When there are this many fields, it is not so easy to decide in which store the customer shops more (option #2). The user will have to provide UI to compose combinations of fields that would provide criteria to choose the store the customer shops at most.
For instance, one such combination could be like this:
Criterion = [Food sales in Q1] + [Food sales in Q2] + 3*[Food sales in Q3] + 0.5*[Drink sales in 2005]
So the customer would be assigned to the store for which the value of Criterion is greatest. Additionally, a user can build criteria using arbitrary VBS script.
Field names in this script are logical; in fact, for each store, field names are different, and the user would have to create a script for every store.