Ferramentas para Análise de Posicionamento de Pessoas em Centros Comerciais
Full text
Maria Nelson de Lemos Correia Ferramentas para Análise de Posicionamento de Pessoas em Centros Comerciais Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto Setembro de 2013
Maria Nelson de Lemos Correia Ferramentas para Análise de Posicionamento de Pessoas em Centros Comerciais Relatório de estágio submetido à Faculdade de Ciências da Universidade do Porto como parte dos requisitos para a obtenção do grau de Mestre em Ciência de Computadores Orientador: Dr. Roberto Colazingari Co-orientador: Prof. Doutor Alípio Jorge Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto Setembro de 2013
Para todos aqueles que gostam e que não gostam de mim, aqueles que me apoiaram e aqueles que não estiveram por perto. Obrigada por serem como são! 3
Agradecimentos De entre as muitas pessoas que merecem os meus agradecimentos por terem acompanhado e apoiado o desenvolvimento deste estágio, gostaria de destacar, em primeiro lugar, o meu co-orientador Professor Doutor Alípio Jorge, pela devoção prossional e em especial pela partilha de saber e conhecimento. Agradeço ao meu orientador Dr. Roberto Colazingari, pela paciente ajuda e destemida orientação. Gostaria também de agradecer aos elementos da empresa Around Knowledge em especial os Drs. Fernando Freitas, Luis Correia, Ilídio Silva, Jorge Gonçalvez, José Vieira e Hugo Silva, pela ajuda disponibilizada sempre que esta foi solicitada. Não posso terminar sem um agradecimento especial ao Dr. Celso Ferreira pela paciência, carinho e tempo disponibilizado. 4
Resumo Os centros comerciais (CCs) começam a enfrentar um novo paradigma devido às alterações dos hábitos de consumo. Os consumidores portugueses tendem a voltar ao comércio tradicional, o que paralelamente diminui o uxo de pessoas nos CCs. Os comerciantes esforçam-se por encontrar formas de adquirir conhecimento sobre os seus usuais ou potenciais clientes de modo a com eles fomentar uma boa relação, com a nalidade de aumentar as receitas e promoção da lealdade dos consumidores. Atualmente estão disponíveis algumas ferramentas que permitem a recolha, organização e análise do uxo de pessoas em determinados pontos, que vão dos mais simples e baratos como um torniquete, aos mais complexos e caros, por exemplo as câmaras de video que captam informação ( video-analytics ). Estas apresentam algumas falhas, encontrámos em alguns casos erros associados à contagem efetuada ou ao facto de não apresentarem os dados em tempo real. Conscientes destes problemas a Around Knowledge (AK) 1 decidiu criar um produto que colmate as mencionadas lacunas. Surgiu então o Business Intelligence Positioning System (BIPS) como ferramenta na área de estudos de mercado. Para a recolha de informação, o BIPS, utiliza os sinais de radiofrequência emitidos por dispositivos móveis que se encontram no espaço em estudo. A AK realizou um teste piloto onde os dados estudados foram recolhidos numa grande superfície comercial com mais de 70 mil metros quadrados. Neste estágio explorámos os dados de localização dos dispositivos e desenhámos e implementámos uma API ( Application programming interface ) que permite receber os dados dos dispositivos, tratá-los e enviá-los para uma Base de Dados (BD) que será acedida pela interface gráca (IG). Para tentar responder às perguntas de negócio relevantes explorámos técnicas de análise de dados e algoritmos de data mining . Este documento apresenta o estudo efetuado, os algoritmos implementados e os seus 1 www.aroundknowledge.com 5
resultados para uma amostra de dados, bem como a integração na ferramenta de análise construída pela empresa. Palavras chave : Data Mining , Análise de Comportamento, Análise de dados, Localização de dispositivos móveis. 6
Abstract Shopping centers (SCs) are now facing a new paradigm due to changes in consumer habits. Portuguese consumers tend to return to traditional commerce, which simultaneously decreases the ow of people in SCs. Traders strive to nd ways to gain knowledge about their usual or potential customers in order to encourage them with a good relationship, aiming to increase revenues and promote consumer loyalty. Currently there are some tools available which enable the collection, organization and analysis of the ow of people in certain points. From the simplest and cheaper, as a tourniquet, to the more complex and more expensive, for example by capturing information using video cameras (video analytics) . The tools which enable the collection, organization and analysis of the ow of people have some aws. Among these aws we can nd some error associated with the counts made or the the diculty of obtaining the data in real time. Aware of these problems Around Knowledge (AK) 1 decided to create a product to ll in the gaps mentioned. Business Intelligence Positioning System (BIPS) sprung forward as a tool in the eld of market research. To collect information, BIPS uses radio frequency signals emitted by mobile devices that are in the space under study. AK conducted a pilot test wth data collected from a shopping centre with more than 70 thousand square meters. During this internship we explored the location data of the devices and we have designed and implemented algorithms for an interface. This interface enables the collection of position data and their treatment. The results are sent to a database that will be accessed by the GUI (Graphical user interface) . To provide answers to the relevant business questions we explored data analysis techniques and data mining algorithms. This report presents the study we carried out, the implemented algorithms, the tests 7
made and the integration in the analysis tool built by the company . Key words : Data Mining, Behavioral Analysis, Data Analysis, Mobile devices location. 8
Acrónimos AK Around Knowledge BD Base de Dados BIPS Business Intelligence Positioning System CC Centro Comercial Crisp-DM CRoss-Industry Standard Process for Data Mining DBI DataBase Integration GSM Global System Mobile Communications GSP Generalized Sequential Patterns IG Interface Gráca KDD Knowledge Discovery in Databases PrexSpan Projected Sequential Patterns RJDNC R Java Database Connectivity rss Received Signal Strength RTLS Sistema de Localização em Tempo Real SEMMA Sample, Explore, Modify, Model, Assess SGBD Sistema de Gestão de Base de Dados SPAM Sequential Pattern Mining SPMF Sequential Pattern Mining Framework Weka Waikato Environment for knowledge Analysis XML eXtensible Markup Language 9
Capítulo 1 Introdução O bem estar e a satisfação do cliente são, cada vez mais, as prioridades dos comerciantes, conhecer o mercado e as necessidades dos clientes é uma preocupação de pequenos e grandes lojistas. No que respeita ao cliente, a vantagem é do pequeno comerciante. Bom exemplo disso é o da mercearia, onde há uma relação de proximidade proporcionando uma previsão das necessidades da procura. Por outro lado os grandes comerciantes, tais como os gestores de um centro comercial (CC), não têm a possibilidade de saber/conhecer essa informação. Podemos por isso concluir que uma melhor relação com o cliente permite delização por parte deste, consequentemente existindo um aumento de lucros. Nas últimas décadas foram desenvolvidas formas de recolher, organizar e analisar o uxo de pessoas em determinados pontos, que vão dos mais simples e baratos como, um torniquete ou a contabilização manual de pessoas, a outros mais complexos e caros como, através da interrupção de dois feixes paralelos de raios de infravermelhos, ou ainda através de câmaras de video que capturam a informação ( video-analytics ). Estas plataformas têm algumas falhas - erro associado às contagens, problemas em apresentar os dados em tempo real ou levarem à aglomeração de pessoas em certos pontos - e por isso a Around Knowledge (AK) 1 (gura 1.1) decidiu criar um produto que permita contornar estes obstáculos. A AK, uma empresa de consultadoria informática, com vista a ajudar à tomada de decisão dos gestores de grandes empresas de comércio a retalho, avançou com um projecto na área de estudos de mercado. Surgiu o Business Intelligence Positioning System (BIPS), uma plataforma que permite contagens mais precisas e acesso 1 www.aroundknowledge.com 16
CAPÍTULO 1. INTRODUÇÃO 17 à informação em tempo real, mais barato que plataformas equivalentes. O BIPS utiliza radiofrequência para tentar determinar a posição de dispositivos móveis que atravessam um determinado perímetro. Com essa informação é possível a utilização de técnicas de Análise de Dados para a deteção de padrões úteis que permitam ajudar os gestores a tomarem decisões lucrativas. Neste estágio estendemos o BIPS com um conjunto de ferramentas de exploração e análise de dados de localização. Figura 1.1: Logo da empresa Around Knowledge (AK) 1.1 Objectivos Milhares de pessoas circulam diariamente num CC e em lojas, os seus percursos podem ser registados e analisados de forma a fornecer aos seus gestores informação relevante para os seus negócios. O BIPS consegue recolher dados através de âncoras que detetam dispositivos por rádiofrequência e, seguindo o percurso destes dispositivos, obtêm-se dados que após o tratamento e análise apoiam a decisão do gestor. O BIPS estima com menor erro o número de visitas que são efetuadas num determinado espaço delimitado identicando o trajeto efectuado pelo visitante, tornando-o por isso mais ável do que as restantes plataformas. A análise exploratória dos dados espaço-temporais, através de técnicas de estatística e de Data Mining , permite identicar padrões e tendências que podem ajudar os gestores nas suas decisões. Neste estágio zemos o desenho e a implementação de algoritmos para uma API de exploração e análise de dados de localização. Estes algoritmos permitem o tratamento de dados enviados pelas âncoras (dispositivo que agrega um micro-controlador e uma antena para a deteção dos dispositivos móveis) e o envio dos resultados para uma BD. Em particular, responder às seguintes questões:
CAPÍTULO 1. INTRODUÇÃO 18 1. Qual o número de visitas por dia, hora, zona, piso ou acesso? 2. Qual o número de visitantes a passar na praça da alimentação? 3. Quais as cinco lojas mais visitadas? 4. Qual a loja escolhida como primeira paragem pela maioria dos clientes? 5. Qual o tempo gasto numa visita? 6. Qual o tempo médio passado a fazer compras ( ShoppingTime )? 7. Qual o tempo médio de passeio ( DwellTime )? 8. Qual o tempo despendido na primeira paragem? 9. Qual o tempo despendido por loja? 10. Qual o caminho mais utilizado pelos clientes a partir de um acesso? 11. Qual o caminho mais utilizado pelos clientes? O objetivo deste estágio foi a implementação de um conjunto de ferramentas que permitam apoiar o gestor a encontrar respostas para as questões apresentadas. Estas foram desenvolvidas utilizando, como caso de estudo, os dados recolhidos num grande CC do norte de Portugal. Importa mencionar que, atualmente, o conjunto de ferramentas implementadas estão já integradas no BIPS que se encontra em fase de produção. 1.2 Estrutura deste documento Este documento encontra-se dividido em sete partes, descrevendo desde o estudo efetuado à implementação do conjunto de ferramentas. O capítulo 1fornece uma breve descrição sobre o estágio. O capítulo 2apresenta a metodologia seguida, as ferramentas e tecnologias utilizadas no decorrer deste estágio e ainda algoritmos de data mining estudados. O capítulo 3apresenta duas plataformas comerciais equivalentes ao BIPS, a sua estrutura e situação atual e a comparação entre os produtos. O capítulo 4, por sua vez refere-se à compreenção e tratamento dos dados. Já o capítulo 5expõe a modelação por questão proposta pelo cliente. O capítulo 6apresenta partes do produto nal a ser comercializado pelo BIPS. Como último capítulo 7temos uma breve conclusão sobre o trabalho efetuado.
Capítulo 2 Ferramentas e Tecnologias Utilizadas Para o desenvolvimento deste estágio foi necessário denir as estratégias a seguir e escolher ferramentas a utilizar. Estudaram-se possíveis metodologias e ferramentas para proceder à expansão do BIPS. Com base em critérios denidos pela AK, como por exemplo a escolha prévia do Sistema de Gestão de Base de Dados (SGBD) Cassandra, foram escolhidas as várias ferramentas utilizadas. As suas funções vão desde o armazenamento dos dados, interligação entre todas as partes do projeto, transferência dos dados à BD, ao estudo das possíveis soluções para a criação da ferramenta. A metodologia de data mining escolhida e as ferramentas de desenvolvimento e implementação, bem como a sua utilização serão descritas neste capítulo. 2.1 Metodologia de Data Mining Nas componentes do nosso trabalho em que zemos análise de dados, seguimos a metodologia CRoss-Industry Standard Process for Data Mining (Crisp-DM), modelo de processo que dene abordagens, normalmente utilizadas por especialistas de Data Mining , com o intuito de resolver problemas[Cor11]. Após o estudo de mais duas metodologias, Knowledge Discovery in Databases (KDD) e Sample, Explore, Modify, Model, Assess (SEMMA), foi escolhido este processo. Esta escolha recaiu sobre a metodologia Crisp-DM devido ao resultado do estudo comparativo efetuado por A. Azevedo e M. F. Santos [AS08] e por ter sido proposta por um consórcio que inclui várias grandes e pequenas empresas, universidades e especialistas de Data Mining . 19
CAPÍTULO 2. FERRAMENTAS E TECNOLOGIAS UTILIZADAS 20 Figura 2.1: Ciclo Crisp-DM Este processo consiste num ciclo de seis fases (Figura 2.1): • Fase 1 - Business Understanding - Compreensão do negócio; • Fase 2 - Data Understanding - Compreensão os Dados; • Fase 3 - Data Preparation - Preparação dos Dados; • Fase 4 - Modelling - Modelação; • Fase 5 - Evaluation - Avaliação; • Fase 6 - Deployment - Implementação e Execução. A sequência das fases não é rígida, permitindo a movimentação livre entre fases. 1. Business Understanding É o momento em que se determina os objetivos do negócio, quais os requisitos necessários, os riscos e contingências e o custo/benefício do negócio, e avalia a situação. determinamos a meta fundamental do Data Mining e procedemos à avaliação inicial de ferramentas e técnicas a utilizar.
CAPÍTULO 2. FERRAMENTAS E TECNOLOGIAS UTILIZADAS 21 2. Data Understanding Inicía-se a recolha dos dados e a exploração e veri- cação da sua qualidade, detetam-se os conjuntos de dados curiosos dando, desta maneira, resposta a algumas questões interessantes do negócio. 3. Data Preparation Após a fase anterior, de recolha de dados, os mesmos serão trabalhados e estudados, permitindo vericar aqueles que se irá utilizar no processo de Data Mining e/ou aqueles que irão ser excetuados, existindo uma justicação admissível para essas exclusões, em suma, esta fase passa por todas as atividades que permitem construir o conjunto de dados nais a partir dos dados em bruto. 4. Modelling São selecionadas e aplicadas várias técnicas de modelação, os seus parâmetros são testados e o modelo avaliado. 5. Evaluation Procede-se à avaliação dos resultados e, tendo em conta o negócio em vista, analisa-se os critérios utilizados de forma a entender se os mesmos foram bem sucedidos. Após esta análise são aprovados os modelos cujos critérios triunfaram. 6. Deployment Organização dos dados obtidos nas fases anteriores, de forma a que o cliente os possa utilizar e compreender. 2.2 Base de Dados Para guardar os dados vindos do CC, foi necessário escolher uma BD. A AK, em detrimento dos SGBDs relacionais, apostou nos SGBD não relacionais, estes são cada vez mais numerosos e mais utilizados. A sua principal característica é não possuírem relações entre as entidades. Após o estudo de alguns SGBDs não relacionais - MongoDB, Cassandra e o HBase - a AK optou pela utilização do Cassandra como método de armazenamento de dados. O Cassandra é um SGBD não relacional [ver gura 2.2] que organiza os dados por Keyspaces - podem ser consideradas BDs num SGBD relacional - e Column Families - correspondendo a uma tabela num SGBD relacional. A escolha deveu-se, em grande parte, ao facto de ser um sistema cujas operações de escrita são mais rápidas que as de
CAPÍTULO 2. FERRAMENTAS E TECNOLOGIAS UTILIZADAS 22 leitura 1 , uma vantagem quando se pretende a análise de grandes quantidades de dados. Finalmente, não devemos esquecer que este SGBD se encontra em constante evolução. Realçar ainda que o facto deste SGBD permitir particionamento, aumentando a capacidade de replicação dos dados, foi também uma razão para a sua escolha[Cas]. Para guardarmos os dados neste SGBD temos de colocá-los em Keyspaces , estas têm um conjunto de Column Families e, dentro das últimas temos Columns - registos - estas Columns são compostas por um nome e um valor [ver gura 2.2]. Figura 2.2: Estrutura do Cassandra 1 Quando são limitadas pela velocidade do disco
CAPÍTULO 2. FERRAMENTAS E TECNOLOGIAS UTILIZADAS 23 2.3 Linguagens de Programação 2.3.1 Python O Python é uma linguagem de programação de fácil aprendizagem e ecaz no que se refere a programação orientada a objetos. A sua sintaxe e natureza de interpretação torna-o uma linguagem ideal para scripting e desenvolvimento rápido de aplicações em muitas áreas, bem como na maioria das plataformas. Esta linguagem foi escolhida como ferramenta para o tratamento dos dados, i.e. , para aceder à keyspace no SGBD Cassandra e transformar os dados obtidos de forma a facilitar a análise dos mesmos. Foram várias as razões que levaram à sua escolha, destacamos: a sua fácil utilização; possuir bibliotecas que permitem a ligação ao Cassandra de uma forma rápida e limpa; ser de utilização livre e ser portável. A escolha da biblioteca para aceder ao Cassandra, levantou um novo problema - foi necessário proceder à análise da biblioteca lazyboy [Git12a] - inativa há mais de dois anos - e a pycassa [Git12b], esta última foi a nossa escolha. 2.3.2 R O R é um ambiente e linguagem de programação que é utilizado para computação estatística, disponibiliza um conjunto de comodidades integradas para a manipulação de dados, cálculos e exibição gráca, permitindo uma extensa variedade de técnicas de análise estatística.[GIea97] RCassandra e RJDBC Tanto o RCassandra como o R Java Database Connectivity (RJDBC) são pacotes disponibilizados para a linguagem R, o seu objetivo é a ligação a SGBD's. O RCassandra providencia uma ligação direta às funcionalidades mais básicas do Cassandra, tal como login , updates e pesquisas diretas[Urb12a,Urb12b], o RJDBC é um pacote que implementa uma Database Integration (DBI 2 ). 2 Componente de software que permite que uma aplicação Java interaja com uma BD.
CAPÍTULO 2. FERRAMENTAS E TECNOLOGIAS UTILIZADAS 24 Um dos requisitos necessários do RJDBC é a utilização da linguagem de programação Java, as duas formas de acesso foram testadas, caindo a escolha sobre o RCassandra. Esta deveu-se, em grande parte, ao facto de esta forma de ligação ser mais rápida. 2.4 Data Mining 2.4.1 WEKA - Waikato Environment for Knowledge Analysis O WEKA foi desenvolvido na Universidade de Waikato na Nova Zelândia 3 , trata-se de uma coleção de algoritmos de machine learning , dirigidos a tarefas de Data Mining . Os algoritmos podem ser aplicados diretamente a um conjunto de dados a partir do nosso próprio código[MHW09]. 2.4.2 RapidMiner O RapidMiner é um dos lideres mundiais em sistemas open source para Data Mining , encontra-se disponível como uma aplicação autónoma para análise de dados e contem um motor de Data Mining para a integração de produtos próprios. Utiliza esquemas de aprendizagem, avaliadores de atributos da ferramenta WEKA e esquemas de modelação estatística da linguagem R. Disponibiliza uma IG que gera um arquivo eXtensible Markup Language (XML) que dene os processos analíticos que o utilizador deseja aplicar aos dados, alternativamente, o motor pode ser chamado a partir de outros programas ou usado como uma aplicação e as funções individuais podem ser chamadas a partir da linha de comandos.[RI] 2.4.3 SPMF - Sequential Pattern Mining Framework O SPMF é uma plataforma open source , escrita em Java por Philippe Fournier-Viger, que fornece a implementação de 52 algoritmos de Data Mining : • deteção de padrões sequenciais ( sequential pattern mining ); 3 www.waikato.ac.nz
CAPÍTULO 2. FERRAMENTAS E TECNOLOGIAS UTILIZADAS 25 • formulação de regras de associação ( association rule mining ); • deteção de conjuntos de itens frequentes ( frequent itemset mining ); • deteção de regras sequenciais ( sequential rule mining ); • clustering . Pode ser utilizado como um programa independente através de uma interface simples ou através da linha de comandos, permitindo a integração do código de cada um dos algoritmos noutros programas ou aplicações.[FV13a] 2.4.4 Algoritmos de Deteção de Padrões - Sequential Mining Patterns Um dos muitos problemas do Data Mining é a descoberta de sequências frequentes a partir de uma BD. O objetivo é descobrir sequências de eventos frequentes, conceito introduzido por Agrawal e Srikant. No seu modelo uma BD é um conjunto de transações, cada transação é um conjunto de itens e está associado a um identicador de cliente e um identicador de tempo[AS95]. Se procedermos à ordenação dos dados por identicador de cliente e depois por identicador de tempo, obtemos um conjunto de sequências de clientes, cada sequencia de cada cliente mostra as suas ações por ordem de acontecimento. De uma forma geral, o problema de deteção de sequências frequentes, implica descobrir subsequências que são, de certo modo, frequentes entre todas as sequências dos clientes. Foram, por isso, estudados alguns dos algoritmos criados com o intuito de resolver o problema de qual o caminho mais frequente. GSP - Generalized Sequential Patterns Entre os algoritmos mencionados, o GSP[SA96] é considerado um dos mais ecientes, este algoritmo procede à consulta da BD um determinado número de vezes. Durante uma iteração ( i ), são encontradas sequências de tamanho i mais frequentes, desta forma o número de consultas efetuadas à BD é determinado pelo comprimento das sequências mais frequentes e mais longas da mesma.
CAPÍTULO 3. SOLUÇÕES PARA ANÁLISE DE COMPORTAMENTO E CONTAGEM DE PESSOAS 32 vigilância, vigilância facial, reconhecimento de matriculas, análise comportamental ou ainda análise de las de pessoas. Para os gestores de CCs, esta não é apenas uma plataforma de contabilização pois, permite também perceber quem é o seu cliente, fornece-lhe a noção da idade, sexo, comportamento do seu cliente, entre outros aspectos. Tudo isto através da combinação de análise e vídeos, integração em contexto e inteligência social de forma a entregar a informação vital que os comerciantes necessitam. Permitindo-lhes distribuírem os seus produtos nas montras e/ou prateleiras, promoções a fazer e estratégias de gestão de las. O comerciante tem acesso a uma aplicação que permite acesso às operações da loja em tempo real[3VR]. 3.2 BIPS O BIPS (Figura 3.1) é um Sistema de Localização em Tempo Real (RTLS), que permite procurar, seguir, gerir, analisar e trabalhar dados referentes à localização de indivíduos dentro de um edifício ou espaço aberto, desenvolvido pela AK. Esta plataforma permite, para além da elaboração de estudos de mercado, a contabilização de clientes. Ela consiste em estudar as rotas realizadas por um determinado conjunto de indivíduos e as suas tendências de orientação em tempo real, através de um sistema de posicionamento, em espaços delimitados, por radiofrequência. O sistema baseia-se na instalação de dispositivos que, aqui denominados por âncoras, contêm uma antena para cada tecnologia, Global System Mobile Communications (GSM), Wi-Fi ou Bluetooth , posicionadas em locais especícos. Os dados obtidos são enviados para um servidor central, que guarda toda a informação posteriormente analisada detalhadamente e é realizado o registo das capturas (importa referir que todo este processo é realizado em tempo real). Como podemos ver as potenciais aplicações vão de sistemas de segurança ao controlo de tráfego passando por usos comerciais[Kno13]. Figura 3.1: BIPS - Business Intelligence Positioning System
CAPÍTULO 3. SOLUÇÕES PARA ANÁLISE DE COMPORTAMENTO E CONTAGEM DE PESSOAS 33 3.2.1 Situação Atual O BIPS ajuda os comerciantes a perceberem o comportamento dos clientes, através da recolha de dados e disponibilização de informação que permite aos gestores a tomada de decisões informadas. Em geral estas plataformas têm a desvantagem de não fornecerem informação em tempo real e as que o conseguem fazer, não respondem a todas as circunstâncias. Na maioria das soluções, a contagem das passagens dos visitantes é feita num único local. Com o BIPS os comerciantes conseguem informações sobre o cliente, de forma precisa e em tempo real, permitindo assim uma reação imediata. O sistema da AK traz uma diminuição no erro das contagens e permite obter um leque maior de informação sobre os clientes que realmente chegam a entrar no estabelecimento. O BIPS fornece monitorização dos visitantes de forma anónima e coloca à disposição do comerciante relatórios em tempo real e de uma forma rápida, conveniente, precisa e menos dispendiosa que soluções equivalentes. Figura 3.2: Estrutura do BIPS
CAPÍTULO 3. SOLUÇÕES PARA ANÁLISE DE COMPORTAMENTO E CONTAGEM DE PESSOAS 34 No caso especíco de um CC, o BIPS determina qual o uxo de clientes, permitindo assim a otimização de rotas. Ajuda os gestores do CC na análise do resultado de eventos publicitários, monitoriza as zonas menos visitadas, prevê a movimentação de visitantes pelo CC e escôa zonas de maior congestionamento, permitindo aos visitantes a melhor experiência possível. Os comerciantes ao saberem as zonas de maior concentração de visitantes podem direccionar a atenção destes para certos produtos, áreas ou ofertas. O objetivo nal do BIPS é disponibilizar ao comerciante uma aplicação que lhe permita aceder à informação obtida a partir dos dados adquiridos pelas âncoras. O BIPS está estruturado da seguinte forma (Figura 3.2): 1. Dispositivos de deteção de radiofrequência; 2. Bases de Dados (BD); 3. Ferramenta de tratamento dos dados; 4. API 1 (Middleware); 5. Interface gráca (IG). 3.2.2 Captura e Estrutura de Dados As âncoras enviam os dados para uma keyspace em Cassandra (que se encontra na segunda parte da estrutura), que serão enviados para outra keyspace após a passagem pelo conjunto de ferramentas de tratamento de dados, esta última keyspace será acedida pela API, que enviará a informação à IG de forma a que o utilizador lhe possa aceder. As âncoras procedem ao envio de uma identicação do dispositivo 2 detetado, para um servidor, se nos 10 segundos seguintes o mesmo dispositivo for encontrado pelo mesmo conjunto de âncoras, a segunda deteção é ignorada. Este espaço de tempo garante que todos os dispositivos que têm de ser detetados serão mesmo detetados. Inicialmente guardaram-se os dados no servidor, anexando-lhes um timestamp , após o tratamento aos dados enviados pelas âncoras, foram anexadas as 1 http://www.webopedia.com/TERM/A/API.html 2 Seguindo as leis da Comissão Nacional de Proteção de Dados - CNPD - Lei n o 67/98 de 26 de Outubro.
CAPÍTULO 3. SOLUÇÕES PARA ANÁLISE DE COMPORTAMENTO E CONTAGEM DE PESSOAS 35 coordenadas, o grupo de âncoras e o piso em que o dispositivo foi detetado. Estes grupos são identicados por um conjunto de, pelo menos, três âncoras e os pisos são identicados através da força de sinal entre a âncora do piso um e o grupo de âncoras associadas no segundo piso. Os dados são enviados para uma Keyspace do SGBD Cassandra[Cas], e numa Column Family , são então inseridos por data ( Row Key ) e, à medida que estes vão chegando, são acrescentados todos os timestamps e dispositivos detetados nos 10 segundos seguintes, com a respetiva informação. Este estágio cingiu-se à segunda parte, ou seja, ao estudo e implementação de algoritmos que permitam criar um conjunto de ferramentas de tratamento de dados, dados estes que estão guardados numa keyspace . Figura 3.3: Vista do DataStax: todas as keyspaces guardadas no SGBD. Foi criada uma Column Family que guarda toda a informação tendo como Row Key a data. Para cada data foi agregado um conjunto de timestamps , e para cada um destes foram anexados os dispositivos detetados nesses dez segundos e para cada dispositivo, o conjunto de âncoras em que este foi detetado.
CAPÍTULO 3. SOLUÇÕES PARA ANÁLISE DE COMPORTAMENTO E CONTAGEM DE PESSOAS 36 Figura 3.4: Base de Dados Final 3.2.3 Tratamento dos Dados O tratamento de dados para as ferramentas de análise desenvolvidas neste estágio foi feito em Python, desde a sua aquisição, a partir do Cassandra, à sua utilização na resposta às perguntas efetuadas pelos gestores. Já sabendo como os dados são guardados no SGBD Cassandra, resta criar a ligação e proceder à sua aquisição. Os dados são guardados de forma sequencial, o que facilita o acesso quando apenas se pretende a análise de um determinado tipo de dados. A sua organização está relacionada com o objetivo principal deste estágio, a utilização dos algoritmos desenvolvidos para o tratamento dos dados. Mais à frente neste documento será abordada a implementação destes algoritmos. É de mencionar que foi feita uma tentativa de utilizar a ferramenta R e por isso, escolhida a biblioteca para proceder à ligação ao Cassandra mas, depois de alguns testes efetuados, devido a atraso quanto à resposta do Cassandra e envio dos dados para o R, esta ferramenta foi colocada de parte e suplantada pelo python. 3.3 Análise Comparativa dos Produtos Sabemos que o FootFall é um dos concorrentes diretos do BIPS. Em primeiro lugar porque a maioria dos possíveis clientes da AK utilizam no momento esta plataforma e porque os dados disponibilizados pelo FootFall são equivalentes aos do BIPS. Sabemos
CAPÍTULO 3. SOLUÇÕES PARA ANÁLISE DE COMPORTAMENTO E CONTAGEM DE PESSOAS 37 também que uma das mais valias dos sistemas de análise de vídeo é permitirem ter algum conhecimento sobre o cliente, como o sexo e a idade, algo que o BIPS não permite. Não podemos deixar de concluir que após a análise dos produtos o BIPS trouxe uma grande inovação ao mercado. Para além do seu potencial e precisão na informação que gera, preserva a privacidade dos utilizadores de equipamentos móveis, apesar de conseguir saber quais os passos que os mesmos dão. Ao analisarmos os prós e os contras destas plataformas percebemos que são poucas as vantagens do FootFall e do VMS quando nos referimos a custo benefício. O BIPS é uma plataforma que permite acesso a informação equivalente, em tempo real, preservando a privacidade do cliente e a um custo mais baixo 3 . 3 Permite economizar até 89% do custo atual em relação aos métodos tradicionais de estudos de mobilidade. Esta percentagem foi conseguida após análise feita pela AK a valores de estudos de mercado bem como através de retorno por parte dosgestores do CC em estudo.
Capítulo 4 Compreensão e Preparação dos Dados O objetivo deste estágio foi construir e integrar no BIPs um conjunto de ferramentas que permitem responder a algumas questões colocadas pelos gestores do CC, para isso foi necessário organizar ideias e denir conceitos, bem como estudar os dados para encontrar possíveis implementações. Depois dos conceitos e questões denidas analisamos os problemas para conseguir obter respostas, estudando quais os melhores algoritmos para resolver as questões e formas de apresentar os resultado. Neste capítulo vamos apresentar os estudos efetuados. 4.1 Visitas Existem alguns fatores que denem uma visita: o dispositivo que a efetuou e a data e hora de inicio e de m da mesma. Depois do tratamento dos dados, conseguimos obter um conjunto de visitas num dia, tendo a visita sido considerada o período de tempo em que o dispositivo se encontra a ser detetado por âncoras, o nal da visita é denido pela ausência de deteções por, pelo menos, 3 horas (10.800 segundos). Por esta razão, e porque os clientes podem fazer mais do que uma visita no mesmo dia ao CC, um dispositivo pode ter mais que uma visita. Foi determinado o período de 3 horas porque o objetivo é denir visitas, totalmente distintas e não o esquecimento de algo, a ida ao parque de estacionamento ou ir fumar um cigarro. Esta denição trouxe alguns problemas, os dispositivos que passem esse tempo nos cinemas seriam contabilizados como tendo efetuado duas visitas, não sendo isto, de facto, verdadeiro, foi necessário proceder à sua vericação. Por isso, se um dispositivo 38
CAPÍTULO 4. COMPREENSÃO E PREPARAÇÃO DOS DADOS 39 desaparecer (deixar de ser detetado) por mais de cinco minutos perto do cinema e reaparecer no mesmo local passadas 3 horas, está implícito que esteve no cinema, o mesmo demonstrou ser verdade para quem faz compras na grande superfície anexada ao CC. É importante vericar se um dispositivo realizou mais do que uma visita ao CC. Entre as perguntas a responder, encontra-se a questão "Qual o número de visitas por dia, hora, zona, piso ou acesso?". O número de visitas efetuadas num determinado dia é conseguido através da contagem das visitas encontradas, o tempo de visita é conseguido através da subtração do timestamp inicial ao nal. timestamp Inicial +T imestamp final =T empo de V isita Olhando para o exemplo 1conseguimos saber que o tempo de visita deste cliente foi de 28 minutos 1 . Example 1 Um conjunto de deteções e timestamps associados 1 Temos uma visita de um cliente ao CC e as respetivas associações entre âncoras e acessos. pisos ⇒< piso1 : z1, piso1 : z2, piso2 : z3, piso2 : z4> zonas ⇒< z1 :<1,2,3>, z2 :<4,5,6,7>, z3 :<8,9,10 >, z4 :<11,12,13,14 >> detections ⇒<1,2,3,5,6,7,7,7,7,7,7,7,9> timestamps ⇒<1,3,17,18,19,20,21,22,23,24,25,26,29 > 4.2 Acessos Para se saber qual a porta de acesso e a de saída de cada dispositivo vericou-se qual a primeira e última âncora de deteção, posteriormente conrmou-se qual a associação existente entre as âncoras de deteção e os acessos obtendo o acesso por onde esse cliente entrou no CC nessa visita. Agregamos as visitas por acesso e procedemos à sua contagem. 1 Tomando de principio que os timestamps estão em minutos.
CAPÍTULO 4. COMPREENSÃO E PREPARAÇÃO DOS DADOS 40 Devido a alguns problemas demonstrados pelas âncoras (falhas na deteção), por vezes a primeira âncora não está associada a um acesso, quando tal acontece, verica-se qual a última âncora e se esta estiver associada a um acesso, passa a ser esse acesso o de entrada. Caso contrário é considerado um acesso desconhecido, i.e., se a âncora inicial não estiver associada a um acesso, será averiguado qual o acesso associado à âncora nal e, no caso de esta não estar associada, a visita apenas será contabilizada para o número de visitas por acesso, já que a distribuição deste tipo de visitas será feita segundo a probabilidade de ter entrado, ou não, por uma determinada porta. O exemplo a ser estudado facilmente nos diz que o cliente entrou pela âncora 1 ou 7 . 4.3 Zonas e Pisos Inicialmente dividimos o CC em algumas secções que denimos como zonas, uma das questões que os gestores queriam ver respondida era "Qual o número de visitantes na praça da Alimentação?". Para responder a esta questão era necessário denir o espaço ocupado pela praça de alimentação, permitindo assim uma denição de zonas por todo o CC. As zonas, tal como os pisos, são defenidas no python através das âncoras, os pisos pouca explicação necessitam, se o CC tiver mais que um piso a identicação destes será o seu número, já que o CC, onde decorreu a recolha dos dados, tem mais que um piso, foi necessário associar as zonas a um piso. Após a denição das zonas e pisos, procedemos à contagem das visitas que passaram pelas âncoras e aquelas que passaram pelas zonas associadas a pisos. Conseguimos vericar, através do exemplo 1que, durante esta visita o cliente esteve nas zonas z1 , z2 e z3 e que esteve nos pisos piso1 e piso2 . Através das condicionantes mencionadas acima, conseguimos respostas às questões 1,2 e 11 (Capítulo 1). 4.4 Entrada nas Lojas Foi necessário denir as lojas e tentar encontrar as entradas dos clientes em determinada loja, esta tarefa foi um pouco complicada já que, para a maior feabilidade dos dados, seria necessário introduzir âncoras nas lojas, tal era impossível por concessão dos gestores do CC, houve então a necessidade de tentar outras vias para descobrir se um cliente teria entrado, ou não, numa determinada loja, o problema foi abordado de
CAPÍTULO 4. COMPREENSÃO E PREPARAÇÃO DOS DADOS 41 duas formas diferentes: • Incluir coordenadas da deteção do dispositivo. Bastava vericar se a posição do cliente estaria entre as coordenadas limítrofes da loja. • Se o dispositivo deixar de ser detetado por cinco minutos (300 segundos) ou mais, signica que o cliente entrou na loja mais próxima à âncora em que desapareceu. No que se refere à primeira solução a existência de coordenadas, como já foi mencionado em capítulos anteriores, impôs que, pelo menos três âncoras, detetem o mesmo dispositivo no mesmo timestamp , tal implica que todas as deteções efetuadas por menos do que três âncoras sejam descartadas, ou seja, temos perda de informação. Decidimos pela segunda opção, conseguindo obter as estadias (permanência na mesma âncora) ou entradas numa loja (deixar de ser detetado por qualquer âncora durante, pelo menos, cinco minutos). Depois de denida a diferença entre entrar ou não numa loja, estamos prontos para responder às questões 3,4,7 e 8 (Capítulo 1). Para isso foi necessário encontrar todas as lojas visitadas por todos os clientes e proceder à sua contagem, bastou percorrer as deteções de cada dispositivo. Se a distância temporal entre uma detecção e a seguinte for maior que cinco minutos (300 segundos), então guardamos a âncora referente à primeira deteção 2 e essa será a loja em que o cliente entrou, no caso de o cliente ter sido detetado pela mesma âncora durante um período igual ao mencionado é considerado que esteve dentro de uma loja. A loja será a que está associada à âncora que detectou o cliente por esse espaço de tempo, se observarmos o exemplo 1conseguimos saber que as lojas visitadas por este cliente são as associadas às âncoras 2 e 7 . 4.5 Shopping Time e Dwell Time O Shopping Time refere-se ao tempo que um cliente se encontra dentro de lojas e o Dwell Time é o oposto, é o tempo que um cliente passa no corredor a passear ou a ir de uma loja para outra. Estes conceitos serão úteis para se conseguir responder às questões 5 - "Qual o tempo gasto numa visita?"e 6 - "Qual o tempo médio passado a fazer compras (ShoppingTime)?". No caso do Shopping Time foi necessário encontrar o tempo passado em todas as lojas e proceder à sua soma. No que se refere ao Dwell Time , bastou remover ao tempo total da visita o Shopping Time , se olharmos 2 As âncoras estão associadas a lojas.
Capítulo 5 Modelação Neste capítulo descrevemos os processos de análise de dados e modelação que permitem responder às perguntas colocadas pelos gestores. Para cada pergunta teremos um processo que foi implementado e integrado no BIPS. A escolha do processo de modelação mais adequado foi feita utilizando uma amostra (dados referentes a um mês). Criámos e estudámos grácos para vericar se existiam surpresas inesperadas, e saber a densidade do número de visitas, teve como propósito saber se existiam zonas mais importantes, pisos mais utilizados, lojas mais visitadas e acessos mais utilizados. 5.1 Qual o número de visitas por dia, hora, zona, piso ou acesso? No que se refere aos dados relevantes para responder a esta questão, foram utilizados o número de dispositivos que passearam num dia no CC, o momento de entrada e de saída e as âncoras que detetaram esse dispositivo ao longo da visita. Todos os valores apresentados como resultado desta questão (e apresentados no produto nal) são conseguidos através de técnicas de estatística descritiva, em especial através da média. Visitas por Dia - Para sabermos o número de visitas por dia é necessário vericar, em primeiro lugar, se o dispositivo fez uma ou mais no mesmo dia. O número de visitas durante um determinado período de tempo é apresentado num gráco de linhas. No 48
CAPÍTULO 5. MODELAÇÃO 49 caso da amostra descrita, a gura 5.1 mostra-nos que, por regra, aos ns de semana o número de visitas aumenta. Podemos ainda estudar a distribuição do número de visitas diárias usando um histograma com uma curva de densidade, através das guras 5.1 e5.2, conseguimos ter a noção de que, na maioria dos dias, o número de visitas ao CC está entre as 2500 e 3000. Figura 5.1: Visitas por dia no mês de Junho
CAPÍTULO 5. MODELAÇÃO 50 Figura 5.2: Densidade das Visitas no mês de Junho. No eixo dos x encontramos o número de visitas. Visitas por Hora Para se analisar o número de visitas por hora, dividimos o período de funcionamento diário em intervalos de uma hora. Os intervalos são respresentados pela sua hora de início. Num gráco de linhas como o da gura 5.3, cada linha representa a evolução do número de visitas numa determinada hora ao longo dos dias. Tal como as visitas por dia utilizámos estatística descritiva para analisar o número de visitas por hora. No nosso exemplo (gura 5.3) conseguimos observar que em média, encontram-se mais pessoas a visitar o CC pelas quatro da tarde e que o pico de visitas no mês, em quase todas as horas, foi no segundo m de semana, de dia 8 a dia 10 de Junho. Importa referir que o dia 10 de Junho, Segunda-Feira, foi feriado em Portugal, justificando o aumento de visitas nesse dia, principalmente, comparando com as restantes Segundas-Feiras. Por outro lado, a maior parte das horas teve uma descida considerável no Domingo 23 de Junho, esta diminuição pode ter uma relação direta com o facto de nos encontrarmos no nal do mês, e paralelamente com o início da época de férias escolares. Excetuando as horas de entrada e saída (10h - X10 e 23h - X23), a maior densidade
CAPÍTULO 5. MODELAÇÃO 51 encontra-se entre os 400 e 600 visitantes. Podemos também perceber pela gura 5.4 que da parte da tarde, a partir das 14 horas, a probabilidade de observarmos um número acima das 800 visitas é alta, esta subida de visitantes começa a diminuir a partir das 18 horas. Figura 5.3: Visitas por Hora do dia no mês de Junho
CAPÍTULO 5. MODELAÇÃO 52 Figura 5.4: Densidade das Visitas por Hora no mês de Junho [ver apêndice A] Visitas por Zona Depois de associarmos cada âncora a uma zona, foi utilizada estatística descritiva para se conseguir obter a contagem do número de visitas efetuadas em cada uma das zonas. Analisando a amostra obtida do CC em estudo, podemos observar, através do gráco circular da gura 5.5, que as zonas por onde a maioria dos visitantes passam são as zonas z7 e a z1 . Sabemos, através da gura 5.6 que, no máximo encontramos 3000 visitantes por zona e que na maioria das vezes este número se encontra entre os 1000 e 2000 visitantes. A resposta à questão " Qual o número de visitantes a passar na praça da alimentação? "para a amostra de dados aqui estudada é de 1933 visitantes, tal como podemos observar na gura 5.5 1 . 1 Este gráco mostra-nos a percentagem de visitantes (em relação a todos os que apareceram no CC) que passaram por cada uma das zonas.
CAPÍTULO 5. MODELAÇÃO 53 Figura 5.5: Visitas por Zona no mês de Junho Figura 5.6: Densidade das Visitas por Zona no mês de Junho [ver apêndice A]
CAPÍTULO 5. MODELAÇÃO 54 Visitas por Piso Para os pisos necessitamos de ter as âncoras em que o dispositivo foi detectado. A partir delas conseguimos saber em que piso o visitante se encontra. O CC onde os dados foram adquiridos está dividido em dois pisos. Foram aplicadas tecnicas de estatística descritiva para alcançar o número de visitas por Piso. Através do gráco da gura 5.8 sabemos que, no conjunto de dados recolhido do CC em estudo, o número de visitantes que passam pelos dois pisos é equivalente, apesar de ser um pouco maior no piso 1 (gura 5.7) factor que consideramos fácilmente justicável já que a maioria das portas de acesso se encontram no primeiro piso. Conseguimos ver que no piso 1 a probabilidade do número de visitantes estar entre os 2250 e 2500 é alta, já no piso 2 o número encontra-se entre os 2000 e 2250. Como vemos a densidade de visitas nos dois pisos é muito proxima. Figura 5.7: Visitas por Piso no mês de Junho Figura 5.8: Comparação do número de visitas por Piso no mês de Junho
CAPÍTULO 5. MODELAÇÃO 55 Figura 5.9: Densidade das Visitas por Piso no mês de Junho Visitas por Acesso Tal como já foi mencionado anteriormente, para conseguirmos saber qual o acesso por onde o visitante entrou, precisamos de ter a primeira âncora de detecção do visitante. Encontramos qual o Acesso associado a essa âncora e procedemos à divisão das visitas por Acesso. Podemos ver, pela gura 5.11, que o acesso mais escolhido pelos visitantes no mês de Junho é o K , na mesma gura vemos que este acesso K se encontra quase sempre acima dos restantes. Apenas em três dias do mês o acesso G contem maior número que o acesso K . Quanto ao acesso I a âncora referente a este acesso encontrou-se em baixo durante o mês a que se refere a recolha dos dados, por isso mesmo, apresenta um número de visitantes nulo. Um aspeto interessante é o facto de, o acesso nem sempre ser o mesmo que a saída (gura 5.12). No caso de estarmos a falar do acesso J , é mais provável que a saída não seja a mesma, já se falarmos no acesso G ou K , a probabilidade é de o visitante sair pelo mesmo local. A gura 5.13 mostra-nos que a densidade mais alta encontra-se nos acessos D e F apesar de corresponder a um número de visitas mais baixo. Já para os acessos com o número de visitas mais alto, G e K , a densidade é consideravelmente mais baixa.
CAPÍTULO 5. MODELAÇÃO 56 Figura 5.10: Visitas por Acesso no dia do mês de Junho Figura 5.11: Visitas por Acesso no mês de Junho
CAPÍTULO 5. MODELAÇÃO 57 Figura 5.12: Visitas por Acesso Igual a Saída no mês de Junho Figura 5.13: Densidade das Visitas por Acesso no mês de Junho [ver apêndice A]
CAPÍTULO 5. MODELAÇÃO 64 5.5 Qual o tempo dispendido por Loja? Tal como anteriormente, foram utilizadas técnicas de estatística descritiva. Os dados utilizados para a resposta a esta questão são os mesmo que foram mencionados na questão anterior. O resultado da aplicação da ferramenta, que permite responder a esta questão, à amostra em estudo é possível ser vizualizada através da gura 5.23, onde a Loja em que as pessoas passam mais tempo é a L17 . Apesar de tal ser verdade, podemos observar que na maioria dos dias, o tempo despendido nas visitas à loja L13 ultrapassam o tempo despendido à loja L17, três dias (1, 8 e 10 de Junho). Mesmo assim estes três valores não ultrapassam o maior tempo passado em L17 e por pouco passa a média do tempo gasto do mês nas lojas. Figura 5.23: Tempo gasto por Loja no mês de Junho.
CAPÍTULO 5. MODELAÇÃO 65 5.6 Qual o caminho mais utilizado pelos clientes a partir de um acesso? Foram efetuados testes nas ferramentas de data mining mencionadas no capítulo 2. Tentámos obter resultados com o RapidMiner (gura 5.24) a partir de um conjunto de dados (gura 5.25) mas, este não nos permitiu obter resultados (gura 5.26), este erro deveu-se ao facto de existir um problema na ferramenta que será corrigido na próxima versão a ser lançada. Figura 5.24: Utilização do GSP no RapidMiner
CAPÍTULO 5. MODELAÇÃO 66 Figura 5.25: Conjunto de caminhos efetuados a partir do acesso A Figura 5.26: Resultado obtido com o GSP no RapidMiner Quanto à ferramenta WEKA, esta foi utilizada para testar o mesmo algoritmo em detrimento do RapidMiner, o teste efetuado obteve o resultado apresentado nas guras 5.27 e5.28.
CAPÍTULO 5. MODELAÇÃO 67 Figura 5.27: Teste efetuado com os dados do acesso A no Weka
CAPÍTULO 5. MODELAÇÃO 68 Figura 5.28: Resultados do teste com o GSP utilizando o Weka No que se refere aos restantes algoritmos, SPAM e PrexSPAN, foram testados com a ferramenta SPMF, em primeiro lugar foram utilizados conjuntos de poucos caminhos. Os resultados obtidos pelos dois algoritmos num desses testes está apresentados nas guras 5.29 e5.30. Depois de correr estes testes, o SPAM demora mais tempo e necessita de mais memória. Em seguida procedeu-se a testes com os dados dos caminhos referentes a um acesso que apresentamos na gura 5.31. Conseguimos resultados equivalentes a partir dos dois algoritmos, apesar de ter conseguido resultados rapidamente com o PrexSpan (gura 5.32), com o SPAM esses resultados não foram atingidos devido às razões já referidas.
CAPÍTULO 5. MODELAÇÃO 69 Figura 5.29: Resultados obtidos da utilização do PrexSpan no SPMF em cheiros de teste Figura 5.30: Resultados obtidos da utilização do SPAM no SPMF em cheiros de teste
CAPÍTULO 5. MODELAÇÃO 70 Figura 5.31: Conjunto de alguns caminhos efetuados a partir do acesso A, formatados para spmf Figura 5.32: Resultados obtidos da utilização do PrexSpan no SPMF
CAPÍTULO 5. MODELAÇÃO 71 Para conseguirmos encontrar qual o caminho mais utilizado pelos visitantes foi criado um algoritmo [5.6.1] que utiliza a função de pré-processamento [algoritmo 4.6.1]. Para além do pré-processamento (descrito em capítulo anterior), utiliza a função mostUsedPaths . Esta função, em primeiro lugar corta os caminhos pelo número de zonas mínimas ( minZones ) escolhido, cando com caminhos que contenham apenas um número mínimo de zonas diferentes. Em seguida é encontrado o caminho que aparece mais vezes. O facto dos caminhos carem denidos por zonas permite que, se existirem âncoras a falhar, não haja problemas com a criação dos caminhos possíveis. Algorithm 5.6.1: Paths ( Data, AccessName, minZones ) procedure Paths (Data, AccessName, min _ Zones) for each path ∈ Data do (AllPaths ← PreprocessPaths (path, AccessName) returnedP ath ← mostUsedPath (AllPaths, min _ Zones) return (returnedP ath) Através do algoritmo descrito foi possível obter os grafos apresentados na gura 5.33 e através desta, concluímos que existem caminhos que, apesar de pertencerem a acessos diferentes começam na mesma zona ( H e J ou A e B ), já que existem zonas com mais que um acesso. As zonas 7 e 8 aparecem em mais de metade dos caminhos, demonstrando serem as zonas mais visitadas.
CAPÍTULO 5. MODELAÇÃO 72 Figura 5.33: Caminhos mais utilizados por Acesso no mês de Junho No sub-capítulo 2.4 mencionamos algoritmos de deteção de padrões, alguns dos resultados obtidos podem ser visualizados nas guras 5.34,5.35 e5.36. Podemos ver que os resultados obtidos pelo Weka não nos trazem nada de novo e que o PrexSpan e o SPAM, através do SPMF nos devolveram resultados agradáveis. Estes caminhos, no produto nal, são representados por um mapa do espaço com o caminho efetuado pelo visitantes, permitindo aos gestores compararem acessos. 5.7 Qual o caminho mais utilizado pelos clientes? Na gura 5.34 podemos ver os caminhos mais e menos utilizados no mês de Junho pelos visitantes do CC e nas guras 5.35 e5.36 os caminhos cujo número de visitantes está acima da média de passagens e abaixo, respetivamente. Olhando para a gura 5.33 conseguimos perceber que os melhores caminhos por acesso passam, na sua maioria, por caminhos cujo número de visitantes se encontra acima da média. Observamos que o caminho referente ao acesso G passa exatamente pelos caminhos com maior número de visitantes, os caminhos que passam por ligações cujo número
CAPÍTULO 5. MODELAÇÃO 73 de visitantes está abaixo da média, encontram-se, mesmo assim, dentro das ligações com maior valor. O único caminho em que tal não acontece é referente ao acesso I que contém a ligação 10 −8 , o número de passagens desta ligação encontra-se abaixo das 600. Figura 5.34: Caminhos mais/menos utilizados no mês de Junho Figura 5.35: Caminhos com utilização acima da média no mês de Junho Figura 5.36: Caminhos com utilização abaixo da média no mês de Junho
CAPÍTULO 6. PRODUTO FINAL 80 Figura 6.5: Métricas das visitas por piso no mês de Junho
CAPÍTULO 6. PRODUTO FINAL 81 Figura 6.6: Métricas das visitas por Zona no mês de Junho
CAPÍTULO 6. PRODUTO FINAL 82 Figura 6.7: Métricas das visitas por Acesso no mês de Junho Figura 6.8: Posição das Lojas segundo o número de visitantes no mês de Junho
Capítulo 7 Conclusão Os objetivos propostos no início do estágio foram atingidos tendo o conjunto de ferramentas de análise de posicionamento sido implementado. Estas ferramentas podem ser usadas para responder às questões colocadas pelo cliente, permitindo aos gestores obterem conhecimento mais preciso sobre o funcionamento do espaço que gerem. Para conseguir atingir estes objectivos foram realizadas as seguintes tarefas: • Recolha e compreensão das perguntas de negócio do cliente; • Conecção à Base de Dados; • Transformação e pré-processamento dos dados; • Estudo e aplicação de algoritmos de Data Mining ; • Análise dos dados utilizando estatística descritiva para a obtenção de tabelas, grafos e grácos; • Seleção com o cliente das ferramentas relevantes para o negócio; • Integração das ferramentas selecionadas na plataforma BIPS. Recolha e compreensão das perguntas de negócio do cliente : Foi necessário perceber o negócio do cliente e o modelo de negócio do BIPS. Tornou-se imprescíndivel perceber correctamente cada uma das questões colocadas pelo cliente por forma a transpôlas numa pergunta/tarefa de análise de dados. 83
CAPÍTULO 7. CONCLUSÃO 84 Conecção à Base de Dados : Foi necessário estudar a estrutura da BD, que sofreu algumas alterações durante o período inicial de estágio, estudar e escolher a biblioteca de ligação do python à BD e criar a ligação ao cassandra. Transformação e pré-processamento dos dados : Para se poder trabalhar com os dados foi necessário denir estruturas locais para o seu armazenamento para que o tratamento fosse mais célere e direto. Esta transformação distribui os dados por viagens. Estes dados passaram então por um pré-processamento de modo a se conseguir encontrar o caminho mais frequentado. Estudo e aplicação de algoritmos de Data Mining : O estudo de algoritmos de Data Mining foi efectuado com o intuito destes serem aplicados na procura do caminho mais frequente. A possibilidade de os aplicar aos dados obtidos existiu mas, devido a restrições temporais não houve a possibilidade de os incorporar nas ferramentas. Assim foi criado o algoritmo Paths [ver algoritmo 5.6.1], que embora mais especíco, permite atingir os resultados pretendidos. Análise dos dados utilizando estatística descritiva para a obtenção de tabelas, grafos e grácos : Foram aplicadas técnicas de estatística descritiva com a intenção de ver respondidas algumas das questões colocadas pelo cliente. Seleção com o cliente das ferramentas relevantes para o negócio : Após a aplicação do conjunto de ferramentas a uma amostra de dados, a AK e o cliente procederam a uma análise da informação obtida. Esta análise permitiu saber se existiam questões cujas respostas não proporcionavam uma vantagem para o cliente. Três das ferramentas não foram levadas em conta (mencionadas no capítulo 5). Estas ferramentas já estão prontas e no caso em que um outro cliente da AK esteja interessado, apenas existe a necessidade de as activar. Integração das ferramentas selecionadas na plataforma BIPS : Chegados ao momento em que sabemos qual o conjunto de ferramentas a utilizar, bastou activá-las e permitir a sua execução uma vez ao dia. Desta forma os gestores do CC obtêm toda a informação relevante ao dia anterior, à semana anterior ou mesmo ao ano anterior. 7.1 Trabalho Futuro A AK desenvolveu a plataforma BIPS com o objectivo de proporcionar uma solução analítica para auxiliar, não apenas os CC mas também as cadeias de lojas e os
CAPÍTULO 7. CONCLUSÃO 85 gestores de espaços ao ar livre como Jardins Zoológicos, Parques Temáticos, Feiras etc. Futuramente, o BIPS será desenvolvido para alcançar uma maior adaptabilidade às necessidades dos clientes, melhorando a sua implementação e performance dos algoritmos. Com estes desenvolvimentos procederemos ao estudo de algoritmos e sua implementação para alcançarmos previsões de futuras visitas.
Apêndice A Figura A.1: Densidade das visitas por hora no mês de Junho 86
APÊNDICE A. 87 Figura A.2: Densidade das visitas por zona no mês de Junho
APÊNDICE A. 88 Figura A.3: Densidade das visitas por Acesso no mês de Junho
APÊNDICE A. 89 Figura A.4: Densidade das visitas por primeira paragem no mês de Junho