• Nenhum resultado encontrado

COMPOSIÇÃO DA INTERFACE

No documento COMPONENTE DE SEGMENTAÇÃO VISUAL (páginas 41-49)

3 DESENVOLVIMENTO

3.3 COMPOSIÇÃO DA INTERFACE

Para a construção da interface, foi analisada uma plataforma já existente que permite planificar e simplificar a criação de uma comunicação. Esta plataforma foi o MailChimp.

O MailChimp é uma plataforma desenvolvida especificamente para enviar emails como estratégia de marketing associada a um baixo custo (Netherlund, 2014). Apresenta interfaces faseados e explicativos que simplificam o preenchimento e construção de um email. Apesar das várias funcionalidades que o MailChimp ostenta, uma possível integração desta plataforma com a YClient não se justifica, pois o processo de filtração do “público alvo” era semelhante ao existente na plataforma YClient, e que incompreendido por grande parte dos utilizadores.

No entanto, algumas funcionalidades que o MailChimp disponibiliza, como o “Drag and Drop”, vieram apoiar a ideia inicial para o desenvolvimento do projeto “Componente de Segmentação Visual”. Desta forma, a JsPlumb foi a libraria de JQuery encontrada para desenvolver uma interface com estas características, que poderia proporcionar um desenvolvimento, implementação e manutenção mais eficiente.

A libraria JsPlumb apresenta características que a tornam uma mais valia para o projeto, pois para além de permitir estabelecer ligações entre blocos (connections), também disponibiliza toda a gestão dessas ligações e dos respetivos pontos de ligação (endpoints), apresentado um design percetível e intuitivo (figura 2). Para o desenvolvimento e implementação eficientes, a libraria foi exaustivamente estudada analisando todas as suas funcionalidade e formas de integração com a interface já existente.

20 Figura 2: JsPlumb Demo Community Edition (JSplumb, 2017)

A análise, apresentação e desenvolvimento das propriedades dos diferentes filtros é um ponto fundamental para o projeto. A construção de cada filtro é realizada através da seleção de um atributo (o mesmo atributo pode ser alvo de seleção de mais do que um filtro, por exemplo para representar a operação lógica “ou”) e do estabelecimento de uma ou mais condições para cada um. Cada um destes filtros será ligado, por um conector, a outro filtro, construindo uma rede de filtros que formam o filtro global, que permite segmentar os clientes de acordo com os dados disponíveis no sistema. Todos os dados possíveis de correlacionar e analisar devem ser mencionados e destacados na lista de filtros disponível para seleção.

A lista de atributos a considerar é extensa, sendo pouco prático apresentar, em simultâneo todos eles ao utilizador. Para resolver este problema decidiu-se criar um conjunto de categorias na qual se agruparam os atributos. Desta forma, apresenta-se ao utilizador o conjunto de categorias e depois de selecionada a categoria apresenta-se o conjunto de atributos dessa categoria. Na prática criaram-se dois níveis de apresentação que tornam o processo de seleção mais rápido e intuitivo.

A escolha das categorias está relacionada com o tipo de consultas que os utilizadores fazem à base de dados. A tabela 1 mostra as categorias com os atributos que lhes estão associados.

21

Filtro Descrição

Categoria: Dados Demográficos

Cartão Número de cartão de cliente

Lista de Cartões Lista de números de cartões de cliente

Idade Intervalo de idades de clientes

Outras Idades Idade de familiares com ligação ao cliente

Aniversário Quantos dias faltam para o dia de aniversário do cliente Outros Aniversários Aniversário de familiares com ligação ao cliente

Género Sexo do cliente

Profissão Profissão do cliente

NIF NIF do cliente

Listagem de NIF Listagem de NIF’s de clientes

E-mail E-mail do cliente

Telemóvel Telemóvel do cliente

Código Postal Código postal do cliente

Localidade Localidade do cliente

Morada Morada do cliente

País País de residência do cliente

Grupos Grupos a que o cliente pertence, definidos nas configurações da plataforma YClient e associados ao cliente na ficha de cliente

Grupos Dinâmicos Grupos dinâmicos a que o cliente pertence, definidos nas configurações da plataforma YClient e associados ao cliente na ficha de cliente

Tipo de Conta Tipo de conta do cliente, definidas nas configurações da plataforma YClient e associadas ao cliente na ficha de cliente

Data de Registo Data em que o cliente foi registado na plataforma Loja de Registo Loja em que o cliente foi registado na plataforma

Percentagem a dar Percentagem a atribuir a outro cliente com base nos pontos do cliente em análise

22

Loja Loja onde a compra foi efetuada pelo cliente

Posto Posto onde a compra foi efetuada pelo cliente

Produtos Comprados Quais os produtos comprados pelo cliente a analisar Última Transação Análise da última transação efetuadas pelo cliente Número Transações Análise do número de transações efetuadas pelo cliente

Venda Média Análise da venda média do cliente

Valor Adquirido Análise do valor adquirido pelo cliente

Saldo Ganho Análise do saldo ganho pelo cliente

Saldo Disponível Análise do saldo disponível do cliente Saldo expirado Análise do saldo expirado do cliente

Top Clientes Análise do top de clientes por valor ou transações

RFV Análise de clientes com base no valor RFV

Categoria: Comunicação

Comunicação Comunicações recebidas ou não pelo cliente

SMS Recebidos SMS recebido pelo cliente

Categoria: Eventos

Tipo de Evento Evento associado ao cliente, definido na automação de eventos na plataforma YClient

Categoria: Vouchers

Voucher Atribuído Vouchers atribuídos ao cliente, definidos em Vouchers na plataforma YClient

Voucher Redimido Vouchers redimidos ao cliente Categoria: Regras

Regra Geral Regra geral aplicada ao cliente, definida em Regras Gerais na plataforma YClient

Regra de Item Regra de item aplicada ao cliente, definida em Regras de Item na plataforma YClient

Regra de Campanha Regra de campanha aplicada ao cliente, definida em Regras de Campanha na plataforma YClient

23 Data de Reserva Data de reserva registada associada ao cliente, no calendário da

plataforma YClient

Data de Entrada Data de entrada registada associada ao cliente, no calendário da plataforma YClient

Data de Saída Data de saída registada associada ao cliente no calendário da plataforma YClient

Tabela 1: Listagem de Categorias e respetivos Filtros

A representação da listagem destas categorias e atributos, bem como a área de processamento e análise, foi desenvolvida com o pressuposto de que deveria ser envolvida na interface já construída para a criação de uma nova comunicação. A Figura 3, apresenta a interface que é apresentada ao utilizador.

Figura 3: Listagem das categorias e filtros na componente de segmentação visual

A componente visual é o aspeto mais importante neste projeto, por isso, foi aquele sobre o qual recaiu a maior atenção e cuidado. Esta componente contém aspetos dinâmicos que consistem na movimentação dos atributos, por arrastamento, para a área de análise, na conexão dos diversos filtros que estão na área de análise para a construção do filtro global e um momento estático que consiste na seleção das condições impostas aos atributos para a construção de cada filtro. Todo o desenvolvimento

24 teve por base a ideia de obter um componente caracterizado pela simplicidade de processos, grande usabilidade e controlo nas ações do utilizador.

A estratégia passou pela atribuição de um identificador a cada atributo distinto transferido para a área de análise, para posteriormente associar as condições impostas ao identificador, isto é, independentemente do número de vezes que se use um atributo na área de análise, ser-lhe-á atribuído um único identificador.

Ainda sobre o aspeto visual, de forma a tornar intuitiva a utilização do componente, foi adicionado ao atributo dois conectores (endpoints) para estabelecer a ligação com os outros filtros. Além disto, existem mais três elementos associados a cada atributo, um alusivo ao tema a que corresponde, outro com a indicação dos erros que existem no respetivo filtro (que fazem com que o filtro global não funcione) e aquele que abre o modal onde se selecionam as condições e respetivos valores para a construção do filtro. A figura 4 apresenta o aspeto gráfico do filtro.

Figura 4: Exemplo de design de filtro

Um atributo passará a ser nomeado de filtro quando é arrastado e largado na área de análise. Assim que é deixado na área de análise, o atributo adquire o aspeto do filtro, tal como na figura 4.

A área de análise contém de base dois componentes: um de entrada, que se ligará a pelo menos um filtro, e um de saída que recebe a conexão de pelo menos um filtro. Na prática, podemos afirmar que o primeiro componente corresponde a um filtro sem condições, contendo por isso todos os clientes (tem o nome “Todos os Clientes”) e o segundo corresponde à combinação de todos os filtros formando o filtro global (tem o nome “Público Alvo”). As ligações são realizadas através dos conetores. A figura 5 mostra estes dois componentes e a ligação a um filtro através dos conetores.

25 Figura 5: Exemplo de filtro global - clientes que vão celebrar o aniversário nos próximos x dias

Neste processo foram adicionadas algumas restrições nomeadamente:

Todos os filtros têm de ter uma ligação de entrada;

Todos os filtros têm de ter uma ligação de saída;

Um filtro não pode ser ligado a si mesmo, caso contrário seria gerado um ciclo infinito.

Para a seleção das condições para os diferentes filtros, foi adicionado o evento de duplo clique ao ícone com o símbolo de somatório (no atributo), que abre uma nova interface na qual se define o conjunto de valores a considerar no atributo. Para todos os filtros foi criado um objeto com os respetivos campos que eram apresentados na vista propriedades. Através deste objeto foi possível guardar os dados que o utilizador pretendia analisar naquele filtro. Os elementos a apresentar ao utilizador estão relacionados com o filtro selecionado, isto é, a informação que se solicita varia com o tipo de atributo para o qual se está a construir o filtro. A figura 6 mostra um exemplo da definição do valor “Masculino” para o filtro “Género”. A figura 7 apresenta as diversas opções disponibilizadas para a construção do filtro “Produtos Comprados”.

26 Figura 7: Exemplo de vista para preencher propriedades do filtro “Produtos Comprados”

No final, quando o filtro global estiver pronto a ser processado, todos os objetos dos filtros em análise são guardados num array, tal como as respetivas ligações entre os filtros. O array com os objetos dos filtros e o array com as ligações são posteriormente guardados noutro objeto chamado BLSHEME, criado para este fim.

A solução encontrada para o problema lógico da construção de um filtro sem exigir, dos utilizadores conhecimento técnico, passou pela utilização de um componente de visualização gráfica que permite estabelecer ligações entre objetos de forma intuitiva. Para adicionar um operador lógico “e”, a ligação deve ser estabelecida desde o filtro anterior até ao novo filtro, criando uma sequência de filtros tal como demonstra a figura 8. Para adicionar um operador lógico “ou”, a ligação deve ser estabelecida entre o filtro pai e o novo filtro, tal como exemplifica o exemplo da figura 9.

27

No documento COMPONENTE DE SEGMENTAÇÃO VISUAL (páginas 41-49)

Documentos relacionados