文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>产品数据分析 ( x兄版 ) - 3 抽样

产品数据分析 ( x兄版 ) - 3 抽样

时间:2010-08-05  来源:liukaiyi


按照用户的 PV 倒序排列。
 分别抽取 7月28号的  25%,50%,75% 的10个人 来 看看具体的操作 - 要区分新老用户


1. 先取得 7月28号前的 用户

find login/ test_login/ -type f -exec cat {} \; |perl -nle
 if( /at=(\d{4}-\d{2}-\d{2}).*aip=(.*?)<.*/ ){
     if( $1 lt "2010-07-28" ){
        map{ print } split /,/,$2 ;
     }
 }

' |sort -u > /tmp/old.100040.2010-07-28.txt




2. 取  7月28 号的 用户 进行抽样 ,并通过 old.100040.2010-07-28.txt ,进行 新老用户的区分


find . -type f -name "*2010-07-28*" -exec cat {} \; |perl -nle '
  BEGIN{
     open FILE, "/tmp/old.100040.2010-07-28.txt" or die $!;
     my @lines = <FILE>;
     %old_ip = {} ;
     while (<FILE>) {
        chomp;
        $old_ip{$_}=1;
     }
  }

  chomp;
  my %m = {} ;
  # 形成 hash

  map{ $m{$1}=$2 if /(.*?)=(.*)/ ; } split /<\|>/ ;

  $p{ $m{aip} }++;
  
  $h{ $m{aip} }{ $m{at} }="登入\t$m{wv} $m{abt}" if $m{aop} eq "a" ;
  $h{ $m{aip} }{ $m{at} }="浏览\t$m{bn} $m{pn}" if $m{aop} eq "be" ;
  $h{ $m{aip} }{ $m{at} }="栏目\t$m{bn} $m{pn}" if $m{aop} eq "bl" ;
  $h{ $m{aip} }{ $m{at} }="下载\t$m{bn} $m{pn}" if $m{aop} eq "d" ;

  
  $h{ $m{aip} }{ $m{at} }="搜索\t$m{bn} $m{pn}" if $m{aop} eq "se" ;
  
  END{
     my $nuu = scalar keys %p;
     print " $nuu " ;
     foreach $k (sort { $p{$b} <=> $p{$a} } keys %p){
        ++$row;
        
        foreach $tt ( (0.25,0.5,0.75) ){
            my $is_new = "新用户" ;
            $is_new = "老用户" if $old_ip{$k} ;
            if( $row> ($nuu*$tt) and $row< ($nuu*$tt)+100 ){
               print "\n\n\n$is_new $tt -- $k";
               my %mm = %{$h{$k}} ;
               foreach $at (sort keys %mm){
                  print "$at\t$mm{$at}";
               }
            }
        }
     }
  }
'  > /tmp/07-28抽样-byip-by新老用户-100.txt


相关阅读 更多 +
排行榜 更多 +
我要当超人

我要当超人

休闲益智 下载
幸存者的命运

幸存者的命运

飞行射击 下载
精英战区3d

精英战区3d

飞行射击 下载