recomendação de navegação em portais da internet como um ... msio-joao... · recomendação de...

Post on 11-Jan-2019

219 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

InstitutoPolitécnicodeSetúbal

EscolaSuperiordeCiênciasEmpresariais

RecomendaçãodeNavegaçãoemPortaisdaInternet

comoumserviçosuportadoemferramentasWebAnalytics

JoãoFernandodosAnjosGomes

Dissertaçãoapresentadaparacumprimentodosrequisitosnecessáriosàobtençãodograude

MestredeSistemasdeInformaçãoOrganizacionais

Orientadores:CláudioSapateiro HernaniMourão

Setúbal,2016

i

Índice

1 Introdução............................................................................................................................1

1.1 Motivação.....................................................................................................................1

1.2 Objetivos......................................................................................................................3

1.3 Metodologia.................................................................................................................4

2 RevisãodaLiteratura............................................................................................................5

2.1 ConceitosGerais...........................................................................................................5

2.2 PropósitoseMétodos..................................................................................................6

2.3 AbordagensàRecomendaçãoePersonalização..........................................................7

2.4 APerspetivaWebAnalytics..........................................................................................9

2.5 FerramentasdeRecomendaçãoeWebAnalytics......................................................11

2.5.1 FerramentasdeRecomendação.........................................................................11

2.5.2 FerramentasWebAnalytics................................................................................13

2.5.3 GoogleAnalytics.................................................................................................15

2.6 Discussão....................................................................................................................20

3 RecomendaçãosuportadaemWebAnalytics....................................................................21

3.1 ModeloProposto........................................................................................................22

3.2 LógicadeNotificação.................................................................................................23

3.3 SíntesedoModelo......................................................................................................25

4 ProtótipoDesenvolvido......................................................................................................26

4.1 ArquiteturaGeral.......................................................................................................27

4.2 GoRecommend...........................................................................................................28

4.3 GoRecommendJS........................................................................................................30

4.4 DescriçãoFuncionaldeAplicação..............................................................................32

5 AnáliseeDiscussãodosDadosObtidos.............................................................................35

5.1 AbordagemeResultados...........................................................................................35

5.1.1 1ºCaso–Alteraçãodoobjetivo.........................................................................36

5.1.2 2ºCaso–Adiçãodeumnovoobjetivo...............................................................37

5.2 DiscussãoeAnálisedeLimitações..............................................................................39

6 ConclusõeseTrabalhoFuturo............................................................................................40

6.1 Conclusões..................................................................................................................40

6.2 TrabalhoFuturo..........................................................................................................41

ii

ÍndicedeFiguras

Figura1-DiagramaWebAnalytics............................................................................................10

Figura2-Integraçãoentrecomponentes-PredictionIO...........................................................12

Figura3-Integraçãoentrecomponentes–GooglePredicitonAPI...........................................13

Figura4–AdobeAnalytics.........................................................................................................14

Figura5–Piwik..........................................................................................................................14

Figura6-GoogleAnalytics.........................................................................................................14

Figura7-FerramentasdeWebAnalytics..................................................................................15

Figura8-Númerodeconversõesvsnúmerodevisitas.............................................................16

Figura9-GoogleAnalyticscomoumaferramentadegestão...................................................18

Figura10-Númerodevisitasmensaisagrupadaspelasuaorigem...........................................19

Figura11-Síntesedomodeloproposto....................................................................................25

Figura12-Arquiteturadomodeloproposto.............................................................................27

Figura13-ExemploderespostadoserviçoGoRecommend.....................................................30

Figura14-ExemplodeimplementaçãodabibliotecaGoRecommendJS..................................32

iii

ÍndicedeTabelas

Tabela1-Exemplodeumrelatórioqueconjugamétricasedimensões(GoogleAnalytics).....20

Tabela2-Recomendaçõesparaapáginaobjetivo'/contacts'..................................................36

Tabela3-Recomendaçõesparaapáginaobjetivo'/portfolio’.................................................37

Tabela4-Recomendaçõesparaapáginaobjetivo'/pt/contactos’...........................................38

Tabela5-Recomendaçõesparaaspáginasobjetivo'/pt/contactos’e'/pt/clientes’...............39

iv

Palavras-chave

DataMining,Digitalmarketing,GoogleAnalytics,Recommendationsystems,UserExperience,

WebAnalytics,WebUsageMining

v

SiglaseAcrónimos

API-ApplicationProgrammingInterface

GA-GoogleAnalytics

HTTP-HipertextTransferProtocol

KPI-KeyPerformanceIndicator

OLAP-OnlineAnalyticProcessing

SAAS-SoftwareasaService

UML–UnifiedModelingLanguage

vi

Resumo

Com o constante crescimento da utilização da Internet o número dewebsites e respetivaspáginascontínuaaevoluirtambém,porestemotivo,verifica-seumanecessidadedealinharaexperiência de utilização com os objetivos gerais de um website. Para satisfazer estanecessidadeosistemaderecomendaçãopropostosugerepáginasaoutilizadorquepossamserdo seu interesse combase emperfis de navegação de umwebsite em geral. Amaioria dossistemasderecomendaçãosãobaseadosemregrasdeassociaçãooupalavraschave(quandooconteúdo é considerado). No entanto, quando os dados não são suficientes ou são muitodispersoseaordeméconsiderada,umaabordagemtradicionalpodeserinadequada.Poroutrolado, assumindo outro paradigma, a área de Web Analytics, tem obtido um crescimentoconsiderável,atravésdeferramentasrobustasquepermitemarecolhaeanálisededadosdainternet,a fimdecompreendereotimizareficiênciaeeficáciadowebsite.Opresenteartigopropõeodesenvolvimentodeumsistemade recomendaçãobaseadona ferramentaGoogleAnalytics. O protótipo é composto por dois componentes principais que são: 1) um serviçoresponsávelpelaconstruçãoelógicaassociadaàcriaçãodasrecomendações;2)umabibliotecaincorporávelemqualquerwebsitequeprovidenciaráumwidgetderecomendaçãoconfigurável.Avaliaçõespreliminaresconstataramqueaimplementaçãoseguealógicadomodeloproposto.

vii

Abstract

AstheInternetusagekeepsincreasing,thenumberofwebsitesandhencethenumberofweb

pages also keeps increasing, so there is a need to align the user experiencewith the overall

websitespurposes.Toward this requirement, theproposed recommendation systemssuggest

theuserpagesthatmightbeofitsinterestbasedonpastnavigationprofilesofoverallsiteusage.

Mostofexistingrecommendationsystemsarebasedonassociationrulesorbasedonkeywords

(whencontentisconsidered).However,onusagedatashortageorsparsedataandifsequential

orderistobeconsideredsuchtraditionalapproachesmaybecomeunsuitable.Conversely,the

WebAnalyticsarena,assumingotherparadigm,hasexperiencedaconsiderablegrowththrough

maturetoolsthatallowthecollectionandanalysisofinternetdatainordertounderstandand

optimize website efficiency and efficacy. This work proposes the development of a

recommendationsystembasedontheGoogleAnalyticstool.Theprototypeisconstitutedbytwo

maincomponentswhichare:1)aserviceresponsiblefortheconstructionandassociatedlogic

thatunderliesrecommendationsgeneration;2)anembeddablelibraryonanywebsitethatwill

furnish website with a configurable recommendation widget. Preliminary evaluations had

showedthattheimplementationfollowsthelogicoftheproposedmodel.

1

1 Introdução1.1 MotivaçãoSendo que a Internet apresenta-se atualmente no dia a dia das pessoas e organizações, osfornecedoresadotamnovas formasdemelhorara informaçãoe serviçosdisponibilizadosaoconsumidorconsiderandotambémnovasformasdeinteração,hojeaoalcancedosutilizadores.

Torna-sefundamental,configurandoumavantagemcompetitiva,entenderasnecessidadesepreferênciasdosutilizadores/clientes.Esteconhecimentopodehojeseracionadodediferentesmaneiras,taiscomo,melhoramentodopróprioserviço/produtoe/oucanaismediadores,ouatémesmo dimensionamento de novos. No comércio não digital, as fontes de informação são,principalmente, estudos de mercado realizados por meio de pesquisas e entrevistas aconsumidores.Taismétodos,emboraúteis,sãomuitasvezescaroselimitadosnaamostra.

OsdadosrelacionadoscomanavegaçãoWebtornam-seumafonteprincipalparaexploraredarsentidoagrandesquantidadesdediferentestiposdedados.OsservidoresWebnãosófornecemos respetivos serviços, como também constituem uma fonte de informação útil para osproprietáriosdoswebsites,dadoqueregistamasvisitasàspáginasWeb.Durantealgunsanos,osWeb Logs foram analisados de forma automatizada para acompanhar os utilizadores dowebsiteeasrespetivassessões.

De facto, atualmente o mundo digital abre novos horizontes ao nível da compreensão docomportamentodoconsumidor/utilizador.Noentanto,os registosdeatividadenemsempresãofáceisdeprocessar,econverterestaanáliseemresultadosviáveisémuitasvezesdesafiante(areconstruçãodeumsiteémuitasvezescombaseemtentativaeerro). Infelizmente,nemtodososproprietáriostêmconhecimentoourecursospararealizarestaanáliseeconvergirosresultadoscomosobjetivos.

Paraalémdisso,enquantoosLogsdoservidorsãoalvodeumaanáliseintensiva,muitapesquisafoianexadaaestes,nuncatantotrabalhofoirealizadoaoredordanavegaçãoemgeral.Segundo(Chiarandini, 2014), a navegação pode ser definida de forma diferente do que o caso depesquisa;enquantooutilizadornavegaoobjetivoémenosclarodoqueumapesquisadirigidaporqueanavegaçãonãopodeserexpressaatravésdetexto.Tambémpodeacontecerqueoutilizador não tenha de todo um objetivo definido - navegação intensiva. Adicionalmente(Baeza-Yates,Ribeiro-Neto,&others,1999)classificouaindaqueatarefaemqueosutilizadoresde um sistema de recuperação de informação estão envolvidos, pode classificar-se de duasformas:informaçãooudadosdeconsulta(pesquisa)enavegação.Ambassãoformasemqueosutilizadoresacedemàinformação,sendoaprimeiradeacessoaleatórioeasegundadeacessosequencial.Pode-seentãoassumirqueestadistinçãotambémexistanaestruturadassessõesWeb.

Atualmente, uma atenção considerável é colocada nas aplicações de Data Mining, análisepreditivaeprospeçãodenegócios.Namaioriadasaplicações,ondenormalmenteaexpetativavemdestasprevisõeshánecessidadederecuperarficheirosderegistosdeacessosaowebsiteemquestão.Talcomojáfoimencionado,extrairconhecimentoapartirdestesdadosacarretaváriasexigênciasedestaforma,novosmétodosemergiram,talcomoéocasodasferramentasdeWebAnalytics discutidasna seção2.3.2queemcertamedida fundamentamcom rigor aabordagemdestetrabalho.

2

Apartirdeumaperspetivafuncional,cadawebsiteprecisadeintegraralógicaquemelhoraaconcretização dos objetivos pretendidos que fundamentam a sua própria existência. Taisobjetivos, podem variar consoante as visitas de um utilizador a uma página específica paraconverterpotenciaisinteressados.

Deste modo, sistemas de recomendação foram criados de forma a fornecer orientação,melhoraraexperiênciadeutilizaçãoefinalmenteatingirasmetaspretendidas.

As recomendações podem ajudar os utilizadores do website a focarem-se no objetivopretendidoparaevitardispersões.Podemserfornecidasalgumasindicaçõesdiretas,taiscomo,ondeéquesepodeobterdeterminadainformação?Comoéquesepodealcançaroobjetivo?Etambémassociarconteúdorelacionadoouprodutos/serviços.

Comocrescimentocontínuoeproliferaçãodoe-commerce,ovolumededadosdoutilizador,recolhidospelasorganizaçõesnassuasoperaçõesdiáriasatingiuproporçõesastronómicas.

Analisarestesdados,podeajudarasorganizaçõesadeterminarovalordotempodevidadeestratégias demarketing e produtos/serviços, assim como avaliar a eficácia das campanhaspromocionais,otimizandoa funcionalidadedasaplicaçõesbaseadasnaWeb, fornecendoumconteúdo personalizado/segmentado aos utilizadores e mais eficaz na estrutura lógica dowebsite.

EstetipodeanáliseenvolveaidentificaçãoautomáticadepadrõessignificativoserelaçõesdeumavastacoleçãodedadossemiestruturadosmuitasvezesarmazenadosnaWeb,registosdeacessoebasesdedadosoperacionais.

MiningdeutilizaçãodaWebrefere-seàidentificaçãoautomáticaeanálisedepadrõesnofluxodecliquessubjacenteànavegação,assimcomodadosrecolhidosougeradoscomoumresultadodasinteraçõesdoutilizadorcomosrecursosdaWeb,numoumaiswebsites(Liu,Mobasher,&Nasraoui,2007).Oobjetivoécaptaromodeloeanalisarospadrõesdecomportamentoeosperfis de utilizadores nas suas interações. Os padrões identificados, são geralmenterepresentadoscomocoleçõese/ousequênciasdepáginas,objetosourecursosfrequentementeconsultadosporgruposdeutilizadorescominteressesounecessidadescomuns.

Paraefetuartaisrecomendações,pornormaésolicitadadeterminadainformaçãoaoutilizador.Posteriormente,serárelacionadacomalgumsegmentoouperfildeutilizador,construídocombasenohistóricodenavegação/utilizaçãodowebsite,produzindoarecomendaçãoprocessada.

Existem alguns pontos fracos nesta lógica global, pois nem sempre é possível identificar outilizador(estaidentificaçãoéfeitaatravésdecookiesquepodemnãoestardisponíveisouserpermitidos), a informação mais detalhada sobre os utilizadores muitas vezes requerpreenchimentocompletodoperfil,omesmoutilizadorpodenavegaremdispositivosdiferentese diferentes utilizadores podem navegar num mesmo dispositivo (considerado o mesmoutilizador devido à chave guardadano cookie), omesmoutilizador emborapossa ter algunsinteressesalongoprazopodetambémterinteressesacurtoprazo,quesepodemalterardeformamaisdinâmica(porexemplo,outilizadormuitasvezespodeobterrecomendaçõessobreprodutossimilaresaosquejáadquiriu).

Porexemplo,emsitesdee-commerce,umarecomendaçãodesvirtuadapodeterumresultadosignificativonumacomprafuturadoutilizador(Cho,Kim,&Kim,2002).Recomendaçõespoucoválidaspodemterduascaracterísticasdeerros:falsosnegativos,quesãoprodutosquenãosão

3

recomendados, embora o cliente possamanifestar interesse neles; falsos positivos, que sãoprodutosquesãorecomendadosmesmoqueoclientenãoapresentequalquertipodeinteresse.

Além disso, deve-se reconhecer que o resultado final dos sistemas de personalização nemsemprecoincidecomaperceçãodoutilizadorfinaldetalpersonalização(Li,2016).Noentanto,(Parra&Brusilovsky,2015)mostrouquepermitindoaoutilizadoralgumaformadecontrolarograudepersonalização,mantendoesteprocessoomenosintrusivopossível,produzummelhorenvolvimentoentreoutilizadoreaexperiênciageral.Istopodevircomoresultadoemquealémdosgrandesportaisemqueoperfildeutilizadoréatualizadoregularmenteeosmecanismosdeacompanhamento estão disponíveis devido à identificação do utilizador através deautenticação,eminúmeroswebsitesédifícilrecolherosdadospessoaise,portanto,conheceroutilizador.Destaforma,aidentificaçãodeumutilizadorreincidentenowebsiteeoseucontextoatualéquaseimpossíveldeobter.

Portanto,aorientaçãodestetrabalhosegueumalinhadeidentificaçãoeutilizaçãodepadrõesdenavegação semapreocupaçãodeumapersonalizaçãoaoutilizador. Istoé,não interessatantoa sua identificação,históricoe captaçãodeperfil;mas sim,oemparelhamentoda suanavegaçãonomomento(noseuatualcontextodenecessidades)comospadrõesdenavegaçãosemelhantes que tiveram sucesso considerando o objetivo definido para o website. Oalinhamento das necessidades dos utilizadores e objetivos para o website tem de serconsideradopeloseuadministrador,oâmbitodestetrabalhoabrangejustamentegarantirqueumavezdefinidosoencaminhamentodosutilizadores,esteéeficaz.

1.2 ObjetivosNopresentetrabalhodedissertação,pretende-seconstruirumaferramentaderecomendaçãodenavegaçãoincorporávelemqualquerwebsite.Tendoemcontaque,porvezesumutilizadorporinúmerasrazõespossanãocompreenderofluxodeumwebsite(porexemploporquestõesdedesignoucomplexidadedeumwebsite)estaferramentapodeorientá-lodeacordocomosobjetivos (para este problema concreto a solução passa por visitar determinada página)definidospeloadministradordowebsitequecontempleaestratégiadomesmo.

Aferramentapropostatemporbaseautilizaçãodohistóricodenavegaçãodisponibilizadopelaferramenta:GoogleAnalytics, sendo as recomendações a realizar orientadaspelos objetivosdefinidospeloadministradordowebsitenoGoogleAnalytics.

Oobjetivodestetrabalhopassaporgerartaisrecomendaçõesconsiderandooutilizadornoseucontextodenavegaçãoenãooutilizadorpersi.Assim,asessãodomesmoutilizadornãoéumacomponente necessária de contemplar no desenvolvimento do trabalho, uma vez que estainclusiveaindamantémalgunsdesafiosrelativamenteàidentificaçãodasuaduração,quetêmsido abordados ao longo dos anos numa base heurística. Estudos recentes sobre o assuntoapontaramparaum limiarde60minutos (Halfakeretal.,2015),oua indexaçãoàmédiadetemponaspáginasdowebsite(Dinucă,2012),contudo,namaioriadasvezesolimiaroriginalestabelecido de 30minutos é aplicado como exemplo (Berendt,Mobasher, & Spiliopoulou,2001).

Em termos funcionais, o objetivo do trabalho corrente passa pelo desenvolvimento de umabibliotecacombasenalinguagemJavascriptquedisponibilizaumwidgetaoutilizadorquando

4

estasejaincorporadanumwebsite.Estewidgettemcomofunçãoaexibiçãodasrecomendaçõesealgumasfuncionalidadesextradescritascommaiordetalhenocapítulodoprotótipo.

AbibliotecaJavascriptconsomeumserviço,tambémpropostonodesenvolvimentoaplicacionalnumavertentedesoftwareasaservice(SaaS)responsávelporconsultarosdadosreunidospelaferramentaGoogleAnalyticscomosparâmetrosdepesquisa identificadoscomonecessários,produzindorecomendaçõescombasenosutilizadoresqueatingiramosobjetivosdefinidospeloadministrador dowebsite. Este serviço é o responsável por alimentar a biblioteca Javascriptmencionada anteriormente com as recomendações produzidas e indicar qual é omomentocertoaexibirasmesmas,tendoemcontaostemposmédiosdeabandonodeumadeterminadapágina.Alógicaimplementadanoserviçoédevidamentedetalhadanodecorrerdotrabalho.

1.3 MetodologiaPara a realização da presente dissertação é utilizada umametodologia de trabalho em queprimeiramentefoianalisadooestadodaartequesedivideemrevisãodaliteratura,ferramentasderecomendaçãoeWebAnalytics.

No capítulo de estado da arte são identificados os problemas e diferentes abordagensimplementadasnaáreaderecomendação/personalizaçãodeutilizadoresWeb.RelativamenteaocapítulodeFerramentasdeRecomendaçãoeWebAnalitycssãoapresentadasediscutidasalgumas ferramentas demachine learning utilizadas para recomendação e ferramentas deanáliseWeb com objetivo de recolha e criação de relatórios estatísticos do tráfego de umwebsite.ApósintroduzidootermoWebAnalyticseoseuconceito,éapresentadacommaiordetalheaferramentabasedesteprojetooGoogleAnalyticseosseusobjetivos.

Apósintegraçãocomoestadodaarteeabordagensderecomendação/WebAnalyticssegue-sea proposta de recomendação suportada em Web Analytics onde está descrito o modelopropostoe todaa sua lógica subjacente.Umavezestabelecidoomodeloprocede-se aumaimplementaçãodorespetivoprotótipofuncional.Paratal,define-seasuaarquiteturageralerelação entre os diferentes componentes domesmo. Após conclusão desta fase de análiseconcretiza-se a implementação/especificaçãodo serviçoGoRecommend queéo responsávelpelacriaçãodasrecomendaçõesebasedabibliotecaGoRecommendJS,queestáimplementadaseguidamente,responsávelpelacamadarepresentacionaldoprotótipo.

Dando-seporconcluídaaimplementaçãoépossívelrealizaradescriçãofuncionaldaaplicaçãoatravésdeumcasopráticoescreenshotsrepresentativos,queseinseremnestedocumento.

Comoprotótipoconcluídoédescritaaabordagemdeavaliaçãoquemelhordemonstraoseupotencial atravésde recolhadedados reais (subjacentesporquestõesde confidencialidade)confrontadoscomomodelo.Discutem-seosresultadoselimitaçõesidentificadas.

Porúltimorealiza-seumareflexãorelativamenteàcontribuiçãoqueestetrabalhopossatrazeràcomunidadeeoestudoquepodeserdesenvolvidocombasenesteconceito.

5

2 RevisãodaLiteratura2.1 ConceitosGeraisExtrairconhecimentosobreosutilizadoresdaInterneteoseuhistóricodenavegaçãotemsidoumaáreadepesquisaparamuitosdomíniosdeaplicação,desdeaprocurapormelhoriasnaexperiênciadeutilização(Ex:recomendaçãoepersonalização),àprocuradaeficácianoesforçodemarketingdigitalsegmentadoedestaformaalcançaroutilizadorcomconteúdosrelevantes.Independentementedoobjetivo,asdiferentesabordagensquetêmsidoadotadasenfrentamváriosdesafioscomuns.Nestecapítuloemqueseabordaumacaracterizaçãoglobaldotrabalhorelacionado na área, serve a presente subsecção para estabelecer a base sobre conceitos eterminologiaaserconsideradanassubsecçõesseguintes.

OtermoWebMiningtornou-semuitopopularprincipalmentedevidoàaplicaçãodetécnicasdeprospeção de dados para extrair conhecimento a partir de dados da Web, incluindodocumentos, hiperlinks, registos de utilização de websites, etc. (Mehtaa, Parekh, Modi, &Solanki,2012).

Atualmente,aáreadeWebMiningcompreende3categoriasprincipais:

1) WebMiningdeconteúdo;2) WebMiningdeestrutura;3) WebMiningdeutilização(ounavegação).

Web Mining de conteúdo é o processo de extração de informação semântica a partir deconteúdodedocumentosWeb,taiscomo,textosouimagenstransmitidasaoutilizadorfinal.Talprocessoenglobaadescobertaderecursos,categorizaçãoeagrupamento.

WebMiningdeestruturafoca-senaestruturadehiperlinks,normalmenteenvolvendoaanálisedoshiperlinksdeentradaesaídadepáginasWeb,estemétodoéusadopelosmotoresdebuscapara classificação de resultados (Mehtaa et al., 2012). Este tipo deMining permite extrairconhecimentosobreaorganizaçãointraeinterpáginas.

WebMiningdeutilização,consisteprincipalmentenaaplicaçãodetécnicasdeDataMiningparacompreender e servir as necessidades dos utilizadores das páginasWeb (Srivastava, Cooley,Deshpande,&Tan,2000).Tipicamente,nosdadosreunidosparatalanáliseinclui-seendereçosdeIP,navegadorutilizado,páginasvisitadas,origemetempoempágina,procurandoaeliciaçãode padrões de utilização para informar domínios de aplicação tais como: personalização,recomendação (orientada pela navegação, não a baseada em conteúdo) ou interfacesadaptativas.

OprocessodeWebMiningcompreendeofluxotípicoassociadoàs iniciativastradicionaisdeDataMining:recolhadedados,pré-processamento(limpeza,formatação,relacioná-losealinhá-losparaqueserevelemcompatíveis/acionáveisconsiderandoautilizaçãopretendida),aplicaro(s) método(s) de análise de eleito(s); e quando não se trata de uma iniciativa somenteexploratória e/ou descritiva, produzir consequentemente um modelo e utilizá-lo paraclassificaçãoe/ouprevisãoatendendoaosobjetivosfinaisdefinidos,porexemplo,sistemasderecomendaçãoe/oupersonalização.

6

AsprincipaisfontesdedadosusadasparaWebMiningsãoosLogsdeacessoaservidoresWebeLogs aplicacionais. Fontesdedadosadicionais tambémsãocomplementarmenteutilizadostantoparaapreparaçãodosdadoscomoparaseuprocessamentonaidentificaçãodepadrões,incluindo ficheiros dowebsite, metadados e bases de dados operacionais. Em alguns casospodemestardisponíveisdadosadicionaisdevidoàrecolhadosmesmosnoladodoutilizador,porexemplo,nainformaçãopersistidaemcookies,oudisponibilizadaemcontasquecontenhamperfisdeutilizadores(contemplando,e.g.dadosdemográficosepreferências).Tambémserviçosglobais de agregação de dados e monitorização de tendências como: ComScore(www.comscore.com),NetRatings(www.nielsen-netratings.com)eAcxiom(www.acxiom.com),constituempotenciaisfontesadicionaisacomporoucruzarnaexploraçãodosdados.

2.2 PropósitoseMétodosOcorpodotrabalhoemWebMiningpodeserenquadradoemcincograndesâmbitos:1)Análisedesessões,2)Análisedeagregaçãoesegmentaçãodeutilizadores,3)Análisedeassociaçõesecorrelações,4)Análisesequencial (temporal)edepadrõesdenavegaçãoe5)Classificaçãoeprevisãobaseadanastransaçõesdoutilizador(Liuetal.,2007).

Análisedesessõeséumaabordagemcomumparagerarmedidasestatisticamenteagregadassobresessões.Técnicaspadrãodeestatísticasãoutilizadasparaadquirirconhecimentosobreocomportamento geral dos utilizadores, considerando, por exemplo, hora do dia, páginasfrequentementeacedidasoudeentradaesaída,tempoempágina,etc.Noentanto,outraformadeanálisedesessõeséaanáliseintegradadedadosdeutilizaçãoatravésdaabordagemOLAP(OnlineAnalyticalProcessing) (Alves,Belo,&Costa,2007).AabordagemOLAPassentanumaestrutura mais integrada para análise com maior flexibilidade e em diferentes níveis degranularidade.AfontededadosparaaanálisedeOLAPrecaigeralmentenaconstruçãodeum(híper) cubo. Um cubo de dados que pode ser visto como uma estrutura de matrizmultidimensional,emquecadadimensãorepresentaumconjuntodeatributosecadacélulaarmazena, o valor agregado de uma medida, como contagem, soma, etc. Este tipo derepresentação de dados suporta uma navegação exploratória através das dimensões erespetivosatributos.Osdadossãocarregadosatravésdeumabasededadosmultidimensionalque mantém um modelo de dados dimensional desnormalizado integrando as dimensõesselecionadas para análises (co)relacionadas. As ferramentas OLAP permitem hierarquias ealteraçõesnosníveisdeagregaçãoao longodecadadimensãoduranteaanálise.Análisededimensõesnestetipodeestruturaspodeserbaseadanosváriosatributosdisponíveis;atributosdomodelodimensionale.g.duração,domínio,recursoutilizado,navegador,origem;obtidosapartir de fontesoriginais (comopor exemploLogs) que carregaram segundooprocesso ETL(Extract-Transform-Load)omodelodimensional(Kimball&Ross,2015).Assimpermite-sequeaanálisesejaefetuadaempartesdoLogcorrespondentesaumperíododetempoouaumníveldiferentedeabstraçãocomrespeitoaqualquerdimensão.

A abordagem OLAP pode ser estendida a outros âmbitos deWeb Mining. Por exemplo, aintegraçãodedadosdee-commerce,quandopresentes,exploraaindamaisopotencialdestaorientação analítica para providenciar métricas importantes para o negócio (exemploparadigmáticonodomíniodeBusinessIntelligence,quepodeabrangerosváriosâmbitos).

7

TambémécomumqueresultadosdaexploraçãoeanáliseOLAPsejamutilizadosparainformaraseleçãodemétodoscomplementaresdeDataMiningutilizadosnosrestantesâmbitosdeWeb

Mining.

Aanáliseporagrupamentodedados(clustering)constituiumadastécnicasdeDataMiningqueagrupaumconjuntodedadosquetenhamcaracterísticassemelhantes.Nodomíniodaanálisede utilização/navegação de um website, existem 2 tipos principais de agrupamentosinteressantesquepodemseridentificados:gruposdeutilizadoresegruposdepáginas(Hassan&Karim,2011).Agruparregistosdeutilizadores(sessõesoutransações)éumadastarefasmaisutilizadasemWebMiningdeutilizaçãoeWebAnalytics(queseráabordadonasecçãoseguinte),queprocuraestabelecergruposdeutilizadoresquecontêmpadrõesdenavegaçãosemelhantes.

Poroutrolado,oagrupamentoporpáginaspodeserefetuadocombasenascaracterísticasdeconteúdo associado (palavras chave ou atributos). No caso do agrupamento com base noconteúdo,osresultadospodemsergruposdepáginasouprodutosrelacionadoscomomesmotópicooucategoria.

Umaoutraabordagemsuporta-senadescobertaderegrasdeassociaçãoeanálisedecorrelaçãotendo como objetivo encontrar grupos de itens ou páginas frequentemente consultadas ouadquiridasemconjunto.Porsuavez,permiteorganizaroconteúdodewebsitese/ounavegaçãodeformamaiseficiente,oupromoverrecomendaçõestransversaiscomeficácia.

Na verdade, uma das principais aplicações deMining em regras de associação, quer emutilização Web, assim como dados e-commerce é a recomendação (que será discutidaespecificamentenasubsecçãoseguinte).

Seforintroduzida,adimensãotempo,tem-seumaorientaçãodiferentedaanálise.Atéaqui,foiconsideradaaorientaçãoporsemelhançasouassociações.Aanálisedepadrõestemporaiséuma técnica específica deMining que tenta encontrar tendências maioritariamente inter-sessões.Talanálisepermite,porexemplo,otimizaromarketingWebprevendoanaturezadevisitas futuras. Outros tipos de análise temporal que podem ser efetuados sobre padrõessequenciaisincluemdeteçãodepontosdemudança(detendência)eanálisedesimilaridadesesingularidades.

Muitos dos métodos acima referidos, permitem em última análise informar modelos deprevisão.Existemváriosmétodoscujasuanaturezaéaclassificaçãoeprevisão.Aclassificaçãoconsisteemmapearumconjuntodedadosemvárias classespredefinidas (e.g.previamenteidentificadas segundo alguma das abordagens anteriores). No domínioWeb tal consiste emdesenvolveroperfildosutilizadoresquepertencemaumaclasseoucategoriaemparticular.Oquerequeraextraçãoeseleçãodecaracterísticasquemelhordescrevemaspropriedadesdeumadeterminadaclasseoucategoria.Aclassificaçãopodeserefetuadapormeiodealgoritmosdeaprendizagemesupervisionados,taiscomo,árvoresdedecisão,classificadoresBayesianos(NaiveBayesnetworks),máquinasdevetoresdesuporte(SupportVectorMachines).Umaveztreinado,éavaliadooclassificador,eeste,poderáserutilizadoparaprevisão.

2.3 AbordagensàRecomendaçãoePersonalizaçãoConformeintroduzidonasecçãoanterioraabordagemmaiscomumàrecomendaçãosuporta-senadescobertadeassociaçõestipicamentebaseadasnumadasmuitasvariantesdoalgoritmo

8

Apriorioriginal.Oobjetivodestesalgoritmoséencontrargruposdeitensquejuntosocorremfrequentemente em muitas transações, com a consideração de diversos critérioscomplementares (Slimani & Lazzez, 2014). Embora muito utilizados e com resultadossatisfatórios para a identificação de associações, a recomendação com base em regras deassociaçãoinerentementeenfrentadegradaçãoseoconjuntodosdadosfordisperso(Kasliwal&Katkar,2015)(Dinucă,2012).EsteéfrequentementeocasoemWebMiningdeutilizaçãopoisasvisitasdosutilizadorescobremapenasumapequenafraçãodositensdisponíveise,portanto,muitasvezesédifícilencontrarumnúmerosuficientedeitenscomunsnosdiferentesperfisdeutilizadores. Existem várias propostas para superar tais limitações (Liu et al., 2007)], porexemplo, reduçãodonúmerodedimensões (maspodemestara serdescartadasdimensõesinteressantesparaospadrõesfinais);ouemalternativa,reduzindooladoesquerdodasregrasnouniversoderegrasglobais,considerandoocaminhopercorridopelasessãoativa,reduzindoarestriçãodeumacompletacorrespondênciacomaregranoseuladoesquerdo.

Uma área com grande aplicação deWebMining é de facto a recomendação e ainda a suafrequenteutilizaçãoparapotenciarpersonalizaçãocomobjetivodemelhoraraexperiênciadoutilizador.Emborasejamáreas(recomendaçãoepersonalização)distintaspersi,nãoéincomumutilizarrecomendaçõesnapersonalização.Deformageral,ossistemasdepersonalizaçãoWeb,dada a sua finalidade e complexidade podem ser enquadrados de acordo com (Suguna &Sharmila, 2013) nos principais tipos seguintes: 1) memorização, a forma mais simples depersonalização,ondeasinformaçõesdoutilizadorcomoonomeehistóricodenavegaçãosãoarmazenadas(porexemplo,usandocookies),paramaistardereconheceroutilizadorquandoestevoltar;2)Personalização,recolherinformaçãosobreoutilizadoratravésdeformulárioscomoobjetivodepersonalizarconteúdoeestruturadowebsite(oprocessoglobaltendeasernomáximo semiautomático, pois exige sempre alguma resposta por parte do utilizador); 3)Orientação ou recomendação, recomendar/auxiliar navegação ou conteúdos consideradosrelevantesparaosinteressesdoutilizador(implicitamenteinferidos,comoporexemplo,perfilde navegação, ou explicitamente, como por exemplo, formulários de preferências dosutilizadores)afimdefacilitaroacessoàinformação/produtonumgrandewebsite;4)Apoioaodesempenhodetarefas,executandoaçõesemnomedoutilizador.

AlémdosalgoritmosdeMiningjámencionadosacima,comparticularrelevânciaparaasregrasde associação em sistemas de recomendação, existem duas abordagens complementaresutilizadas na recomendação e personalização: a recomendação baseada em filtragem deconteúdoearecomendaçãobaseadanafiltragemcolaborativa.

Natécnicadefiltragembaseadaemconteúdo,arecomendaçãodepáginasconsideraositensem que o utilizador tenha classificado anteriormente com base no seu perfil. O perfil doutilizadorpodeserconstruídoexaminandorespostasapequenosquestionários(porexemploformulários de registo que explicitamente recolhem preferências), classificação de itens ouhistórico e padrão de navegação do utilizador. Este método de recomendação dependefortementedaexperiênciapassadapeloutilizadoremesmoquandopossivelmentesabermaisacerca do mesmo. A sua caracterização contextual continua a ser um desafio, dados osinteressesdinâmicoseoportunistas(porexemploapósumacompraespecifica,oseuinteressepodemudaracurtoprazoouatémesmoofoconowebsite)(Nadi,2011).

Naabordagemdefiltragemcolaborativae.g.(Riecken,2000),páginasWeb (ouprodutos)sãorecomendadas a um utilizador particular quando outros utilizadores semelhantes tambémpreferem as mesmas páginas. A definição de "semelhança" entre utilizadores depende das

9

aplicações que utilizam os sistemas de recomendação, por exemplo, podem ser definidosutilizadores semelhantes quando estes atribuem classificações próximas a páginasWeb ouwebsites,assimcomo,utilizadorescompadrõesdenavegaçãosemelhantes.Estaabordagemtambéméalvodealgumacriticaapontandoduasdesvantagensespecíficas:1)Dispersãoe2)Escalabilidade (Suguna& Sharmila, 2013). Sendo a dispersão, a quantidadede classificaçõesobtidasanteriormente,podendoterordensdegrandezamenorqueonúmerodeclassificaçõesquenecessitamrealmentedeserprevistas.Emrelaçãoàescalabilidade,decorreque,emgeralcálculosmuitolongospodemsernecessáriosquerpelocrescimentodonúmerodeutilizadores,querpelonúmeroderecomendações(porexemploprodutos/páginas).

2.4 APerspetivaWebAnalyticsAassociaçãodeWebAnalyticsdefineamesmacomoa“medida,recolha,análiseecomunicaçãodedadosdaInternetcomoobjetivodecompreendereotimizarautilizaçãodaInternet”.

De acordo com (Nakatani& Chuang, 2011),WebAnalytics é utilizado para compreender osclientes online, assim como os seus comportamentos, a influência do design para que sejapossível tomardecisõesbenéficasparaonegócioealcançarosobjetivosdaorganização.Osautoresressalvam,noentanto,queoobjetivodaanáliseWebnãoéapenasotimizarpáginasdowebsite,masdeapoiaraconcretizaçãodosobjetivosglobaisdeumaorganização.

OcampodeanáliseWebcomeçounoiníciodosanos90comaexpansãodaInternet.Aolongodetodosestesanosevoluiuetornou-seumapartevitalnodesenvolvimentodeumwebsite.Dos500websitesmaisconsultados,91%implementamWebAnalyticsparaguardarinformaçõessobreosseusutilizadores(Hamel,2012).Apesardeserutilizadohámaisde2décadasaanálisedaWebaindaestáemfasedecrescimentoinicialdoseuciclodevida,poisexisteumaevoluçãocontínuacommétodosmaisavançadosaseremcontinuamenteintroduzidos.

Tal como referido anteriormenteWeb Analytics tenta compreender os utilizadores de umwebsite através da análise das métricas recolhidas para que a eficácia dos websites sejamelhorada.ViaWebAnalyticspode-seinferircomportamentodosutilizadoresfaceaoscliquesrealizados,àssuaspesquisasdentrodedeterminadowebsite,permitindoaoanalistadetetaroslocaisexatosdecliques,asuafrequênciaefluxo.

Osresultadosdestasanálisessãofornecidosporpartedeespecialistassobaformadetabelas,gráficosoudiagramas,cujoresultadodaanáliselevarápotencialmentearedesenhodeimagem,estruturaeconteúdodesecçõesdowebsite.

10

Figura1-DiagramaWebAnalytics

(fonte:http://www.canadianschoolguide.com/what-is-web-analytics.php)

Emsuma,WebAnalyticsnãoéapenasumprocessoparamedirotráfegonaInternet,massim

uminstrumentoacionávelparaváriosobjetivos.Algunsexemplossão:apesquisadenegócios

e/oumercados,avaliaçãoemelhorianaeficiênciaeeficáciadeumwebsite,ounaquantificação

daeficáciadecampanhasdemarketing.

Efetivamenteépossíveldeformaestruturadaesistematizada:

• Avaliarquantitativamenteaqualidadedeumwebsite;

• Realizaranálisescomparativas;

• Identificarpadrõesdowebsite;

• Demonstraralinhamentocomobjetivosdonegócio;

• Avaliarexperiênciadeutilização.

AsaplicaçõesWebAnalyticspodemauxiliarnaavaliaçãoderesultadosrelativamenteaoimpacto

decampanhasmesmoemcanaistradicionais(e.g.televisão),poiscadavezmaisestasremetem

para as plataformas digitais que semonitorizadas, alimentarão indicadores passíveis de ser

contrastadoscomosobjetivosdacampanha.

WebAnalytics é utilizado para compreender os padrões de uso do site e de navegação dos

utilizadorese forneceraosgestoresdemarketing ummecanismoperspicazparamelhoraro

desempenhodowebsite.

Complementarmente, ter acesso a informações sobre os utilizadores do website ajuda os

próprios programadores a tomar decisões apropriadas sobre o desenvolvimentodomesmo.

Quantomaisconhecimentodisponívelsobreosutilizadores,mais fácilserásatisfazerassuas

necessidades.(Phippen,Sheppard,&Furnell,2004)afirmamqueaanáliseWebéfundamental

para o sucesso dos websites. Baseado no seu estudo, as organizações que adotaram e

integraramaanáliseWeb têmvindoacolherbenefíciosmúltiploseadescobrir informações

valiosassobreosseusclientes.Oconhecimentodocomportamentodosutilizadorespermite

queumsitepossacriarumarelaçãofortecomomesmo,poistrarásatisfaçãoàsuautilização.

ComojáreferidoasferramentasdeWebAnalyticspermitemarecolhadeinformaçõesmuito

detalhadassobreosvisitantes, incluindoaquantidadedetempogastoemumadeterminada

página,alocalizaçãofísicadeumutilizador,ocaminhodenavegaçãodomesmo,etc.Noentanto

pode ser sensível tirar conclusões definitivas sobre os dados reportados pelas ferramentas.

(Kaushik, 2008) dá o seguinte exemplo: qualquer ferramenta deWeb Analytics indica que

11

páginasdeumwebsitesãomaisvisitadas,mascombaseemdadosdefluxodecliquesédifícil

dizerseessaspáginastêmrealmenteoconteúdoqueosutilizadoresprocuram.Arazãopara

visitasfrequentespodeserapenasumsistemadenavegaçãoenganosooudesequilibrado.O

quecomplicaaindamaisoproblemaéadiversidadedeutilizadores,poisoswebsitesservem

váriosgruposdeinteressadosaomesmotempoediferentesgrupostêmrazõesdiferentes.A

interpretação das métricasWeb pode inclusive ser muito simplificada quando o efeito de

variáveisintervenientesnãoéconsiderado,estasnãodevemserexaminadasseparadamente,

massimemconjuntocomoutrasmétricasdonegócio.

2.5 FerramentasdeRecomendaçãoeWebAnalyticsNestaseçãosãoabordadasinicialmentealgumasferramentasderecomendação,objetivosdasmesmas e alguns exemplos. Posteriormente as ferramentas deWeb Analytics com maiordestaqueparaaferramentadeWebAnalyticsbasedestetrabalhooGoogleAnalytics.

2.5.1 FerramentasdeRecomendaçãoAsferramentasderecomendaçãoalteramaformacomoosutilizadoresdoswebsitesinteragemcomestes.Aoinvésdesecingiraumaexperiênciaestáticaemqueosutilizadorespesquisamdeterminados conteúdos/produtos, dotam-nos de uma interatividade adicional paraprovidenciar uma experiência melhorada de utilização. As ferramentas de recomendaçãopreveemasnecessidadeseexpectativasdeumutilizadorespecíficocombasenoseuhistóricodevisualizações,pesquisas,comportamentoepreferências,constituindoeconsiderandooseuperfil,operfildeoutrosutilizadoresecaracterizaçãodosconteúdos/produtos.

Pornorma, as listasde recomendaçãoproduzidasnestas ferramentas suportam-senumadeduas abordagens principais: filtragem colaborativa e filtragem com base em conteúdo, cujoprincípioelógicasubjacentesforamjáexpostosnasecçãoderevisãodaliteratura.

Segue-seumabreveapresentaçãodealgumasferramentasrepresentativasnestaárea,focandoosseguintesaspetos:comoestasferramentassãodisponibilizadas,atravésdeumserviçooucomoumaaplicaçãolocal,oscomponentesprincipaisqueasconstituemeasualógicaprincipaldefuncionamento.

PredictionIOOPredictionIOéumserviçodeMachineLearningOpenSourcefornecidoporumservidorquedisponibilizaumaapplicationprogramminginterface(API)àqualépossívelfazerpesquisascombasenosdadoscarregadosquederamorigemaomodeloderecomendação.

PredictionIOécompostopelosseguintescomponentes:

• PlataformaPredictionIO–ConjuntodeferramentasOpenSourceparacompilar,avaliareproduzirresultadoscombaseemalgoritmosdemachinelearning;

• Servidor de Eventos – Camada de Analytics para compilar eventos de múltiplasplataformas;

• Galeria deTemplates –Onde estão disponíveis os diferentes algoritmos demachine

learning.

12

Comofunciona:

O servidor de eventos coleciona continuamente os dados reportados pelas diferentesplataformas. Posteriormente os dados são tratados pelos algoritmos de machine learningescolhidosdagaleriadetemplatesesãoconstruídosmodelospreditivosquesãocompiladosparaumserviçoWebquerecebefiltroscomoparâmetroserespondecomprevisõesemreal-time.Aarquiteturalógicaestáilustradanafiguraabaixo.

Figura2-Integraçãoentrecomponentes-PredictionIO

(fonte:http://predictionio.incubator.apache.org/start/)

OPredicitionIOprovidenciaummotorderecomendaçãobaseadonaferramentaApacheSparkMLlib'squeporsuavezaplicaoalgoritmodefiltragemcolaborativapordefeito.

GooglePredictionAPIOGooglePredictionAPIéumserviçotodoelebaseadonacloudquepermiteconstruirmodelosdemachinelearning.Providenciaumconjuntodeferramentasdeprevisãoquepodemajudaraanalisar os dados de um determinado modelo para alimentar outras aplicações, tais comoanálisedesentimentosdocliente,deteçãodespam,sistemasderecomendação,etc.

GooglePredictionAPIécompostopelosseguintescomponentes:

• Google cloud storage – Nuvem de armazenamento para a qual omodelo de dadosdefinidopeloutilizadorécarregado;

• API–Serviçoatravésdoqualoutilizadorpodecarregardadosparaacloud storage,formataressesmesmosdadoseposteriormenteefetuarpesquisassobreosmesmos.

Comofunciona:

EmprimeirolugardevesercriadoumprojetonaplataformaGooglecloud.Apósoprojetocriadoépossívelcriarváriosmodelosdetreino,paraissobastacriarumnovo“bucket”comumnomeúnicoecarregarosdadosdetreino(ogoogledisponibilizatambémumaAPI),atravésdaqualépossívelcarregarummodelodadospreviamentedefinido),assimqueomodeloforcarregadoé

13

possívelconsultaroestadodotreino,sabendoseestejáfoiconcluídoounãoeobterinformaçãoacercadograudeprecisãodosresultadoseoutrosmetadados.

ApósotreinodosdadosédisponibilizadaumaAPIondeépossívelpesquisarporprevisõesemtempo real com base nos modelos treinados, tendo como vantagem o grande nível deperformancepoisarespostadaAPInuncaésuperiora200ms.

Figura3-Integraçãoentrecomponentes–GooglePredicitonAPI

(fonte:https://cloud.google.com/prediction)

2.5.2 FerramentasWebAnalyticsWebsite,blogouaplicaçãomóvel,emqualquerdoscasoséimportantemedireacompanharo

desempenhoeoimpactodecadaumadestasplataformasrelativamenteàutilização/consumo

daofertadeconteúdos/produtos,considerandonãosóoconteúdocomotambémanavegação

subjacente.

Através do acompanhamento das estatísticas e da interpretação destes dados é possível

conhecerosperfisdosutilizadores(porexemplo,quetipodeconteúdosdeleituraapreciamou

não)e, consequentemente, implementarmelhoriasquepermitam tornarowebsite, blog ou

aplicação móvel mais atrativos, indo ao encontro dos seus interesses com uma melhor

usabilidade e experiência de navegação.Há diversas ferramentas nomercado intuitivas que

transformamainformaçãorecolhidanumrelatóriofácildeconsultar.Existemdiferentestipos

delicenciamentodeutilização,sendoalgumasdestas,pelomenosrelativamenteaumconjunto

defuncionalidades,gratuitas.Embaixoapresenta-sealgumadasferramentasmelhorcotadas

deacordocomaFigura7-FerramentasdeWebAnalytics,paraanalisarotráfegodowebsite.

14

Adobe Analytics (Pago) – O Adobe Analytics é maiscompleto que oGoogleAnalytics, no entanto não existeuma versão gratuita desta ferramenta. O Adobe utilizarelatórios demarketing, de vendas, relatórios de todo ocomportamento do utilizador, entre outros. Trata-se deuma ferramenta que permite a análise em tempo real,funcionandomuitobememdispositivoscomoostablets,smartphonesedesktop.

Piwik (Gratuito) - é um software OpenSource, que permite acompanhar e analisar

várioswebsitesemtemporeal.Paraalémdefornecergráficosetabelasdetalhadassobreas

característicasdosutilizadoresedasuautilização,estaplataformapermiteaindacriarobjetivos

eacompanharcampanhas.UmadasprincipaiscaracterísticasdoPiwiké

que é uma ferramenta bastante personalizável. Por exemplo, o painel

principaléconstituídoporumasériedewidgetsquepodemsertrocados

oureorganizadosdeacordocomaspreferênciasdecadaum.Paraalém

disso,aocontráriodoqueacontececomoGoogleAnalytics,osdadossão

propriedade do administrador, fazendo com que estes não possam ser partilhados com

terceiros.

GoogleAnalytics(Gratuito)–OGoogleAnalyticséaferramentamaisconhecida.Aassinatura

da Google é, muitas vezes, motivo suficiente para esta ser a

primeiraescolhadasempresas.Aacrescentaraistoestáofacto

desergratuito,flexívelefácildeusar,permitindomonitorizarem

tempo real um blog, website ou aplicação móvel e aceder a

gráficos e tabelas com informações detalhadas sobre os

utilizadores,origemdotráfego,etc.Estaplataformadisponibilizaumasériederelatóriospadrão

sobreascaracterísticasecomportamentosdopúblico-alvo,quepodemserpersonalizadosde

acordocomosinteresseseobjetivosdecadaum.

Umadasprincipais vantagensdoGoogleAnalytics, épermitir estabelecerobjetivos,ou seja,

configurarumasériedelinkscomobjetivodeconsultanowebsite.Destaformaépossívelajustar

e avaliar estratégias relativamente a campanhas demarketing digital e/ou experiência de

utilização,facilitandooacessodoutilizadoratéestaspáginas.

O Google Analytics também dispõe de um “mapa de calor” definido como Heatmap que

representa graficamente dados, onde os valores assumidos por uma variável num mapa

bidimensionalsãorepresentadosporcores.Oobjetivoéanalisarasáreasondeosutilizadores

estãofocados,atravésdecliquesemovimentosdorato.

Tendo neste trabalho adotado a utilização doGoogle Analytics, como se justifica na secção

discussão,no finaldestecapítulo,asuaestrutura,abordagemeconceitossãodescritoscom

maiordetalhenasecçãoseguinte.

(fonte:

https://www.adobe.com/marketing-

cloud/web-analytics.html)

Figura4–AdobeAnalytics

Figura5–Piwik (fonte:

https://piwik.org)

Figura6-GoogleAnalytics

(fonte:

https://www.google.com/analytics)

15

Seguidamente,podemosverificarumatabelacomarelaçãofrequênciadepesquisaecotaçãodas ferramentas de Web Analytics, com origem na plataforma líder Trustradius

(https://www.trustradius.com),ondeoobjetivopassapelapartilhadecriticas/opiniõessobreexperiênciasorganizacionaisnaadoçãodedeterminadasferramentas:

Figura7-FerramentasdeWebAnalytics

(fonte:https://www.trustradius.com/web-analytics)

2.5.3 GoogleAnalyticsAs bibliotecas JavaScript do Google Analytics utilizam cookies HTTP (hypertext tranferprotocol)paraidentificaroutilizadornumwebsite.Estaidentificaçãoocorrearmazenandoumidentificadorúnicoparaqueositepossaleresseidentificadorseoutilizadorvoltarnovamentee desta forma reconhecê-lo com base nos dados colecionados anteriormente. O Google

16

Analyticsarmazenatambéminformaçõessobreaspáginas,visitasdoutilizador,a frequênciacomqueesteutilizaositeequantotempopermanecenomesmo.

Objetivos

AmissãoprincipaldoGoogleAnalyticséperceberdeumaformageralcomoéqueosutilizadoresse comportamaonavegarpelasdiversaspáginase secçõesdecada siteenãoapenas saberquantosutilizadoresofazem.

Por exemplo, é com base nas informações colecionadas através do Google Analytics quepodemos analisar se os visitantes de um determinado site estão a ter um comportamentodesejadocomorespostaaumadadacampanhademarketingonline.

OGoogleAnalytics apresentavários instrumentosparaquantificaressasavaliações,quevãopara além do simples carregamento e monitorização do código de acompanhamento naspáginas. Um desses instrumentos do Google Analytics são os objetivos. Estes permitemmonitorizarumdesteselementos:

• quantaspessoaschegamaumacertapágina(predefinida);• quantaspessoasficamnosite/paginaumdeterminadointervalodetempo;• quantaspessoasviramumnúmeromínimodepáginasnosite;• quantas pessoas desencadearam um determinado evento (e.g. preencher um

formulário).

Porqueéqueosobjetivosdevemsercriados?

Os objetivos dão-nos uma boa quantidade de informação útil. Com objetivos podemosmonitorizar se as pessoas que estão num determinadowebsite, estão a fazer aquilo que ésuposto estarem a fazer (visitar uma página, uma venda, ver um vídeo, preencher umformulário,etc).Anavegaçãoquelevaàconcretizaçãodosobjetivosoriginaasconversões,i.e.,dosvisitantesquantosatingiramosobjetivosestabelecidosnamonitorização.Nafiguraabaixopodemosverificaracorrespondênciaentreonumerodevisitasetotaldeobjetivoscumpridos.

Figura8-Númerodeconversõesvsnúmerodevisitas

(fonte:http://www.pitstopmedia.com/sem/visits-goal-report-google-analytics)

17

OsobjetivospodemsercriadosnasecçãodeadministraçãodopaineldoGoogleAnalytics.OutilizadordeveclicaremObjetivos,eparacriarumobjetivo,clicaemNovoObjetivo.Irádispordeumtotalde20objetivos.Seoutilizadorpretendermaisdoque20objetivoterádepagarpelo serviçodeGoogleAnalytics.Nadescriçãodoobjetivo, deveescolheronomee tipodeobjetivo.

Devemsercriadosobjetivosquesejamúteiserelevantes,oquerequerumtrabalhopréviode

algumaanálisee identificaçãode candidatosaosmesmos.Hámuitas coisasqueoutilizador

podemonitorizar,maspodemrevelar-seirrelevantesparaobterinformaçãoquelhevápermitir

terlucroounotoriedadeparaoseuwebsite/negócio.

Éaquiqueserevelaapertinênciadeumaestratégiabempensadaquernasuaimplementaçãoquernasuamonitorização.Terádeserpensadosobreaquiloquesedesejaqueosvisitantesfaçamquandoestãoemdeterminadowebsite.

Dimensões:

OconceitodedimensãoéimplementadonoGoogleAnalyticscomoumatributodescritivoouumacaracterísticadeumobjetoquepoderecebervaloresdiferentes.Porexemplo,umlocalgeográfico poderia ter uma dimensão chamada Latitude, Longitude ouNome da cidade. OsvaloresparaadimensãoNomedacidadepoderiamserSãoFrancisco,BerlimouLisboa.

Browser,Páginadesaída,DispositivoePaíssãoexemplosdedimensõesexibidasporpadrãonoGoogleAnalytics.Asdimensõespodemserexibidasemtodososrelatórios,aindaquesepossamver algumas dimensões diferentes, dependendo do relatório específico e sua customização.Estasdevemserusadasparaajudaraorganizar,segmentareanalisarosdados.

ComoGoogleAnalytics,épossíveltambémcriardimensõescustomizadasparaguardartiposadicionaisdedadosquesãoenviadospormeiodeumcódigodeacompanhamento,usandoaimportaçãodedadosouaGoogleAnalyticsAPI.

18

(fonte:https://www.google.com/analytics/)

Comoexemplodeumadimensãopodeseranalisadaaorigemdotráfegoeváriaspodemserasanálisesfeitasrelativamenteacadafontedetráfego.Porexemplo,ataxadeabandonopodeseranalisadatantoparaaspessoasquechegamatravésdoGoogleSearchEngine,comotambémparaaquelasqueacedempelaviadoshyperlinks(tráfegoreferenciadooureferral).Asorigensmaiscomunssão:

• TráfegoDireto:sãoaspessoasqueacedemaowebsitecolocandooendereçonomotordebuscaouacedendoaosfavoritos.

• Hyperlinks (outros sites): também chamados de tráfego de referência ou referral.Mostratodososwebsitesdeterceirosquelevaramvisitantesparaoseuwebsite.Nestalista,entramtambémasredessociais,comooFacebookeoTwitter.

• ProcuraOrgânica:mostratodasaspalavraschavequetrouxeramosvisitantesparaositeatravésdoGoogleeoutrosmotoresdepesquisa.

Figura9-GoogleAnalyticscomoumaferramentadegestão

19

Nafiguraabaixopodemosverificaronúmerodevisitasmensaisagrupadaspelaorigemdosutilizadores:

Figura10-Númerodevisitasmensaisagrupadaspelasuaorigem

(fonte:https://www.rankranger.com/documentation/analytics-traffic-sources)

Asmétricas

Éumamedidaquantitativadosdadosdasdimensões.AsmétricasdoGoogleAnalyticspodemserfornecidasempercentagensounúmerosexatos.NºdePáginasporsessão,Duraçãomédiada sessão e tempo em página são exemplos demétricas noGoogleAnalytics. Abaixo serãodescritosalgunsexemplosdemétricasdisponíveis:

Visitas e visitantes são dois termos que podem facilmente ser confundidos. O número devisitantes(ouvisitantesúnicos)éaquantidadedepessoasquevisitaramdeterminadowebsite,independentementedaquantidadedevezesqueofizeram.Onúmerodevisitasmostraquantasvezes houve acesso aowebsite, sem levar em consideração a quantidade de pessoas que oacederam.Porexemplo,seomesmovisitanteacederaumdeterminadosite3vezesduranteomesmodia,oGoogleAnalyticssóirácontabilizar1visitantee3visitas.Estamétricaéimportantedeseracompanhadapoisrefletediariamenteaaudiênciaqueumsiteouumblogpossui.Porexemplo,umsitequemantémsempreestávelonúmerodevisitantesevisitaspodemostraremanálisequenãoestáaatrairnovosvisitantes,ouqueaspessoasqueestãoaacederaositesãoasmesmas.

OnúmerodevisualizaçõesdaspáginasouaschamadasPageviews,indicamquantaspáginasdowebsiteforamvisitadas,noentantoestamétricaporsisónãoéespecífica.Porexemplo,ter50.000 Pageviews e 100 visitantes numwebsite, é completamente diferente de ter 50.000Pageviewse50.000visitantes.Ambososcasossãoextremosediferentes.Umamétricaqueéderivadadasvisualizaçõesdepáginaseque traz informaçõesmais relevantesemrelaçãoaocomportamentodosvisitantesdosite sãoasvisitasporpágina,pois indica-nosonúmerodevisualizaçõesqueumapáginaobtém.

20

Ataxadeabandonomostraapercentagemdepessoasqueacedemapenasaumapáginadowebsiteenãocontinuamanavegaçãoparaumasegundapágina.Ataxadesaída,porsuavezmostraapercentagemdevisitantesqueestavamnumadeterminadapáginaesaíramdowebsite,noentanto,aocontráriodataxadeabandono,ataxadesaídanãotememconsideraçãoseé,ounão,aprimeirapáginadowebsitevisualizadaporumvisitante.Peloque,cadaumadaspáginasmaisimportantesdowebsitedeveterataxadesaídaanalisadadeformafrequente,parapoderemserfeitasotimizações.Apercentagemdenovasvisitasmostraquantosdosvisitantesnumdeterminadoperíododetempoestãoa visitarum site pelaprimeira vez. Para analisar estamétrica, épreciso algunscuidados:umataxamuitobaixasignificaquearetençãodositepodeestarnormalizada,porém,podenãoestaraatrairnovosvisitantes,porsuavezumataxamuitoaltasignificaqueositepodeestaraatrairmuitaspessoas,contudoestaspessoasacabampornãoregressaraosite.Assimocruzamentocomoutrasmétricaspodeajudaraesclarecer.Éaindaimportanteperceberqueaidentificaçãodevisitantesnovosedosvisitantesfrequenteséfeitaatravésdeumcookie,esteéguardadonobrowserdovisitantenaprimeiravezqueeleacedeaosite.Quandoestevisitantesetornafrequente,oGoogleAnalyticsreconheceocookieesabequeaqueleutilizadorjáestevealipelomenosumavez.Oqueaconteceéqueestecookiepodeserapagadomanualmente,oudesativado,equandoovisitantevoltaraosite,écontabilizadocomoumvisitantenovo.Apesardenãoseralgocomum,podeoriginarumamargemparaerro.

Relatórios

Noquedizrespeitoaosrelatórios,todossãocompostospordimensõesemétricas.

AstabelasnamaioriadosrelatóriosdoGoogleAnalyticsorganizamosvaloresdasdimensõesemlinhas,easmétricasemcolunas.Porexemplo,estatabelamostraumadimensão(Cidade)eduasmétricas(SessõesePáginas/sessão).

DIMENSÃO MÉTRICA MÉTRICA

Cidade Sessões Páginas/sessão

São Francisco 5.000 3,74

Berlim 4.000 4,55 Tabela1-Exemplodeumrelatórioqueconjugamétricasedimensões(GoogleAnalytics)

2.6 DiscussãoNestecapítulosãodiscutidasasabordagens,métodoseferramentasutilizadosnosdiferentestiposdeWebMiningeemparticularaquelesquesuportamarecomendação.Considerandoosobjetivos do trabalho e o seu enquadramento na vertente deWeb Mining de navegação,consideram-se mais pertinentes os trabalhos que abordam a recomendação suportada emfiltragem colaborativa ou em algoritmos de identificação de regras de associação. Contudo,ambostêmlimitaçõesinerentesqueforamdiscutidasequeseprendemcomanecessidadedevolume de dados não dispersos e no caso das regras da associação ainda também com a

21

impossibilidade prática de contemplar a ordem dos fluxos de navegação (i.e., da sequênciaordenadados itensconstantesna(esquerda)daregra).Adicionalmentequalquerabordagemsuportada em algoritmos de Data Mining tem inerentemente um enfoque na extração defeaturesquecaracterizamgrupose/ousegmentosrequerendoparatal(volumede)dadossobremuitas,nemsempreacessíveis,variáveis.Emalternativa,poderiamserconsideradosalgoritmoscapazesdemodelardadoscommenordimensão/volume,todavia,estesmuitasvezesacabamporgerarmodeloscomfracopoderexplicativoreal.

AsnovasalternativasemergentesdatradicionalabordagemOLAPfocadasnasestatísticasdenavegação (e não no utilizador) parecem constituir a alternativa considerando o âmbito dotrabalho(Alves&Belo,2004).Destaformaépossívelinquirirosdadospersistidosrespeitantesànavegação,queao contráriodealgunsmodelosobtidospor recursoa técnicasdeMining,estarãosemprealinhadoscomautilizaçãorealatual.Relativamenteàquestãodaperformance,à medida que estes dados tenhammais dimensões (variáveis) e volume de registos, que éjustamenteamotivaçãoparaasintetizaçãoqueosalgoritmosdeMiningpodemrealizar,estapode ser ultrapassada considerando restrições de dimensões e período temporal que sepretende em cada solicitação, atendendo às necessidades e contexto, facto que leva a ummodelo, e consequente implementação, parametrizável como proposto a partir do capítuloseguinte.

Esta é a orientação base das ferramentas Web Analytics eleitas, em particular, o GoogleAnalytics,adotadocomobasenodesenvolvimentodestetrabalho.Estaspermitemarecolhaeorganizaçãodedadosassimcomoasquestõesrelacionadascomagestãododesempenhoacimareferida.

Assumidamente, com esta abordagem não se encontram necessariamente padrões ocultos,nem se sintetizam características de grupo de utilizadores e/ou conteúdo, mas realizam-serecomendaçõescombaseempadrõesrealmenteexistentestenhamestaqualquerordemderepresentatividade.Ficaassimofoco,deacordocomoâmbitodotrabalho,noemparelhamentodanavegaçãodoutilizador(noseucontexto,qualquerqueesteseja)nopadrãoexistentemais“conveniente”emcadamomentoàmedidaquesecolecionaoseuprópriopadrão.Sendoquea “conveniência” neste trabalho se refere à experiência de utilização melhorada face aosobjetivosdenavegaçãoestabelecidosparaowebsite.

3 RecomendaçãosuportadaemWebAnalyticsUmutilizadorquandoprocuradeterminadowebsitepressupõe-sequeoconteúdodomesmosejadoseuinteresse,noentanto,aformacomoosconteúdosestãodispostosouanavegaçãoimplícita do mesmo pode não estar de acordo com as necessidades ou expectativas dosutilizadores, para isso existem e podem ser definidosKPI´s (key performance indicator) quepermitemavaliaretirarconclusões,relativamenteaocaminhoqueowebsiteestáalevareseesteéopretendido.CombasenoGoogleAnalytics,aferramentabasedestetrabalho,podemosdividirestesKPI´sem2componentes:

AsDimensõessãoessencialmenteascategoriasdosdados,ouseja,definemcaracterísticasdosdados por categorias identificadas e customizadas, por exemplo algumas das dimensõesdisponíveissãootipodeutilizador(novooufrequente),aorigemdoutilizador(owebsitedeondeomesmoéproveniente),onavegadorutilizado,dadosdemográficosdoutilizador(país,

22

idioma,localidade),etc.AlémdasdimensõesjádisponibilizadaspeloGoogleAnalyticsépossíveltambémcriardimensõescustomizadasealimentá-lascomumalógicaprópriadesenvolvidaparaowebsite.

AsMétricassãoosdadosquantitativosdowebsite,ouseja,onúmerodeutilizadoresquevisitamumadeterminadapágina,otempoempágina,onúmerodesaídas,onúmerodeconversõesparaumobjetivo,onúmerodesessões,etc.

Comreferidonosubcapítulo2.3.3,asdimensõeseasmétricassãoutilizadasemconjuntoparafornecerKPI’s que suportem comparação, pois as dimensões indicam-nos a informação queestamosatratareasmétricas,osnúmerosreaisparacomparação(Ex:onúmerodevisitasdeuma página à data de hoje comparativamente ao número de visitas após um determinadoperíododetempo).

3.1 ModeloPropostoO objetivo do modelo proposto passa por encaminhar o utilizador através de um fluxo depáginas, tendo em conta a página em que este se encontra até à página/ páginas que oadministradordowebsitetenhadefinidocomoobjetivo.Emcadapáginavisitadapeloutilizadoré-lhesugeridaumapáginaseguintequefaçapartedofluxoequeoiráorientaratéumobjetivo,percorrendoomenorcaminhopossível.

Estapáginasugeridaécalculadaatravésdohistóricodeutilizadoresquetenhampassadopelamesmaeatingiramumobjetivo.ComestemodeloprovidenciamosaoadministradordowebsiteumdinamismoquenãoexisteapenascomanálisedoGoogleAnalytics,poiscasoosutilizadoresnãoestejamaatingirosobjetivosdosite,porqueestesnãoserevelamevidentesouhajaumamudançadosmesmos,implicaquesejamtomadasatitudesparainverteratendência.Estapodepassarporredesenharowebsiteparacontemplaranovatendência.

Comestemodeloasrecomendaçõesserãosemprefeitastendoemcontaosobjetivosatuais,ouseja,anavegaçãodoutilizadorserásempreorientadaparaosmesmoseoutilizadornãoserádesviadodocaminhopretendido.

Note-seque,comestaabordagemaredefiniçãodowebsitepodeserobviado,masmesmoarevelar-seimprescindívelexisteumperíodotemporalatéàsuaimplementaçãoeimplantaçãocujodesalinhamentodanavegaçãodoexistentecomosobjetivosatuaiséminimizado,pelasrecomendaçõesquesereajustam.

Subjacente ao mecanismo de recomendação está a definição inicial pelo administrador doobjetivodowebsite,materializando-osnoGoogleAnalytics.Comestabase,semprequeumapágina é visitada por um utilizador a GoRecommendJS, que implementa o modelo (aimplementaçãoédescritanocapitulo4),fazumpedidoderecomendações(recorrendoàapidoGoogleAnalytics)paraproporaspáginasparaoutilizadorvisitarseguidamente.

Alógicasubjacenteaomodelopropostocontemplaaverificaçãoseapáginaparaaqualforampedidasrecomendaçõeséjáumapáginaobjetivoeéentãoumapáginadeabandononatural,casoemque,nãoserãoproduzidasrecomendações.

Caso contrário, são solicitadas ao Google Analytics as páginas seguintes à página atual,ordenadas pelo número de utilizadores por forma descendente (elegendo as 5 primeiras –

23

configurável) em que nesse caminho tenha ocorrido uma conversão para um objetivo. Estasolicitação aoGA é formulada atendendo a um conjunto de parâmetros (configuráveis) quepodemenriquecera lógicadomodelonaelaboraçãodasrecomendações.Osparâmetroseoseusignificadosãoapresentadosseguidamente:

• (Opcional) Data de Início: baliza o período sobre o qual serão calculadas asrecomendações;

• (Opcional)Tipodedispositivo:defineseasrecomendaçõesdevemserdelimitadaspelomesmo tipodedispositivoounão,oGoogleAnalytics classificaosdispositivosem3categorias:desktop,tabletemobile;

• (Opcional) Idioma: define se as recomendações devem ser delimitadas pelomesmoidiomaounão;

• (Opcional)Pais:defineseasrecomendaçõesdevemserdelimitadaspelomesmopaísounão;

• (Opcional) ChavedaDimensão customizadapara calcular o tempoempágina: estavariáveléutilizadaparacalcularotemporealemqueoutilizadordedicaasuaatençãoaowebsite,otempoqueapáginanãoestáemfoconãoécontabilizado.EstachaveéobtidaaocriarumadimensãopersonalizadanoGoogleAnalytics;

• (Obrigatório) Chave da propriedade: também identificada como código deacompanhamento, é o código único de acompanhamento dowebsite por parte doGoogleAnalytics,todasaspesquisasserãofeitascombasenestecódigo.

3.2 LógicadeNotificaçãoO modelo desenvolvido contém uma preocupação adicional/complementar à geração dasrecomendações.Emtermosdeexperiênciadeutilizadornãoénegligenciável,a intrusãoquepoderácausaraapresentaçãodasrecomendaçõesaoutilizador.

Assim,foi igualmentedesenvolvidaumalógicaassociadaàapresentação/disponibilizaçãodasrecomendações.

ParatalésolicitadoaoGoogleAnalyticsquaisostemposdeabandonodapáginaatual,calculadaamédiaeoseudesviopadrão,ecombasenestesfeitoumcálculoparaotempodeatrasoquecondicionaquandoasrecomendaçõesdevemserexibidas.

AimplementaçãodestalógicaéfeitapelaGoRecommendJSquequandorecebearespostaporpartedoserviçoGoRecommend,criaumeventocomoatrasoremetidopelomesmo.QuandoesteeventoéexecutadoowidgetdaGoRecommendentranapáginacomumaanimaçãodedestaqueparaquesuscitealguminteressesemserdemasiadointrusivo,ficandoapenascomoíconenofinaldaanimação.

Ao clicar nesse mesmo ícone do widget é disponibilizado ao utilizador uma lista com asrecomendações existentes, ordenadas pela recomendação que mais converteu até àrecomendação que menos converteu. Caso o utilizador já tenha clicado em alguma dasrecomendaçõesestasdescemparao fimda listamantendo sempreaordenaçãopelomaiornúmerodeconversõescasotenhaclicadoemmaisqueuma.

Alémdissoowidgetprovidenciaaoutilizadoralgumasopçõesdecustomizaçãoparaquesejamaisflexíveldeacordocomaspreferênciasdoutilizador.

24

Botõesde+e-,quepermitemaoutilizadordiminuironúmerodeelementosdalistaatéummínimode1ouaumentaronúmerodeelementosdalistaatéaonúmeroderecomendaçõesexistentes.

Botõesdeaumentarediminuiratrasocomqueanotificaçãoéexibidacomummínimodeatrasode 0 ou com um máximo de atraso correspondente ao valor originalmente calculado(parametrizávelemfunçãodamédiaedesviopadrão).Cadacliquenosbotõesaumentaoureduzem10%dovalorcalculado.

Oconjuntodeparâmetrosquepermiteaflexibilizaçãonaconfiguraçãodalógicadenotificaçãoéapresentadoedescritoembaixo:

• (Opcional)Posição:pordefeitooelementoéposicionadonocantosuperiordireito,épossívelcolocaroelementoemqualquerumdos4cantosdapágina;

• (Opcional)Cordefundo:permitedefiniracordefundodowidget;• (Opcional)Cordetexto:permitedefiniracordotextoeícones;• (Opcional)Titulo:par“chave–valor”quepermitedefinirotitulodowidgetqueaparece

notopodalistagemdeacordocomoidioma,emqueachaveéocódigodoidiomaeovalorotituloemquestão.

25

3.3 SíntesedoModeloParasintetizaromodelorecorre-seaumdiagramadesequênciasdesenhadoabaixosegundoalinguagemUML(UnifiedModelingLanguage),que permite representar um sistema de forma padronizada, com o intuito de facilitar a compreensão antes da implementação.

O diagrama de sequências por sua vez representa a sequência de mensagens entre osparticipantes, onde o tempo decorre para baixo e mostra o fluxo de contacto entre osparticipantes.Atravésdestefluxosequencialépermitidoaoleitorvisualizardeformasimplesoconjuntodeaçõessubjacenteàlógicadomodeloquernageraçãoderecomendaçõesquernasuadisponibilização.

Figura11-Síntesedomodeloproposto

26

4 ProtótipoDesenvolvidoTal como descrito anteriormente, o objetivo do modelo passa por encaminhar o utilizadoratravésdeumfluxoqueoguieatéumapáginadefinidacomoobjetivopeloadministradordowebsite, sugerindo a(s) página(s) seguinte(s). Este fluxo é calculado através do histórico deutilizadores que atingiram o objetivo, histórico este que é obtido recorrendo à ferramentaGoogleAnalytics,apósaferiçãodofluxodenavegaçãoasrecomendaçõessãodisponibilizadasaoutilizadoratravésdeumwidgetquedeverásercontempladonowebsite.

AntesdeexplicaraarquiteturadasoluçãoéimportanteaindaesclareceralgumasmétricasdoGoogleAnalytics quenomeuentenderdeviamser complementadase tiveram influêncianodesenhodasolução.

O tempo em página é um desses casos, pois o GA calcula o tempo em página através dodiferencialdetempoentreaentradanumapáginaeumcliqueparaoutrapáginadomesmowebsite,ouseja,mesmoqueoutilizadorestejafocadonoconteúdodeumapáginaedemorealgunsminutosnamesmacasonãovisiteoutrapáginaotempocontabilizadoéiguala0,estecalculonãoéfeitonoeventodesaídadapáginaoudobrowserporquenãoégarantidoqueanotificaçãoassíncronasejaentregueantesdofechodapágina/browser,alémdissoexisteaindaoutrafalhanestemétododecálculoquepassapornãoterumanoçãoexatadotemporealqueoutilizadoresteveempáginapoisestepodeterowebsiteabertonumaabaeessamesmaabaestaremsegundoplanoouminimizada,ouseja,outilizadornãoestáefetivamenteaconsultarowebsiteapesardeteromesmoaberto.Existemalgumasabordagensquepassamnãosóporminimizar esta perda de dados,mas tambémotimizar osmesmos para que estejamomaispróximospossíveldarealidade.

Umaabordagempassaporcriareventoscom intervalosde tempoesemprequeeste forematingidosnotificaroGoogleAnalyticsedestaformaépossívelenquadrarostemposempáginaemintervalosdetempo,ouseja,comoexemplosãocriadosnoGoogleAnalytics3eventos,ointervalode0 – 10 segundos, 11– 30 segundos emais de30 segundos, após a criaçãodoseventoséadicionadaadevidalógicaaowebsitequenotificaoGoogleAnalyticssemprequeumintervaloéatingido.

Outra abordagem passa por utilizar a função javascript “sendBeacon”, que permite efetuarpedidosdeformaassíncronaemsegundoplano,quandoobrowseré fechadoedesta formaconseguimosnotificaroGoogleAnalytics,alimitaçãodestafunçãoéasuacompatibilidadecomosbrowsers, nestemomento sóé suportadaemGoogleChromeeFirefox, por issodeve sercomplementadautilizandooeventoonBeforeUnloadchamadoimediatamenteantesdofechodobrowsereefetuaranotificaçãodoeventoaoGoogleAnalyticsdeformasíncrona.

Aabordagemutilizadaparaodesenhodasoluçãofoiaúltimaabordagemporsetratardeumaabordagemmaisotimizadaquepermitechegaravalores reaisenãoa intervalosdevalores,contemplandotambémumamaiorcoberturadecompatibilidadesdeformaaqueaperdanosresultadossejamínima.Alémdissoomodeloterátambémumalógicadeeventosemquesócontabilizaotempoempágina,otempoemqueoutilizadorestáefetivamenteaconsultarapáginaenãootempoemqueestaseencontraembackground.

27

4.1 ArquiteturaGeralPara o desenvolvimento da solução foi projetada uma arquitetura que se divide em 3componentes:

Figura12-Arquiteturadomodeloproposto

GoRecommendJS:

• Objetivo:BibliotecaJavascriptembutidanowebsite,responsávelpornotificaroGoogleAnalyticsdoseventosqueocorremnomesmo,emparaleloé tambémaresponsávelpelacomunicaçãocomoserviçoGoRecommenddesenvolvido,pedindorecomendaçõesparaowebsite.

• Especificações:o Javascript

o BibliotecajQuery(versão1.9.1)(Dependência)

GoRecommend:

• Objetivo: Serviço responsável por toda a lógica de consulta no Google Analytics eformatação dos dados para construção das recomendações que são disponibilizadasatravésdeumaapi.

• Especificações:o ApacheWebserver

o Php5.5.23

o Symfony2.7.12

o REST

GoogleAnalytics: repositóriodedadosdowebsite, colecionatodasasnotificaçõeseeventosreportadospelaGoRecommendJS,consultadosmaistardepeloserviçoGoRecommend.

28

4.2 GoRecommendDesenvolvidanalinguagemdeprogramaçãoPHP,comrecursoàFrameworksymfony.

DescriçãodoserviçoGoRecommend:

Endpoint:{{base_url}}/recommendation

MétodoHTTP:GET

ParametrizaçãoObrigatória:

• path: o caminho relativo da página sobre o qual será feita a recomendação ex.:“/contact”.

• start_date: a data de início por onde se devem começar a procurar resultados, pordefeitoiniciaem365diasantesdadataatual(365daysAgo).

• language_code:CódigoISO639doidioma,parâmetroutilizadocasoolanguage_filtersejaativado.

• device_width:Alarguraempixéisdodispositivo,estevalorseráenquadradodeacordocom a lógica do GA numa categoria (< 600px = mobile, >= 600px e <= 1024 =tablet,>1024=desktop),esteparâmetroéutilizadocasoodevice_filtersejaativado.

• web_property_id:tambémidentificadacomocódigodeacompanhamento,éocódigoúnicodeacompanhamentodowebsiteporpartedoGA,todasasconsultasserãofeitascombasenestecódigo.

ParametrizaçãoOpcional:

• real_time_on_page_key:nomedadimensãocustomizadadoGAparaconsultarovalorrealdetempoempágina,casonãosejadefinidoseráutilizadaavariávelpordefeitodoGoogleAnalytics“timeOnPage”.

• country_filter: define se os resultados devem ser delimitados pelomesmo país, pordefeitoo valor é 0 (não filtrar), caso sepretenda filtrar atribuir o valor 1. CasoesteparâmetrosejaativadoseráutilizadaabibliotecaMaxmindGeoIPparacalcularopaísdeacordocomoipdoutilizador.

• device_filter: define se os resultados devem ser delimitados pelo mesmo tipo dedispositivo,pordefeitoovaloré0(nãofiltrar),casosepretendafiltraratribuirovalor1.

• language_filter:defineseosresultadosdevemserdelimitadospelomesmoidioma,pordefeitoovaloré0(nãofiltrar),casosepretendafiltraratribuirovalor1.

29

LógicadeRecomendação:

SemprequehajaumpedidoaoserviçoGoRecommendesteverifica seapáginaatualéumapáginadeabandonoenãoéumapáginadeobjetivo,casonãosatisfaçaumadestascondiçõesnãohaverárecomendaçãosendoenviadoumalistavazia.Casosatisfaça,oGoRecommendfazumpedidoaoGoogleAnalyticscomosseguintesparâmetros:

• Dimensões:o ga:previousPagePath–Páginaanterioro ga:pagePath–Paginaatualo ga:pageTitle–Titulodapáginaatual

• Métricas:o ga:users–Númerodeutilizadores

• Filtros:o ga:previousPagePathigualaPáginaatualo ga:pagePathdiferentedaPáginaatual (Nãohárecomendaçãoparaamesma

página)

Ouseja,sãosolicitadosaoGoogleAnalytics todasaspáginasanterioresquecorrespondamàpáginaatual,páginasatuaisquanãocorrespondamàpáginaatual(nãorecomendamosparaamesmapágina),títulosdaspáginasatuais,ordenadospelonúmerodeutilizadoresporformadescendenteemquenessefluxotenhaocorridoumaconversãoparaoobjetivo.

OserviçoGoRecommendguardaosvaloresobtidospeloGoogleAnalyticsdiariamenteemcache,ouseja,paraumadeterminadaparametrizaçãosóéefetuadoumpedidopordiamesmoquehajammúltiploscarregamentosdiferentesdepáginasdowebsite.

Os dados são formatados para serem enviados e de seguida oGoRecommend pergunta aoGoogleAnalyticsquaisostemposdeabandonodapáginaatual,calculaamédiaeoseudesviopadrãoeobtémotempodeatrasosobreoqualasrecomendaçõesdevemserexibidascombasenaseguintefórmula:

abs(MEDIA-0.6*DESVIO_PADRAO)

Valorabsolutodasubtraçãodamédiapor60%dovalordodesviopadrão

30

Finalmenteéretornadaalistaeodelaycomqueestadeveserapresentada.Abaixoumexemploderespostadoserviço.

ExemplodeRespostadoserviçoGoRecommend:

4.3 GoRecommendJSGoRecomendJS é uma biblioteca desenvolvida com base na linguagem de programaçãoJavascript,estabibliotecaintegracomoserviçoGoRecommendqueapósconfiguraçãoporpartedoadministradordowebsitecombasenumconjuntodeparâmetrosqueserãodescritosabaixodisponibilizaumacamadarepresentacionalcombasenumwidgetqueindicaasrecomendaçõesdisponíveis para uma determinada página dowebsite e alguns botões de configuração quepermitemumamaiorflexibilidadedomesmoperanteoutilizador.

Localização:{{base_url}}/js/go-recommend.js

ParametrizaçãoObrigatória:

• web_property_id:verparâmetroweb_property_iddoponto4.2

ParametrizaçãoOpcional:

• start_date:verparâmetrostart_datedoponto4.2• language_filter:verparâmetrolanguage_filterdoponto4.2• device_filter:verparâmetrodevice_filterdoponto4.2• country_filter:verparâmetrocountry_filterdoponto4.2• real_time_on_page_key:verparâmetroreal_time_on_page_keydoponto4.2• position_x:posiçãodoelementonoeixodox,pordefeitooelementoestáencostadoa

direita,podeserconfiguradoparaaesquerdacomovalor“left”.

{

"suggestions":[

{

"url":"/example1",

"title":"Exemplo1",

"weight":"43"

},

{

"url":"/example2",

"title":"Example2",

"weight":"21"

},

],

"delay":3.634

}

Figura13-ExemploderespostadoserviçoGoRecommend

31

• position_y:posiçãodoelementonoeixodoy,pordefeitooelementoestáencostadoaotopo,podeserconfiguradoparaofimdapáginacomovalor“bottom”.

• background_color: cor de fundo do widget, pode ser configurado com o códigohexadecimalourgbdeumacor.

• color:cordotextodowidget,podeserconfiguradocomocódigohexadecimalourgbdeumacor.

• titles: lista composta por pares chave-valor, em que a chave é o código ISO 639 doidiomaeovalorotitulodowidgetcorrespondente,casoachavenãosejafornecida,otitulo será assumido por defeito quando não haja um idioma correspondente, porexemplo:[{value:“Recommendations”},{key:'pt-pt',value:”Recomendações”}],paraosnavegadoresemqueoidiomaépt-ptseráexibido“Recomendações”,paratodososoutros “Recommendations”, caso este atributo não seja fornecido será assumidosempreovalor“Recommendations”.

LógicadeRecomendação:

Semprequeapáginaécarregada,aGoRecommendJS,carregatodasassuasdependênciasefazumpedidoaoserviçoGoRecommendporrecomendações,casoalistanãovenhavaziaécriadoumeventocomoatrasodefinidopelomesmo,quandoesteeventoéexecutadoowidgetentranapáginacomumaanimação.

LógicadeConfiguração:

Owidgetprovidenciaaoutilizadoralgumasopçõesdecustomizaçãoparaquesejamaisflexíveldeacordocomasopçõesdoutilizador.

Botõesde+e-,quepermitemaoutilizadordiminuironúmerodeelementosdalistaatéummínimode1ouaumentaronúmerodeelementosdalistaatéaonúmeroderecomendaçõesdisponíveis.

Botõesdeaumentarediminuiratrasocomqueanotificaçãoéexibidacomummínimodeatrasode0,oucomummáximodeatrasocorrespondenteaovalor calculadopeloGoRecommend.Cadacliquenosbotõesaumenta/reduzem10%dovalorcalculadopeloGoRecommend.

LógicadeCálculodeTempoemPágina:

Quandoapáginaécarregada,aGoRecommendJScomeçaacontarotempoempágina,acada500msocorreumeventodeverificaçãodoestadodapágina,casoestaestejaemsegundoplanoocontadorpara,noentantooseventoscontinuamaocorrer,casooutilizadorvolteàpáginaomesmoeventoocorreeocontadorcontinuaasuacontagem.Quandoapáginaforfechadaqueresteja em segundo plano ou não, é enviado para o GA o valor real em página através dosmétodossendBeacon(casosejasuportado),ouatravésdacombinaçãodométodobeforeunloadcomumachamadasíncronaaoGA,destaformaconseguimosgarantirumamaiorprobabilidadedesucessonoenviodosdados.

32

ExemplodeutilizaçãodabibliotecaGoRecommendJS:

Importaroseguintecódigonofinaldapágina:

4.4 DescriçãoFuncionaldeAplicaçãoPara a demonstração da aplicação foram utilizados dados reais, contudo por questões deconfidencialidade estes dados forammascarados e incorporados num layout gratuito comamesma estrutura de navegação que o original. Ao longo desta seção tem-se como objetivoapresentaraexperiênciadoutilizadorrelativamenteaowidgetderecomendaçõesapresentado.

A estrutura para a demonstração contempla as seguintes páginas: Homepage, ‘Sobre nós’,‘Contactos’, ‘Portfolio’e ‘Forma’.Será tambémcontempladaapágina ‘Portfolio’ configuradapeloadministradordowebsitenoGoogleAnalyticscomopáginadeobjetivo.

Inicialmenteé apresentadoo conjuntodeanimaçõesquedãoentradaaowidget napágina,depois a dinâmica das recomendações nas diferentes páginas e finalmente o impacto dainteraçãodoutilizadorcomasaçõesdeconfiguraçãodisponíveisnowidget.

<scriptsrc="//{{base_url}}/js/go-recommend.js"></script>

<script>

GoRecommend.init(

{

real_time_on_page_key:'ga:dimensionX',

web_property_id:'UA-XXXXXXXX-X',

device_filter:1,

language_filter:1,

country_filter:1,

background_color:'#FFF',

color:'#000'

}

);

</script>

Figura14-ExemplodeimplementaçãodabibliotecaGoRecommendJS

33

Segue-seaapresentaçãodosscreenshotserespetivasdescrições:

1. Páginainicialantesdocarregamentodasrecomendações.

2. Aapresentaçãodowidgetaumentagradualmenteaetiquetaatéàtotalvisibilidadedotitulo e posterior diminuição até onde fica apenas o ícone. Para este caso oadministradordowebsiteconfigurouaGoRecommendJScomascoresdefundobranco,deletraapretoeposicionou-onocantosuperioresquerdosegundoaparametrizaçãodescritanoponto4.3.

3. Estadofinaldowidgetapóstérminodaanimaçãodeentrada

34

4. As recomendações, onde o fluxo que corresponde em mais conversões a partir dahomepageéparaapágina‘portfolio’,sendoestaapáginaobjetivodowebsiteencontra-sena 1ª posição.De seguida as páginas commais conversões são respetivamente apágina‘Sobrenós’e‘Contactos’.EstaseriaarecomendaçãodaGoRecommendparaaHomepage. Tal como podemos verificar ainda a página ‘Sobre nós’ não se encontradisponívelàprimeiravistanomenu,umdoscasosemqueowidgetderecomendaçãoéumamaisvalia.

5. Omesmocasodarecomendaçãoanterior,masdestavezoutilizadorutilizouobotão na configuração dowidget indicando que pretende receber apenas as 2 primeirasrecomendaçõesdisponíveisenãomaisqueisso.Passoutambématerobotão ativo,podendoassimreporaslinhasdisponíveisatéaonúmerodisponívelderecomendações.Para os exemplos seguintes será restaurado o número de linhas para o número derecomendaçõesdisponíveis.

6. Nesteexemploédemonstradoaalteraçãonasrecomendaçõesnumcontextodiferente,ouseja,navega-separaapágina‘Contactos’eépossívelverificarqueapágina‘Portfolio’(Objetivo) consta na primeira posição das recomendações, sendo a que converte osutilizadores.Apágina‘Sobrenós’mantem-senasegundaposição,ouseja,aspessoasquemaisconvertememsegundolugarvisitamapágina‘Sobrenós’posteriormenteàpágina de ‘Contactos’. É possível verificar também que a página ‘Forma’ é uma

35

recomendaçãoquenãoconstavanaHomepage,oquepodelevaraduasconclusões:1)nãoexistemvisitasàpáginaformaapartirdaHomepage,2)apesardeexistiremvisitasàpáginaformaapartirdaHomepagenãoexistemconversõesemqueestasequênciaocorranofluxo.Porultimodeixa-sedeterapágina‘Contactos’comorecomendação,poiséaprópriaetemosaHomepagecomorecomendaçãopoisefetivamenteexistirãoconversõesondeo fluxo de navegação contenha a passagem pelaHomepage com origem na página‘Contactos’.

Apenasnãofoipossíveldemonstrarasaçõesdosbotões ,quepermitemaumentaroudiminuiratraso com que a notificação é apresentada pois trata-se de lógica de eventos não sendopossível demonstrar através de imagens, no entanto a lógica associada a estes botões estádescritanoponto4.3.

5 AnáliseeDiscussãodosDadosObtidosNestasecção,numprimeiropontoéidentificadaaabordagemadotadanaavaliaçãodotrabalho,assimcomo,osresultadosobtidosnamesma.Numsegundopontosãodiscutidososresultadoseaslimitaçõesidentificadas.

5.1 AbordagemeResultadosAabordagemdeavaliaçãoadotadatemporbaseasseguintespremissas,abaixodescritas:

Tal como descrito em 3.1, sabem-se que o modelo proposto passa pela recomendação aoutilizadordapáginaseguintequeconstedeumfluxoqueoguieparaumapáginaobjetivo.Assimsendoéavaliadooprotótipoanalisandoatendênciadasrecomendaçõesparaoobjetivoatual,ouseja, comoa recomendaçãoécalculadaemtemporealapesquisaéexecutadade formadinâmicacontemplandoosobjetivosqueoadministradordefiniuatualmenteparaowebsite.Nestaabordagemsãoconsiderados2cenários,oprimeiroemqueoadministradordowebsitesubstituiumobjetivoporoutroeumsegundocenárioemqueoadministradorcomplementaoobjetivo já adicionado anteriormente com um novo objetivo, ficando assim com 2 oumaisobjetivos.

Pretende-secomestaabordagemconstataraalteraçãodasrecomendaçõestendoemcontaasalteraçõesqueoadministradorefetuanosobjetivosaolongodotempo.

36

Talcomoreferidonaapresentaçãodoprotótipoforamutilizadosdadosreaisdanavegaçãodeumwebsiteque,contudo,nãoesteveexpostoaoprotótipo.

Para cada um dos casos descrito será exibida uma tabela com 3 colunas, onde a 1ª colunarepresentaapáginaemqueoutilizadorseencontra,a2ªcolunarepresentaarecomendaçãoeaúltimacolunarepresentaonúmerodeutilizadoresqueconverteramparaobjetivocomestarecomendação. Os dados serão agrupados pela página em que o utilizador se encontra eordenadas de forma descendente pelo número de utilizadores que converteram o objetivo,regrascontempladastambémparaarecomendaçãodomodelo.

5.1.1 1ºCaso–AlteraçãodoobjetivoNoprimeirocasoforamrecolhidososdadosquandooobjetivoeravisitarapágina‘/contacts’.Épossívelverificarqueamaioriadasconversõesocorrediretamenteparaapáginaobjetivo,ouseja,a1ªrecomendaçãofeitaseriaparaaprópriapáginaobjetivo.

Página Recomendação NºdeConversões/ /contacts 1030

/ /forma 60

/ /portfolio 60

/ /sobrenos 60

/forma /contacts 70

/forma /portfolio 40

/forma / 30

/forma /sobrenos 20

/portfolio /contacts 170

/portfolio /sobrenos 110

/portfolio / 20

/portfolio /forma 10

/sobrenos /contacts 120

/sobrenos /portfolio 60

/sobrenos / 30

/sobrenos /forma 30

/sobrenos /contacts 10Tabela2-Recomendaçõesparaapáginaobjetivo'/contacts'

37

60diasapósaalteraçãodoobjetivo'/contacts'para'/portfolio'foifeitaumanovarecolhadedadosverificandoquea1ªrecomendaçãopassariaaserapágina'/portfolio',ouseja,nota-seumatendênciaclaradasrecomendaçõesparaonovoobjetivo.

Página Recomendação NºdeConversões/ /portfolio 1920

/ /contacts 450

/ /sobrenos 170

/ /forma 20

/contacts /portfolio 80

/contacts / 70

/contacts /sobrenos 60

/contacts /forma 10

/forma /portfolio 80

/forma / 10

/forma /sobrenos 10

/portfolio /contacts 160

/portfolio /sobrenos 120

/portfolio / 90

/sobrenos /portfolio 100

/sobrenos /forma 70

/sobrenos / 60

/sobrenos /contacts 50Tabela3-Recomendaçõesparaapáginaobjetivo'/portfolio’

5.1.2 2ºCaso–AdiçãodeumnovoobjetivoNo segundo caso foram recolhidos os dados quando o objetivo era visitar a página'/pt/contactos'.Épossívelverificaraquimaisumavezqueotopodasrecomendaçõesocorrediretamenteparaapáginaobjetivo,noentantoeporquepodefazersentidocontextualizaroutilizadorantesdeoencaminharparaapáginaobjetivoépossívelverificar,aindaquecomumadiferença substancialmente menor alguns utilizadores posteriormente à página inicialcontinuarempelapágina'/pt/onde-estamos'enãonapágina'/pt/contactos'.

Página Recomendação NºdeConversões/pt/ /pt/contactos 560

/pt/ /pt/onde-estamos 100

/pt/ /pt/empresa/quem-somos 60

/pt/clientes /pt/onde-estamos 60

/pt/empresa/a-nossa-frota /pt/empresa/projectos-de-referencia

60

/pt/empresa/desempenho-da-empresa /pt/empresa/a-nossa-frota 40

/pt/empresa/equipa /pt/empresa/quem-somos 30

38

60 dias após a criação de um novo objetivo '/pt/clientes' em complemento ao objetivo'/pt/contactos',ficandoassimcom2objetivosfoifeitaumanovarecolhadedadosverificandomaisumavez a tendênciadas recomendaçõesparaosobjetivos '/pt/clientes' aindaqueemmenor escala que '/pt/contactos', pois anteriormente o objetivo '/pt/clientes' não constavasequernasrecomendaçõeseagoranãosóopróprioobjetivotemumarelevânciamuitomaiorparaasrecomendaçõesassimcomoaspáginasrelacionadascomomesmo.

Página Recomendação NºdeConversões'/pt/ '/pt/contactos 470

'/pt/ '/pt/clientes 240

'/pt/ '/pt/onde-estamos 120

'/pt/ '/pt/servicos 60

'/pt/ '/pt/logistica 40

'/pt/clientes '/pt/contactos 60

'/pt/clientes /pt/onde-estamos 40

'/pt/clientes '/pt/empresa/quem-somos 40

'/pt/contactos /pt/clientes 140

'/pt/contactos '/pt/empresa/quem-somos 110

'/pt/contactos /pt/ 90

'/pt/contactos '/pt/servicos 60

'/pt/empresa/a-nossa-frota '/pt/empresa/projectos-de-referencia

70

'/pt/empresa/equipa '/pt/empresa/quem-somos 70

/pt/empresa/projectos-de-referencia

'/pt/empresa/equipa 60

'/pt/empresa/quem-somos '/pt/contactos 70

'/pt/empresa/quem-somos /pt/clientes 60

'/pt/empresa/quem-somos '/pt/empresa/equipa 60

'/pt/empresa/quem-somos '/pt/empresa/quem-somos 60

/pt/empresa/projectos-de-referencia /pt/empresa/equipa 30

/pt/empresa/quem-somos /pt/contactos 230

/pt/empresa/quem-somos /pt/empresa/a-nossa-frota 40

/pt/logistica /pt/frota 40

/pt/onde-estamos /pt/contactos 110

/pt/onde-estamos /pt/ 40

/pt/onde-estamos /pt/servicos 40

/pt/servicos /pt/contactos 170

/pt/servicos /pt/logistica 70

/pt/servicos /pt/onde-estamos 40Tabela4-Recomendaçõesparaapáginaobjetivo'/pt/contactos’

39

'/pt/empresa/quem-somos '/pt/empresa/desempenho-da-empresa

50

'/pt/empresa/quem-somos /pt/ 40

'/pt/frota '/pt/clientes 90

'/pt/frota '/pt/onde-estamos 40

'/pt/logistica '/pt/frota 70

'/pt/logistica '/pt/empresa/quem-somos 40

'/pt/logistica '/pt/servicos 40

'/pt/onde-estamos '/pt/contactos 140

'/pt/onde-estamos '/pt/clientes 90

'/pt/onde-estamos '/pt/empresa/quem-somos 50

'/pt/onde-estamos '/pt/servicos 50

'/pt/servicos '/pt/logistica 100

'/pt/servicos '/pt/contactos 80

'/pt/servicos /pt/clientes 60

'/pt/servicos '/pt/onde-estamos 50

'/pt/servicos '/pt/empresa/quem-somos 40Tabela5-Recomendaçõesparaaspáginasobjetivo'/pt/contactos’e'/pt/clientes’

5.2 DiscussãoeAnálisedeLimitaçõesTratando-se de um modelo cujo protótipo não foi aplicado numa utilização prática quepermitiriaavaliaroseuimpactoefetivonasrecomendaçõesobrigouàabordagemdeavaliaçãodescritanopontoanterior,nãosendopossívelidentificarainterferênciacausadaaoutilizadoreeventual resistênciaouadoçãoàutilizaçãodowidgetderecomendações.Tambémnão foipossível testar as preocupações no âmbito da experiência de utilização contempladas naparametrização do modelo tais como: atraso na notificação, número de recomendações,posiçãodowidget,etc.

Porúltimo,comonãofoipossívelaplicaroprotótipoedestaformaavaliarasuaeficácianãoexiste termodecomparaçãocomoutrossistemasderecomendação,contudo,contata-sedaavaliaçãoexpressana secçãoanteriorquea implementação segueeficazmenteosprincípioslógicos subjacentes ao modelo proposto. O desempenho do protótipo não se mostra umalimitação,tendoaavaliaçãoreportadatidoporbaseordemdemilharesderegistos,cujotempoderespostanasconsultasaoGoogleAnalyticséinsignificante.

40

6 ConclusõeseTrabalhoFuturo6.1 ConclusõesA abordagem do protótipo desenvolvido distinguiu-se das abordagens de Data Mining emparticular as regras de associação por: rever o modelo em tempo real, ou seja, como estemodelo tem por base a estatística através de parâmetros previamente definidos econtextualizadosparapesquisapor recomendações combasenanavegaçãodosutilizadoresqueconverteramemobjetivosépossívelfazerrecomendaçãoconstantementeatualizada,aocontráriodasregrasdeassociaçãodeDataMiningquepararecomendaremrealtimetêmquerefazer constantemente o modelo de dados, o que pode implicar grandes perdas naperformance, caso contrário utiliza modelo desatualizado. Outra das vantagens do modeloproposto relativamente às regras de associação é o facto de este contemplar a ordem dasequênciadosdados,poispararecomendação,aordememqueaspáginassãovisitadasédeextremaimportânciapoisseguemumcontexto,nasregrasdeassociaçãodeDataMiningnãoépossívelcontemplarasequênciadadooinflacionardaordemdecomplexidadedaexecuçãodoalgoritmo.

Assimsendoasnovasalternativasfocadasnasestatísticasdenavegação(enãonoutilizador)parecem constituir uma alternativa considerando ser possível inquirir os dados persistidosrespeitantesànavegação,queaocontráriodosmodelosdeMining,estarãosemprealinhadoscomautilizaçãorealatual.Relativamenteàquestãodaperformance,àmedidaqueestesdadostenhammaisdimensões(variáveis)evolumederegistos,queéjustamenteamotivaçãoparaasintetizaçãoqueosalgoritmosdeMiningpodemrealizar,podeserultrapassadaconsiderandoasdimensões,restriçõeseperíodoquesepretendeemcadasolicitação.

Assumidamente,nãoseencontrampadrõesocultos,nemsesintetizamcaracterísticasdegrupode utilizadores e/ou conteúdo, mas realizam-se recomendações com base em padrõesrealmente existentes tenham estes, qualquer ordem de representatividade. Considerando ofoco no emparelhamento da navegação do utilizador, qualquer que seja o seu contexto nopadrãoexistente,éprovidenciadaumaexperiênciadeutilizaçãomelhoradafaceaosobjetivosdenavegaçãoestabelecidosparaowebsiteàmedidaqueospadrõessãoidentificados.

Esta dissertação assumiu como objetivo o desenvolvimento de uma ferramenta derecomendaçãodenavegaçãoincorporávelemqualquerwebsite,quesematerializouatravésda

construçãodeumabibliotecaJavascriptparametrizávelqueatravésdeconsultaaumserviçoserversideproduzidoemparaleloecombasenainteraçãocomaferramentaGoogleAnalyticspossaofereceraosseusutilizadoresrecomendaçõesdepáginasparaumdeterminadowebsite.Estasrecomendaçõessãoobtidascombaseemhistóricodeutilizadoresquefrequentaramasmesmaspáginasevisitaramaspáginasobjetivodefinidaspelosadministradoresdowebsite.Odesenvolvimentodabibliotecaedoserviçoalémdegratificantespelofactodeconsiderarumaferramentaorientadoraedebastanteutilidade,permitiramconsolidaroexercíciodearticulaçãodo desenvolvimento com as linguagensCss, Javascript e Php, assim como a integração comserviçosWebcomoeraocasodoGoogleAnalytics.

Emsuma,consideroestedesenvolvimentoumcontributoparaaidentificaçãodaimportânciadeferramentasdeWebAnalyticseutilizaroseuenormepotencialcomoguiaparaotimizaraexperiênciadosutilizadores.Dadaaimportânciadotemaconsidera-sequemuitoháaindaquepercorrernestaáreasendo,portanto,umcampofértildetrabalhoparaoutrosinvestigadores.

41

6.2 TrabalhoFuturoAAPI depesquisa doGoogleAnalytics restringe a quantidadededadosque são retornados(sampling) quandoumaconsulta inclui umgrandenúmerode variáveisdepesquisaouumagrandequantidadededados(maisde250000),ouseja,seosdadosdentrodeumdeterminadointervalo excederem um determinado número de resultados osmesmos serão agregados eselecionadosumsubconjunto,chamadosdeamostra.

Paratrabalhofuturoconsiderorelevanteapósutilizaçãopráticadoprotótipo,avaliaroimpactodosamplingnaprecisãodasrecomendaçõesemwebsitesdemaiorconsultaecasonecessáriotomar medidas para prevenir/diminuir o impacto desta restrição, tais como: otimização/alteraçãodaspesquisas,aumentarparametrizaçãodabibliotecaapesardeumadasmedidasjápensadasnodesenvolvimentodesteprotótipotersidoexatamenteapossibilidadedeconfiguraracoberturatemporaldaspesquisas,permitindomanteratualarecomendação.

Outropontoqueconsiderotambémdeextremaimportânciaéodedesenvolvernofuturo,aoníveldaexperiênciadeutilização,avaliarograuderesistênciaouadaptaçãodosutilizadoresaowidgetderecomendação,identificarseoseuobjetivoestáasercompreendidoeoseulayoutaceite,assimcomoassuasfuncionalidadescompreendidas.

42

Referências

Alves,R.,&Belo,O.(2004).MiningClickstream-BasedDataCubes.InternationalConferenceonEnterpriseInformationSystems.

Alves,R.,Belo,O.,&Costa,F.(2007).MiningClickstream-BasedDataCubes.In11thDatabaseEngineeringandApplicationsSymposium(pp.120–128).IEEE.

Baeza-Yates,R.,Ribeiro-Neto,B.,&others.(1999).Moderninformationretrieval.ACMpressNewYork.

Berendt,B.,Mobasher,B.,&Spiliopoulou,M.(2001).Measuringtheaccuraryofsessionizersforwebusageanalysis.ProceedingsoftheWorkshoponWebMiningatthe1stSIAM

InternationalConferenceonDataMining,7–14.

Chiarandini,L.(2014).CharacterizingandModelingWebSessionswithApplications.PhDThesis.UniversitatPompeuFabra.

Cho,Y.H.,Kim,J.K.,&Kim,S.H.(2002).Apersonalizedrecommendersystembasedonwebusagemininganddecisiontreeinduction.ExpertSyst.Appl.,23(3),329–342.

Dinucă,C.E.(2012).Anapplicationforclickstreamanalysis,InternationalJournalofcomputerandComunications6(1),68-75.

Halfaker,A.,Keyes,O.,Kluver,D.,Nguyen,T.,Shores,K.,&Uduwage,A.(2015).UserSessionIdentificationBasedonStrongRegularitiesinInter-activityTime.ProceedingsofInternationalWorldWideWebConference,410–418.

Hassan,M.T.,&Karim,A.(2011).Impactofbehaviorclusteringonwebsurferbehaviorprediction.JournalofInformationScienceandEngineering,27(6),1855–1870.

HimanshuSharma,H.S.(2016).CompleteGuidetoDimensionsandMetricsinGoogleAnalytics.Disponívelem:9,Setembro,2016,em:https://www.optimizesmart.com/complete-guide-to-dimensions-and-metrics-in-google-analytics

Kasliwal,A.D.,&Katkar,G.S.(2015).WebUsageminingforPredictingUserAccessBehaviour,InternationalJournalofComputerScienceandInformationTechnologies6(1),201–204.

Kaushik,A.(2008).WebAnalytics2.0.Theartofonlineaccountability&scienceofcustomercentricity.RedlineHeidelberg,3(1),1–14.

Kimball,R.,&Ross,M.(2015).DimensionalModelingTasksandResponsibilities.InTheKimball

GroupReader(pp.233–266).JohnWiley&Sons,Inc.

Li,C.(2016).Whendoesweb-basedpersonalizationreallywork?Thedistinctionbetweenactualpersonalizationandperceivedpersonalization.ComputersinHumanBehavior,54,25–33.

Liu,B.,Mobasher,B.,&Nasraoui,O.(2007).WebDataMining:ExploringHyperlinks,Contents,

andUsageData.Springer.ISBN:978-3-540-37881-5.

Mehtaa,P.,Parekh,B.,Modi,K.,&Solanki,P.(2012).WebPersonalizationUsingWebMining:ConceptandResearchIssue.InternationalJournalofInformationandEducation

Technology,2(5),510.

43

Nadi,S.(2011).AHybridRecommenderSystemforDynamicWebUsers.InternationalJournalMultimediaandImageProcessing1(1),3–8.

Nakatani,K.,&Chuang,T.(2011).Awebanalyticstoolselectionmethod:Ananalyticalhierarchyprocessapproach.InternetResearch,21(2),171–186.

Parra, D., & Brusilovsky, P. (2015). User-controllable personalization: A case study withSetFusion.InternationalJournalofHumanComputerStudies,78,43–67.

Phippen,A.,Sheppard,L.,&Furnell,S.(2004).ApracticalevaluationofWebanalytics.InternetResearch,14(4),284–293.

RickAllen,R.A.(2012).WebAnalytics:WhatIsItGoodFor?.Disponívelem:9,Setembro,2016,em:http://meetcontent.com/blog/web-analytics-what-is-it-good-for

Riecken, D. (2000). Introduction: Personalized Views of Personalization. Communications of

ACM,43(8),26–28.

RitaFrade,R.F.(2016).WebAnalytics:Asmelhoresferramentasdewebanalytics.Disponívelem:9,Setembro,2016,em:http://comteudo.webtexto.pt/melhores-ferramentas-analytics

Slimani, T., & Lazzez, A. (2014). Efficient Analysis of Pattern and Association Rule MiningApproaches.InternationalJournalofInformationTechnologyandComputerScience,6(3),70–81.

Srivastava,J.,Cooley,R.,Deshpande,M.,&Tan,P.-N.(2000).WebUsageMining:DiscoveryandApplicationsofUsagePatternsfromWebData.SIGKDD1(2),12–23.

StephaneHamel,S.H.(2012).BigData–WhatItMeansForTheDigitalAnalyst.Disponivelem:25,Julho,2016em:http://online-behavior.com/analytics/big-data.

Suguna,R.,&Sharmila,D.(2013).AnEfficientWebRecommendationSystemusingCollaborativeFilteringandPatternDiscoveryAlgorithms.InternationalJournalofComputerApplications,70(3),37–44.

WebAnalyticsAssociation,W.A.A.(2000).WebAnalyticsDefinitions.Disponívelem:9,Setembro,2016,em:http://www.digitalanalyticsassociation.org/Files/PDF_standards/WebAnalyticsDefinitions.pdf

top related