terça-feira, 28 de abril de 2009

Web Analytics: Além da implementação

Excelente. O departamento de marketing finalmente adotou o uso de uma ferramenta de Web Analytics. Parece que, finalmente, a alta diretoria da empresa compreendeu a importância de mensurar as iniciativas Web.

Entretanto, parece que o processo parou na implementação. A ferramenta funciona muito bem, e milhares de dados são gerados diariamente. E é aí que você percebe que algo deve ser feito. Sua empresa é uma mera colecionadora de métricas? Caso a resposta seja positiva, parabéns. Você será o responsável por mudar isso.




Quando você parte para a obtenção de valor de sua ferramenta de Web Analytics, há grandes chances de se surpreender com alguns obstáculos impostos por sua própria empresa. Políticas internas e procedimentos podem ser muito inflexíveis. A tomada de decisões geralmente é um processo custoso, ou pior: às vezes não está claro quem deve tomar as decisões adequadas.

O processo de metamorfose de uma empresa que somente gera dados para uma empresa que os direciona pode ser longo e doloroso, especialmente quando VOCÊ teme ser caracterizado como o Agente de Mudanças, já que em muitas culturas organizacionais isso ainda é considerado como algo negativo. Analistas e administradores, em teoria, deveriam ser as pessoas mais próximas dos dados gerados e, portanto, os responsáveis pelo rumo destas informações, como coordenar projetos com outros departamentos, identificar oportunidades de crescimento, integrar as informações com sistemas back-end, desenvolver padrões e modelos de governança, fazer análises de custo benefício relativas aos esforços de marketing, etc. Saiba que seu plano de mudança vai envolver e impactar muitas pessoas e atividades.

Não há escapatória. Você deve encarar o fato de que suas iniciativas vão gerar alguns conflitos. No entanto, através de planejamento, é possível se precaver. Veja algumas sugestões para obter sucesso como um Agente de Mudanças na área de Web Métricas de sua empresa.

1. Mapeie as possíveis dependências

Para identificar mais facilmente os possíveis "gargalos", liste todos os processos em sua organização que podem impactar ou serem impactados pelos seus esforços de mudança. Tente focar no cenário atual - como as coisas realmente são e não como deveriam ser. Essa lista deve incluir planejamento de budget, processos de campanhas de marketing, características do website, dados de segurança, questões legais etc.

2. Identifique seus públicos internos

Pense nas pessoas que serão impactadas pelo seu novo plano de Web Analytics. Isso inclui toda e qualquer pessoa atingida, independente do grau de impacto. Pense inclusive nos executivos que deveriam receber os dados de análise e não recebem.

3. Defina os tipos de impactos das mudanças

Determine quais tipos de impactos possivelmente surgirão. Aproveite a lista de pessoas impactadas e as separe em categorias. Tipos de impacto podem incluir:

Mudanças de processos;
Eliminação de processos;
Mudanças relativas a controle ou autoridade;
Alterações no budget.

4. Transforme possíveis problemas em oportunidades

De acordo com o material que você reuniu até o presente momento, pense em como você pode reverter impactos negativos em positivos. Não pense somente em problemas, mas também em soluções. Com certeza, o buzz inicial gerado a partir do seu programa de mudanças será mais negativo do que positivo; pessoas são avessas a mudanças e se negam a sair da zona de conforto. Neutralize as reclamações com soluções.

5. Envolva públicos internos e stakeholders no seu planejamento

Agora que você já sabe onde estão as oportunidades e os prováveis focos de conflitos, já é possível informar ao público interno sobre as transformações que virão. Caso as mudanças signifiquem mais tempo para executar outras tarefas (às vezes mais relevantes!), aprofunde-se neste argumento. A otimização do tempo é sempre uma boa pedida.

6. Mantenha-se focado no resultado final, mas respeite o passo a passo

Embora você tenha objetivos ambiciosos a longo prazo, defina metas específicas, a curto prazo. Os resultados devem aparecer de forma gradual; pouco a pouco, as mudanças se tornarão parte integrante do processo, tirando o peso das suas costas. Quando isso ocorrer, pode-se dizer que a cultura da empresa está finalmente em transformação.

Ser um agente de mudanças não traz somente benefícios para sua empresa. Como profissional, é importante buscar novas aptidões e habilidades. O mercado valoriza profissionais capazes de se reinventar, principalmente quando estamos falando de Internet!

Boa sorte com seu plano de mudanças!


Por: Marcela Daniotti é graduada em Publicidade e Propaganda pela Faculdade Cásper Líbero e hoje atua na CLM Software como analista de marketing.
Confira no iMaster

segunda-feira, 27 de abril de 2009

Data da Páscoa, como calcular?

Pessoal,
Eu já tive que "escrever" um programa para contar os dias que faltam para eventos pré-agendados e feriados nacionais. Foi muito difícil descobrir quando era o carnaval, pascoa e corpus-christi... Navengando na grande rede achei este post do Márcio d'Ávila, confira...
A Páscoa
A apresentação mais interessante (e concisa) que achei para a data da Páscoa foi no material do prof.
Kepler de Souza Oliveira Filho, do Departamento de Astronomia e Astrofísica, Instituto de Física, da UFRGS:
A páscoa judaica (Pesach), que ocorre 163 dias antes do início do ano judaico, foi instituída na epoca de Moisés, uma festa comemorativa feita a Deus em agradecimento à libertação do povo de Israel escravizado pelo Faraó, o rei do Egito. Esta data não é a mesma da Páscoa Juliana e Gregoriana.
O dia da Páscoa cristã, que marca a ressurreição de Cristo, de acordo com o decreto do papa Gregório XIII (Ugo Boncampagni, 1502-1585), Inter Gravissimas em 24/02/1582, seguindo o primeiro concílio de Nicéia de 325 d.C., convocado pelo imperador romano Constantino, é o primeiro domingo depois da Lua Cheia que ocorre em ou logo após 21 de março, data fixada para o equinócio de Primavera no hemisfério norte.
Entretanto, a data da Lua Cheia não é a real, mas a definida nas Tabelas Eclesiásticas, que, sem levar totalmente em conta o movimento complexo da Lua, podia ser calculada facilmente, e está próxima da lua real.
De acordo com essas regras, a Páscoa nunca acontece antes de 22 de março nem depois de 25 de abril.
Cálculo da data da Páscoa
Com base nas regras, foram desenvolvidos ao longo do tempo diversas técnicas e algoritmos para o
Cálculo da Páscoa, ou Computus em inglês (calculation of the date of Easter), em cada ano do calendário cristão, em especial no Calendário Gregoriano utilizado no Brasil e muitos outros países latinos.
Relaciono a seguir as melhores referências que coletei a respeito:
Cálculo da Páscoa, verbete na Wikipédia em Português, apresentando tabela e algoritmos para cálculo da data da Páscoa em cada ano.
Computus, verbete na Wikipedia em inglês, apresentando história, teoria, métodos tabulares e algoritmos.
A Data da Páscoa, por prof. Kepler de Souza Oliveira Filho, Astronomia e Astrofísica, UFRGS; inclui uma tabela com as datas da Páscoa já calculadas para os anos de 1980 a 2024.
Como Calcular a Data do Domingo de Páscoa, por Arlindo Correa, 2001; inclui script que dado um ano, informa data da Páscoa, Carnaval, Dia da Ascensão, Pentecostes e Corpus Christi.
Cálculo do Dia da Páscoa, por prof. Roberto Cabral de Mello Borges, incluindo uma Tabela de dias da Páscoa, Carnaval e Corpus Christi de 1951 a 2078.
Cálculo do dia da Páscoa e de outras datas móveis, por José Luís Carneiro, 2009; inclui uma planilha para cálculo de datas móveis para baixar.
The Date of Easter e programa para cálculo de Datas da Quarta-feira de Cinzas (Ash Wednesday) e Domingo de Páscoa (Easter Sunday), em inglês, Naval Meteorology and Oceanography Command, Marinha dos Estados Unidos.
A Perpetual Easter and Passover Calculator, em inglês, por R.H. van Gent, Institute for History and Foundations of Mathematics and the Natural Sciences, 2003.
Datas móveis relacionadas
Dada a data da Páscoa, temos as seguintes celebrações, todas em dias da semana fixos:
Terça-feira de Carnaval ocorre 47 dias antes da Páscoa; celebração pagã;
Quarta-feira de Cinzas (Ash) ocorre 46 dias antes da Páscoa; início do período da
Quaresma (Lent) [1], [2];
Quinta-feira da Semana Santa ocorre três dias antes da Páscoa; celebração da ultima ceia de Jesus Cristo com os doze apóstolos;
Domingo de
Páscoa (Easter); celebração da Ressurreição de Jesus Cristo;
Domingo de
Pentecostes ocorre no 50º dia desde a Páscoa;
Domingo da Santíssima Trindade é o domingo seguinte ao de Pentecostes;
Quinta-feira de
Corpus Christi (Corpo de Deus) ocorre no 60 dias após a Páscoa; celebração da presença do corpo de Cristo na Eucaristia.

sexta-feira, 24 de abril de 2009

Garbage First Collector da Sun Elimina Amplamente a Baixa Latência/Alto Consumo

Postado por Charles Humble, traduzido por Ricardo Almeida em 24 Abr 2009 02:59 PM no InfoQ

O Garbage Collector da Sun chamado Garbage First (referenciado de G1) é o novo garbage collector de baixa latência planejado para substituir CMS no Hotspot da JVM.  É um coletor estilo servidor, dirigido a máquinas multi-processamento com muita memória. Existem duas grandes diferenças entre CMS e G1. Primeiro que o G1 é um coletor com compactação. Compactação, um processo o qual a vida de objetos são movidas para espaços de memória livre no fim da pilha (heap) de modo que outros espaços tornam-se uma área contínua de memória livre, é importante em aplicações de execução longa porque é inevitável que a pilha irá se fragmentar no decorrer do tempo. G1 compacta suficientemente para evitar completamente o uso de listas livres de granularidade fina para alocação, o que simplifica consideravelmente partes do coletor e sobretudo elimina questões de potenciais fragmentações. Bem como a compactação, G1 oferece pausas de coleta mais previsíveis do que pode obter com o coletor CMS e permite usuários configurar as pausas do coletor. Essa determinística forte dá ao G1 algumas características de um coletor de Tempo Real (Real-Time) verdadeiro, porém não é fortemente Tempo Real, uma vez que fatores como agendamento do Sistema Operacional ainda significam que pausas não podem ser garantidas. Para o desenvolvedor entretanto consideravelmente mais fácil de usar do que produtos Java de Tempo Real desde que o código existente é capaz de ter performance melhorada sem necessitar de qualquer alteração em código. G1 usa algumas técnicas interessantes, baseadas na marcação global de informação e outras métricas, para priorizar regiões para coleta de acordo com a eficiência da Garbage Collector. Um artigo InfoQ anterior fornece mais detalhes técnicos.

Em um podcast recente,, James Gosling destacou a importância do G1 para certos tipos de aplicações Java de larga escala, semelhante a intercâmbios financeiros, que são caracterizados por grandes quantidades de dados vivos na pilha e considerável paralelismo no nível de thread, e são executados frequentemente em processadores multi-core:

"...o segredo profundo sobre muito dessas aplicações Java é que eles não usam banco de dados realmente. Ao invés de banco de dados eles usam muita RAM e empurram o garbage collector igual maluco porque eles não podem se dar ao luxo de tocar o disco sempre. Quando você está fazendo muitos, muitos milhares de transações por segundo, é bom manter tudo na RAM, usando tabelas hash, obtendo muitos núcleos focados nas transações na medida do possível, e geralmente ter grande questões sobre latência de operação.""

Gosling fala da diferênça entre consumo e determinismo. Tipicamente um garbage collector é otimizado para um ou outro. Um garbage collector otimizado para consumo é ideal para executar tarefas de segundo plano muito longas, onde pausas para garbage collector não são um problema para terminar a tarefa de segundo plano o mais rapidamente possível. Inversamente, se você está trabalhando em um sistema iterativo semelhante a uma aplicação web, então uma baixa latência do garbage collector é geralmente a melhor escolha. Gosling mostra o ponto que essas diferenças também existem em outras partes da JVM e que geralmente a JVM é otimizada para consumo. Realmente:

""Isso acontece todo lugar onde existe algoritmos que reorganizam algo. Então ter uma tabela hash - todos pensam que uma tabela hash tem tempo constante de inserção e tempo constante de remoção, o que é falso. O tempo de inserção é constante até ter que recolocá-lo no hash e depois uma insersão vai levar um bom tempo.""

Permitindo usuários especificar que o garbage collection não consuma mais que x ms de tempo, o G1 pode tentar manter pausas de collection como pequenos e não frequentes como for necessário para a aplicação, mas não tão lento como to diminuir consumo ou aumentar desnecessariamente a pegada. Dado que o garbage collector tem uma das áreas onde o ganho lento de latência é mais visível, o G1 deve oferecer benefícios significantes para desenvolvedores Java Enterprise. Está disponível no release do Java 6 update 14 e o time do Hotspot da Sun está extremamente vivo para ter feedback e bug reports dos que adotam cedo.