Chinaunix首页 | 论坛 | 博客
  • 博客访问: 631058
  • 博文数量: 149
  • 博客积分: 3901
  • 博客等级: 中校
  • 技术积分: 1558
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-16 14:33
文章分类

全部博文(149)

文章存档

2014年(2)

2013年(10)

2012年(32)

2011年(21)

2010年(84)

分类:

2010-08-18 10:23:16



  找一个产品的当前月的老用户,最初在什么时候登入的 。
   发现一个 非常 有意思的问题 -- 某一些时段进入的用户会非常忠诚!!
  比如 08-05-01 号的新用户 ,在 其后的时间 非常忠诚,甚至到 8月 还是这样 。。
 谁人帮我 解释下这个问题 ?? 


生成 8月份 ,老用户


find /data/tongji/iphone_app/imusic/ -type f -name "imusic_serviceinfo.log*" -not -name "imusic_serviceinfo.log*2010-08-*" -not -name "imusic_serviceinfo.log*2010-07-*" -exec grep ab=100019 {} \; |perl -nle '
 
 if( /at=(\d{4}-\d{2}-\d{2}).*auid=(.*?)<.*/ ){
     $h{ $2 }=$1 if (not $h) or $h{ $2 } gt $1 ;
 }

 END{
   foreach my $auid (keys %h ){
     print "$auid\t$h{$auid}";
   }
 } '|sort -u > /tmp/old.100019.2010-07.txt








老用户最初分布 :


find /data/tongji/iphone_app/imusic/ -type f -name "imusic_serviceinfo.log*2010-08*" -exec grep ab=100019 {} \; |perl -nle '
  BEGIN{
     open FILE, "/tmp/old.100019.2010-07.txt" or die $!;
     %old_ip = {} ;
     while (<FILE>) {
        chomp;
        $old_ip{$1}=$2 if /(.*)\t(.*)/;
     }
  }
  
  
  if( /auid=(.*?)</ ){
    $h{all}{ $1 } ++ ;
    $h{old}{ $1 }++ if $old_ip{ $1 } ;
    $h{ time }{ $old_ip{ $1 } }{ $1 }++ if $old_ip{ $1 } ;
  }

  END{
    my $i = scalar keys %{ $h{all} };
    my $ii = scalar keys %{ $h{old} };

    print " 05-01月 总用户数 $i , 老用户 $ii ";
    
    my %aa = %{$h{time}} ;
    foreach my $k ( sort keys %aa ){
       print $k ,"\t", scalar keys %{ $h{time}{$k} };
    }
  }

'


阅读(633) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~