month = round(float(v["is_sub"]) / 30)
     #created異常のユーザー回避
     if month == 0:
          month = 1
     price = float(v["sub_pay"]) / float(month)
     user_data.setdefault(v["uid"], {})
     user_data[v["uid"]].setdefault(v["app_id"], {})
     user_data[v["uid"]][v["app_id"]].setdefault("month", month)
     user_data[v["uid"]][v["app_id"]].setdefault("price", price)
     user_data[v["uid"]][v["app_id"]].setdefault("date", [])

     for i in range(0, int(month)):
          if i == 0:
               user_data[v["uid"]][v["app_id"]]["date"].append(int(v["date"]))
          else:
               yyyymmdd, yyyymm, y, m, d = date_func.get_yyyymmdd(int(v["date"]))
               dd = date(int(y), int(m), int(d)) + relativedelta(months = i)
               user_data[v["uid"]][v["app_id"]]["date"].append(int(dd.strftime('%Y%m%d')))

     



#出力
fname = "/home/takagi/git/analytics/analytics_tool/data_temp/mnl_subscription_divided_fast" + str(install_date)
out = open(fname, 'w')

for uid, d0 in user_data.items():
     for app, d1 in d0.items():
          for dd in d1["date"]:
               record = str(uid) + "\t" + str(dd) + "\t" + str(app) + "\t" + str(int(d1["month"])) + "\t" + str(d1["price"]) + "\n"
import utility.device_master as dev_master
import utility.html_table as html_table
import utility.mail_util as mail_util
import math
import utility.date_func as date_func
import utility.html as html_util
import utility.google_chart_api as gchart

argvs = sys.argv
end = int(argvs[1])
summary_app_name = 'kidsnbooks'
if len(argvs) > 2:
     summary_app_name = argvs[2]

start = date_func.ndaysago(end, 100)
yyyymmdd, yyyymm, yyyy, mm, dd = date_func.get_yyyymmdd(end)
date_end = yyyy + "-" + str('%02d' % int(mm)) + "-" + str('%02d' % int(dd))
yyyymmdd, yyyymm, yyyy, mm, dd = date_func.get_yyyymmdd(start)
date_start = yyyy + "-" + str('%02d' % int(mm)) + "-" + str('%02d' % int(dd))



from_addr = '*****@*****.**'
to_addrs = ['*****@*****.**', '*****@*****.**']
#to_addrs = ['*****@*****.**']
list = ['kidsnbooks', 'rhythmtap', 'rhythmtapplus', 'rhythmetv', 'kdmode',
        'rhythm', 'rhythmplus', 'rhythmonstage', 'goccozoo']
allinone_tab = {}
#後でメールの文章を入れる
t = "サービス詳細KPIレポート" + "(" + str(end) + ")"
c = "詳細KPIレポートです。お手数ですが添付ファイルをダウンロードの上、ご覧ください。全タイトル入っていますので重いかもしれません。"
Exemple #3
0
               arpu014 = d2["sum_014"] / d2["uu"] if d2["uu"] != 0 else 0
               arppu014 = d2["sum_014"] / d2["puu_014"] if d2["puu_014"] != 0 else 0
               arpu035 = d2["sum_035"] / d2["uu"] if d2["uu"] != 0 else 0
               arppu035 = d2["sum_035"] / d2["puu_035"] if d2["puu_035"] != 0 else 0
               arpu060 = d2["sum_060"] / d2["uu"] if d2["uu"] != 0 else 0
               arppu060 = d2["sum_060"] / d2["puu_060"] if d2["puu_060"] != 0 else 0
               arpu100 = d2["sum_100"] / d2["uu"] if d2["uu"] != 0 else 0
               arppu100 = d2["sum_100"] / d2["puu_100"] if d2["puu_100"] != 0 else 0
               arpu180 = d2["sum_180"] / d2["uu"] if d2["uu"] != 0 else 0
               arppu180 = d2["sum_180"] / d2["puu_180"] if d2["puu_180"] != 0 else 0
               arpu370 = d2["sum_370"] / d2["uu"] if d2["uu"] != 0 else 0
               arppu370 = d2["sum_370"] / d2["puu_370"] if d2["puu_370"] != 0 else 0
               arpu730 = d2["sum_730"] / d2["uu"] if d2["uu"] != 0 else 0
               arppu730 = d2["sum_730"] / d2["puu_730"] if d2["puu_730"] != 0 else 0

               yyyymmdd, yyyymm, year, month, date = date_func.get_yyyymmdd(reg)
               record = yyyymmdd + "\t" + yyyymm + "\t" + year + "\t" + month + "\t" + date + "\t"
               record += app + "\t" + os + "\t" 
               record += str(arpu007) + "\t" + str(arppu007) + "\t" + str(d2["puu_007"]) + "\t"
               record += str(arpu014) + "\t" + str(arppu014) + "\t" + str(d2["puu_014"]) + "\t"
               record += str(arpu035) + "\t" + str(arppu035) + "\t" + str(d2["puu_035"]) + "\t"
               record += str(arpu060) + "\t" + str(arppu060) + "\t" + str(d2["puu_060"]) + "\t"
               record += str(arpu100) + "\t" + str(arppu100) + "\t" + str(d2["puu_100"]) + "\t"
               record += str(arpu180) + "\t" + str(arppu180) + "\t" + str(d2["puu_180"]) + "\t"
               record += str(arpu370) + "\t" + str(arppu370) + "\t" + str(d2["puu_370"]) + "\t"
               record += str(arpu730) + "\t" + str(arppu730) + "\t" + str(d2["puu_730"]) + "\n"

               out.write(record)
out.close()