def analysis_campaign_horizontal(file_name):
    """
    多个计划的 横向对比分析
    """
    NICK = None
    CAMPAIGN_LIST = []
    NUMBER_DICT = {}
    content = '' 
    for key in SOFT_LIST[1:]:
        NUMBER_DICT[key] = Compare()

    for line in file(file_name):
        campaign = Report.parser_report(line)
        if not campaign:
            continue
        if not NICK or campaign['nick'] == NICK:
            if campaign['campaign'].find('省油宝长尾计划') != -1:
                CAMPAIGN_LIST.insert(0, campaign)
            else:
                CAMPAIGN_LIST.append(campaign)
            if not NICK:
                NICK = campaign['nick'] 
        else:
            NICK = campaign['nick']
            analysis(CAMPAIGN_LIST, NUMBER_DICT)
            CAMPAIGN_LIST = []
    content += '下面为相应指标好的个数\n'
    for key in NUMBER_DICT:
        _compare_result = NUMBER_DICT[key]
        content += '省油宝长尾计划 与 ' + key + ': ' + str(_compare_result.total)
        _result = _compare_result.result
        content += '\n多天ROI: %d    %d\n' % (_result[0][0], _result[0][2])
        content += '多天成交额: %d    %d\n' % (_result[1][0], _result[1][2])
        content += '单天ROI: %d    %d\n' % (_result[2][0], _result[2][2])
    return content
Example #2
0
def write_renew_report(file_name, nick_list):
    """收集nick_list的报表"""

    print_keys = ['nick', 'campaign', 'multi_cost', 'multi_cpc', 'multi_roi', \
            'multi_cvr', 'multi_ctr', 'count_days']
    header_keys = ['店铺昵称', '计划名称', '多天花费', '多天cpc', '多天roi', '多天转化率',\
            '多天点击率', '统计天数']
    write_obj = file(CURRENT_DIR + 'data/renew_report.csv', 'w')
    write_obj.write(','.join(header_keys) + '\n')

    for line in file(file_name):
        campaign = Report.parser_report(line)
        if not campaign:
            continue

        if campaign['nick'] in nick_list:
            report_str = []
            for key in print_keys:
                if key in ['multi_cost', 'multi_cpc']:
                    campaign[key] /= 100.0
                elif key in ['multi_cvr', 'multi_ctr', 'multi_roi']:
                    campaign[key] = '%.3f' % campaign[key]
                report_str.append(str(campaign[key]))
            write_obj.write(','.join(report_str) + '\n')

    write_obj.close()
Example #3
0
def write_renew_report(file_name, nick_list):
    """收集nick_list的报表"""
    
    print_keys = ['nick', 'campaign', 'multi_cost', 'multi_cpc', 'multi_roi', \
            'multi_cvr', 'multi_ctr', 'count_days']
    header_keys = ['店铺昵称', '计划名称', '多天花费', '多天cpc', '多天roi', '多天转化率',\
            '多天点击率', '统计天数']
    write_obj = file(CURRENT_DIR+'data/renew_report.csv', 'w')
    write_obj.write(','.join(header_keys)+'\n')

    for line in file(file_name):
        campaign = Report.parser_report(line)
        if not campaign:
            continue

        if campaign['nick'] in nick_list:
            report_str = []
            for key in print_keys:
                if key in ['multi_cost', 'multi_cpc']:
                    campaign[key] /= 100.0
                elif key in ['multi_cvr', 'multi_ctr', 'multi_roi']:
                    campaign[key] = '%.3f' % campaign[key]
                report_str.append(str(campaign[key]))
            write_obj.write(','.join(report_str)+'\n')
    
    write_obj.close()
def analysis_campaign_simple(file_name):
    """
    get simple report
    """
    soft_list = ['省油宝长尾计划', '省油宝加力计划', '广撒网计划', '喜宝计划', '极品飞车', '懒人开车', '疯狂车手', '大麦']
    soft_statistics_dict = {}
    for key in soft_list:
        soft_statistics_dict[key] = Statistics()

    for line in file(file_name):
        report = Report.parser_report(line)
        if not report:
            continue
        for campaign_name in soft_list:
            if report['campaign'].find(campaign_name) != -1:
                soft_statistics_dict[campaign_name].statistics(report)
        
    content = ''
    for key in soft_list:
        result = soft_statistics_dict[key]
        content += key + '\n'
        content += '有效数(多天花费不为0):%d, 多天花费为0数:%d\n' % (result.count, result.unnormal_count)
        content += '昨天 有效用户的平均花费:%.1f, 平均成交额:%.1f, 平均ROI:%.1f, 平均CPC:%.1f\n' % \
                (result.sum_cost / result.count, result.sum_pay / result.count, \
                result.sum_pay / result.sum_cost, result.sum_cost / result.sum_click)
        content += '昨天 有效用户中ROI为0数:%d,   占比:%.2f\n' % (result.low_roi_count, \
                result.low_roi_count / (result.count + 0.001))
        content += '多天 有效用户的平均花费:%.1f, 平均成交额:%.1f\n' % \
                (result.sum_multi_cost / result.count, result.sum_multi_pay / result.count)
        content += '多天 有效用户的日均花费:%.1f, 日均成交额:%.1f, 日均ROI:%.1f\n\n' % \
                (result.sum_day_cost / result.count, result.sum_day_pay / result.count, \
                result.sum_day_pay / result.sum_day_cost)
    
    return content
Example #5
0
def analysis_campaign_horizontal(file_name):
    """
    多个计划的 横向对比分析
    """
    NICK = None
    CAMPAIGN_LIST = []
    NUMBER_DICT = {}
    content = ''
    for key in SOFT_LIST[1:]:
        NUMBER_DICT[key] = Compare()

    for line in file(file_name):
        campaign = Report.parser_report(line)
        if not campaign:
            continue
        if not NICK or campaign['nick'] == NICK:
            if campaign['campaign'].find('省油宝长尾计划') != -1:
                CAMPAIGN_LIST.insert(0, campaign)
            else:
                CAMPAIGN_LIST.append(campaign)
            if not NICK:
                NICK = campaign['nick']
        else:
            NICK = campaign['nick']
            analysis(CAMPAIGN_LIST, NUMBER_DICT)
            CAMPAIGN_LIST = []
    content += '下面为相应指标好的个数\n'
    for key in NUMBER_DICT:
        _compare_result = NUMBER_DICT[key]
        content += '省油宝长尾计划 与 ' + key + ': ' + str(_compare_result.total)
        _result = _compare_result.result
        content += '\n多天ROI: %d    %d\n' % (_result[0][0], _result[0][2])
        content += '多天成交额: %d    %d\n' % (_result[1][0], _result[1][2])
        content += '单天ROI: %d    %d\n' % (_result[2][0], _result[2][2])
    return content
Example #6
0
 def write_report(self):
     """将报表写到文件里"""
     
     file_obj = file(CURRENT_DIR+'data/report_data/bd_report'+str(self.today)+'.csv', 'w')    
     for report in self.report_list:
         if report:
             file_obj.write(Report.to_string(report))
     file_obj.close()
Example #7
0
    def write_report(self):
        """将报表写到文件里"""

        file_obj = file(
            CURRENT_DIR + 'data/report_data/bd_report' + str(self.today) +
            '.csv', 'w')
        for report in self.report_list:
            if report:
                file_obj.write(Report.to_string(report))
        file_obj.close()
Example #8
0
def collect_all_shop(file_name, campaign_name):
    """收集所有店铺"""

    campaign_list = []
    for line in file(file_name):
        campaign = Report.parser_report(line)
        if not campaign:
            continue
        if campaign['campaign'] == '账户整体情况':
            shop = campaign
            continue
        if campaign['campaign'].find(campaign_name) != -1:
            if campaign['nick'] != shop['nick']:
                print '出现不一致:',shop['nick']
            Report.add_shop(campaign, shop)
            #排除非正常 数据
            if campaign['count_days'] <= 0:
                continue
            if campaign['multi_cost'] > campaign['shop_multi_cost'] or \
                    campaign['multi_pay'] > campaign['shop_multi_pay']:
                continue
            campaign_list.append(campaign)

    return campaign_list
Example #9
0
def collect_all_shop(file_name, campaign_name):
    """收集所有店铺"""

    campaign_list = []
    for line in file(file_name):
        campaign = Report.parser_report(line)
        if not campaign:
            continue
        if campaign['campaign'] == '账户整体情况':
            shop = campaign
            continue
        if campaign['campaign'].find(campaign_name) != -1:
            if campaign['nick'] != shop['nick']:
                print '出现不一致:', shop['nick']
            Report.add_shop(campaign, shop)
            #排除非正常 数据
            if campaign['count_days'] <= 0:
                continue
            if campaign['multi_cost'] > campaign['shop_multi_cost'] or \
                    campaign['multi_pay'] > campaign['shop_multi_pay']:
                continue
            campaign_list.append(campaign)

    return campaign_list
Example #10
0
def analysis_campaign_simple(file_name):
    """
    get simple report
    """
    soft_list = ['广撒网计划', '喜宝计划', '极品飞车', '懒人开车', '疯狂车手', '大麦']
    soft_statistics_dict = {}
    for key in soft_list:
        soft_statistics_dict[key] = Statistics()

    for line in file(file_name):
        report = Report.parser_report(line)
        if not report:
            continue
        for campaign_name in soft_list:
            if report['campaign'].find(campaign_name) != -1:
                soft_statistics_dict[campaign_name].statistics(report)

    content = ''
    for key in soft_list:
        result = soft_statistics_dict[key]
        if result.count <= 0:
            continue
        content += key + '如下所有指标都是针对计划的\n'
        content += '有效数(多天花费不为0):%d, 无效数(多天花费为0数):%d\n' % (
            result.count, result.unnormal_count)
        content += '有效用户的昨日 平均花费:%.1f, 平均成交额:%.1f, 平均ROI:%.1f, 平均CPC:%.1f\n' % \
                (result.sum_cost / result.count, result.sum_pay / result.count, \
                result.sum_pay / result.sum_cost, result.sum_cost / result.sum_click)
        content += '有效用户中昨日 ROI为0数:%d,   占比:%.2f\n' % (result.low_roi_count, \
                float(result.low_roi_count) / result.count)
        content += '有效用户多天花费的平均值:%.1f, 多天成交额平均值:%.1f\n' % \
                (result.sum_multi_cost / result.count, result.sum_multi_pay / result.count)
        content += '有效用户的日均花费的平均值:%.1f, 日均成交额的平均值:%.1f, 日均ROI:%.1f\n\n' % \
                (result.sum_day_cost / result.count, result.sum_day_pay / result.count, \
                result.sum_day_pay / result.sum_day_cost)

    return content
Example #11
0
def analysis_campaign_complex(file_name, campaign_name):
    """详细分析 某个计划"""

    campaign_list = []
    for line in file(file_name):
        campaign = Report.parser_report(line)
        if not campaign:
            continue
        if campaign['campaign'] == '账户整体情况':
            shop = campaign
            continue
        if campaign['campaign'].find(campaign_name) != -1:
            if campaign['nick'] != shop['nick']:
                print '出现不一致:', shop['nick']
            Report.add_shop(campaign, shop)
            #排除非正常 数据
            if campaign['count_days'] <= 0:
                continue
            if campaign['multi_cost'] > campaign['shop_multi_cost'] or \
                    campaign['multi_pay'] > campaign['shop_multi_pay']:
                continue
            campaign_list.append(campaign)

    zero_cost = 0
    multi_roi_zero = 0
    multi_roi_unzero = 0
    multi_roi_bigger_2 = 0

    sum_key_dict = {}
    main_keys = []
    daily_keys = [
        'multi_pv', 'multi_click', 'multi_cost', 'multi_pay', 'multi_pay_count'
    ]
    for key in MAIN_KEYS:
        main_keys.append(key)
        main_keys.append('shop_' + key)

    main_keys.extend(['multi_cost_percent', 'multi_pay_percent'])
    for key in main_keys:
        sum_key_dict[key] = 0
    for key in daily_keys:
        sum_key_dict['daily_' + key] = 0

    multi_cost_percent_bigger_9 = 0
    multi_cost_percent_bigger_5 = 0

    for campaign in campaign_list:
        if campaign['multi_cost'] <= 0:
            zero_cost += 1
            continue

        for key in main_keys:
            sum_key_dict[key] += campaign[key]
        for key in daily_keys:
            sum_key_dict['daily_' +
                         key] += campaign[key] / campaign['count_days']

        if campaign['multi_cost_percent'] >= 0.9:
            multi_cost_percent_bigger_9 += 1
        if campaign['multi_cost_percent'] >= 0.5:
            multi_cost_percent_bigger_5 += 1

        if campaign['multi_roi'] <= 0:
            multi_roi_zero += 1
        else:
            multi_roi_unzero += 1
            if campaign['multi_roi'] >= 2:
                multi_roi_bigger_2 += 1

    unzero_cost = len(campaign_list) - zero_cost

    content = campaign_name + '的分析\n'
    content += '用户数:%d, 花费为0数:%d,花费不为0数:%d, 如下统计针对多天花费不为0的用户\n' % (
        len(campaign_list), zero_cost, unzero_cost)
    content += '单天报表分析:\n'
    content += '昨日 平均花费:%.1f, 平均成交额:%.1f, 平均ROI:%.1f, 平均CPC:%.1f\n' % (\
            sum_key_dict['cost'] / unzero_cost / 100, sum_key_dict['pay'] / unzero_cost / 100, \
            sum_key_dict['pay'] / sum_key_dict['cost'], sum_key_dict['cost'] / sum_key_dict['click'] / 100)

    content += '昨日 平均展现:%d, 平均点击:%d, 平均点击率:%.3f, 平均转化率:%.3f\n' % (\
            sum_key_dict['pv'] / unzero_cost, sum_key_dict['click'] / unzero_cost, \
            sum_key_dict['click'] / (sum_key_dict['pv']+0.01), \
            sum_key_dict['pay_count'] / (sum_key_dict['click']+0.01))

    content += '多天报表分析:\n'
    content += '日均花费:%.1f, 日均成交额:%.1f, 日均ROI:%.1f, 日均CPC:%.1f\n' % (\
            sum_key_dict['daily_multi_cost'] / unzero_cost / 100, \
            sum_key_dict['daily_multi_pay'] / unzero_cost / 100, \
            sum_key_dict['daily_multi_pay'] / sum_key_dict['daily_multi_cost'],\
            sum_key_dict['daily_multi_cost'] / sum_key_dict['daily_multi_click'] / 100)

    content += '日均展现:%d, 日均点击:%d, 日均点击率:%.3f, 日均转化率:%.3f\n' % (\
            sum_key_dict['daily_multi_pv'] / unzero_cost, \
            sum_key_dict['daily_multi_click'] / unzero_cost, \
            sum_key_dict['daily_multi_click'] / (sum_key_dict['daily_multi_pv']+0.01),\
            sum_key_dict['daily_multi_pay_count'] / (sum_key_dict['daily_multi_click']+0.01))

    content += '多天ROI大于0数:%d,占比:%.1f,多天ROI大于2数:%d,占比:%.1f\n' %(multi_roi_unzero,\
            float(multi_roi_unzero) / unzero_cost, multi_roi_bigger_2, float(multi_roi_bigger_2) / unzero_cost)
    content += '其中该计划多天花费占全店花费比 不小于0.9的 比例:%.2f, 不小于0.5的 比例:%.2f\n' % (\
            float(multi_cost_percent_bigger_9)/unzero_cost , float(multi_cost_percent_bigger_5)/unzero_cost)
    content += '所有计划多天花费占所有全店多天 花费的比例:%.2f,所有计划多天成交占所有全店多天成交的比例:%.2f\n\n' % (
        sum_key_dict['multi_cost'] / sum_key_dict['shop_multi_cost'],
        sum_key_dict['multi_pay'] / sum_key_dict['shop_multi_pay'])

    return content
Example #12
0
class CollectReport:
    def __init__(self, date):
        self.today = date
        header = u'账户,计划,当天ROI,当天花费,成交额,当天点击,平均点击花费,成交笔数,收藏,当天转化率,多天ROI,多天花费,多天成交额,多天收藏,天数,店铺id\n'
        self.header = header.encode('utf-8')
        self.shop_list = self.get_shop_list()
        self.report_list = []

    def get_shop_list(self):
        """此方法必须被继承
        shop 信息 应包含 sid nick access_token subway_token 特殊计划id 等"""

        return []

    def _load_syb_user(self):
        syb_user = {}
        file_data = file(
            '/home/zhoujiebing/SYB/Webpage/longtail/report/data/syb_user.csv'
        ).read().split('\n')
        for line in file_data:
            order = line.split(',')
            if len(order) < 2:
                continue
            nick = order[0]
            order_start = parser_string_to_date(order[1])
            days_delta = (self.today - order_start).days
            if days_delta > 1:
                syb_user[nick] = min(days_delta, 15)
            #提前续订的
            elif days_delta < 0:
                syb_user[nick] = 15
        return syb_user

    def collect_report(self):
        """搜集报表数据"""

        start_date = self.today - datetime.timedelta(days=1)
        end_date = start_date
        logger.info('start collect report')
        for shop in self.shop_list:
            logger.info('正在抓取帐号 %s 的报表信息' % shop['nick'])
            try:
                shop_report = RptSumSearchService.cust_rpt_sum_search(shop['nick'], shop['sid'], start_date, end_date,\
                        {'base':True, 'effect':True}, True, shop)
                multi_shop_report = RptSumSearchService.cust_rpt_sum_search(shop['nick'], shop['sid'], \
                        end_date - datetime.timedelta(days=shop['days']), end_date,\
                        {'base':True, 'effect':True}, True, shop)

                #目前使用API获取,以后可以改用使用db
                campaigns = SimbaCampaignsGet.get_campaign_list(
                    shop['access_token'], shop['nick'])
                campaigns_id = []
                campaigns_dict = {}
                for campaign in campaigns:
                    campaign = campaign.toDict()
                    campaigns_id.append(campaign['campaign_id'])
                    campaigns_dict[campaign['campaign_id']] = campaign

                campaigns_report = RptSumSearchService.camp_rpt_sum_search(campaigns_id, shop['nick'], \
                        shop['sid'], start_date, end_date, {'base':True, 'effect':True}, True, shop)
                multi_campaigns_report = RptSumSearchService.camp_rpt_sum_search(campaigns_id, shop['nick'], \
                        shop['sid'], end_date - datetime.timedelta(days=shop['days']), end_date, \
                        {'base':True, 'effect':True}, True, shop)
            except InvalidAccessTokenException, e:
                logger.error('%s : InvalidAccessTokenException' %
                             (shop['nick']))
                continue
            except Exception, e:
                continue
            self.report_list.append(
                Report.merge_report(shop_report[0], multi_shop_report[0],
                                    shop))
            for i in range(len(campaigns_id)):
                if campaigns_report[i]['campaignid'] != multi_campaigns_report[
                        i]['campaignid']:
                    logger.info('%s 出现单体计划报表与多天计划报表不一致' % shop['nick'])
                self.report_list.append(
                    Report.merge_report(
                        campaigns_report[i], multi_campaigns_report[i], shop,
                        campaigns_dict[campaigns_report[i]['campaignid']]))
def analysis_campaign_complex(file_name, campaign_name):
    """详细分析 某个计划"""

    campaign_list = []
    for line in file(file_name):
        campaign = Report.parser_report(line)
        if not campaign:
            continue
        if campaign['campaign'] == '账户整体情况':
            shop = campaign
            continue
        if campaign['campaign'].find(campaign_name) != -1:
            if campaign['nick'] != shop['nick']:
                print '出现不一致:',shop['nick']
            Report.add_shop(campaign, shop)
            campaign_list.append(campaign)

    zero_cost = 0
    multi_roi_zero = 0
    multi_roi_unzero = 0
    multi_roi_bigger_2 = 0
    sum_multi_roi = 0
    sum_multi_pay = 0
    sum_shop_multi_pay = 0
    sum_multi_cost = 0
    sum_shop_multi_cost = 0
    sum_multi_cost_percent = 0
    sum_multi_pay_percent = 0
    multi_cost_percent_bigger_9 = 0
    multi_cost_percent_bigger_5 = 0
    for syb in campaign_list:
        if syb['multi_cost'] <= 0:
            zero_cost += 1
            continue
        sum_multi_cost += syb['multi_cost']
        sum_shop_multi_cost += syb['shop_multi_cost']
        sum_multi_pay += syb['multi_pay']
        sum_shop_multi_pay += syb['shop_multi_pay']
        sum_multi_cost_percent += syb['multi_cost_percent']
        sum_multi_pay_percent += syb['multi_pay_percent']
        if syb['multi_cost_percent'] >= 0.9:
            multi_cost_percent_bigger_9 += 1
        if syb['multi_cost_percent'] >= 0.5:
            multi_cost_percent_bigger_5 += 1

        if syb['multi_roi'] <= 0:
            multi_roi_zero += 1
        else:
            multi_roi_unzero += 1
            sum_multi_roi += syb['multi_roi']
            if syb['multi_roi'] >= 2:
                multi_roi_bigger_2 += 1

    unzero_cost = len(campaign_list) - zero_cost
    content = campaign_name + '的简单分析'
    content += '用户数:%d,花费为0数:%d,花费不为0数:%d\n' % (len(campaign_list), zero_cost, unzero_cost)
    content += '多天ROI大于0数:%d,占比:%.1f,多天ROI大于2数:%d,占比:%.1f\n' %(multi_roi_unzero,\
            float(multi_roi_unzero) / unzero_cost, multi_roi_bigger_2, float(multi_roi_bigger_2) / unzero_cost)
    content += '花费不为0的用户中\n'
    content += '多天花费占全店多天花费比例 的平均值:%.2f,多天成交占全店多天成交比例的平均值:%.2f\n' %(sum_multi_cost_percent / unzero_cost, sum_multi_pay_percent / unzero_cost)
    content += '其中多天花费占比 不小于0.9的 比例:%.2f, 不小于0.5的 比例:%.2f\n' % (\
            float(multi_cost_percent_bigger_9)/unzero_cost , float(multi_cost_percent_bigger_5)/unzero_cost)
    content += '所有多天花费占所有全店多天花费的比例:%.2f,所有多天成交占所有全店多天成交的比例:%.2f\n' %(sum_multi_cost / sum_shop_multi_cost, sum_multi_pay / sum_shop_multi_pay)
    #content += '多天ROI大于0的用户的平均多天ROI:%.1f\n' % (sum_multi_roi / multi_roi_unzero)
    return content
def analysis_campaign_complex(file_name, campaign_name):
    """详细分析 某个计划"""

    campaign_list = []
    for line in file(file_name):
        campaign = Report.parser_report(line)
        if not campaign:
            continue
        if campaign['campaign'] == '账户整体情况':
            shop = campaign
            continue
        if campaign['campaign'].find(campaign_name) != -1:
            if campaign['nick'] != shop['nick']:
                print '出现不一致:',shop['nick']
            Report.add_shop(campaign, shop)
            #排除非正常 数据
            if campaign['count_days'] <= 0:
                continue
            if campaign['multi_cost'] > campaign['shop_multi_cost'] or \
                    campaign['multi_pay'] > campaign['shop_multi_pay']:
                continue
            campaign_list.append(campaign)

    zero_cost = 0
    multi_roi_zero = 0
    multi_roi_unzero = 0
    multi_roi_bigger_2 = 0
    
    sum_key_dict = {}
    main_keys = []
    daily_keys = ['multi_pv', 'multi_click', 'multi_cost', 'multi_pay', 'multi_pay_count']
    for key in MAIN_KEYS:
        main_keys.append(key)
        main_keys.append('shop_'+key)

    main_keys.extend(['multi_cost_percent', 'multi_pay_percent'])
    for key in main_keys:
        sum_key_dict[key] = 0
    for key in daily_keys:
        sum_key_dict['daily_'+key] = 0

    multi_cost_percent_bigger_9 = 0
    multi_cost_percent_bigger_5 = 0
    
    for campaign in campaign_list:
        if campaign['multi_cost'] <= 0:
            zero_cost += 1
            continue
                       
        for key in main_keys:
            sum_key_dict[key] += campaign[key]
        for key in daily_keys:
            sum_key_dict['daily_'+key] += campaign[key] / campaign['count_days']
        
        if campaign['multi_cost_percent'] >= 0.9:
            multi_cost_percent_bigger_9 += 1
        if campaign['multi_cost_percent'] >= 0.5:
            multi_cost_percent_bigger_5 += 1

        if campaign['multi_roi'] <= 0:
            multi_roi_zero += 1
        else:
            multi_roi_unzero += 1
            if campaign['multi_roi'] >= 2:
                multi_roi_bigger_2 += 1

    unzero_cost = len(campaign_list) - zero_cost
    
    content = campaign_name + '的分析\n'
    content += '用户数:%d, 花费为0数:%d,花费不为0数:%d, 如下统计针对多天花费不为0的用户\n' % (len(campaign_list), zero_cost, unzero_cost)
    content += '单天报表分析:\n'
    content += '昨日 平均花费:%.1f, 平均成交额:%.1f, 平均ROI:%.1f, 平均CPC:%.1f\n' % (\
            sum_key_dict['cost'] / unzero_cost / 100, sum_key_dict['pay'] / unzero_cost / 100, \
            sum_key_dict['pay'] / sum_key_dict['cost'], sum_key_dict['cost'] / sum_key_dict['click'] / 100)

    content += '昨日 平均展现:%d, 平均点击:%d, 平均点击率:%.3f, 平均转化率:%.3f\n' % (\
            sum_key_dict['pv'] / unzero_cost, sum_key_dict['click'] / unzero_cost, \
            sum_key_dict['click'] / (sum_key_dict['pv']+0.01), \
            sum_key_dict['pay_count'] / (sum_key_dict['click']+0.01))
    
    content += '多天报表分析:\n'
    content += '日均花费:%.1f, 日均成交额:%.1f, 日均ROI:%.1f, 日均CPC:%.1f\n' % (\
            sum_key_dict['daily_multi_cost'] / unzero_cost / 100, \
            sum_key_dict['daily_multi_pay'] / unzero_cost / 100, \
            sum_key_dict['daily_multi_pay'] / sum_key_dict['daily_multi_cost'],\
            sum_key_dict['daily_multi_cost'] / sum_key_dict['daily_multi_click'] / 100)

    content += '日均展现:%d, 日均点击:%d, 日均点击率:%.3f, 日均转化率:%.3f\n' % (\
            sum_key_dict['daily_multi_pv'] / unzero_cost, \
            sum_key_dict['daily_multi_click'] / unzero_cost, \
            sum_key_dict['daily_multi_click'] / (sum_key_dict['daily_multi_pv']+0.01),\
            sum_key_dict['daily_multi_pay_count'] / (sum_key_dict['daily_multi_click']+0.01))
    
    content += '多天ROI大于0数:%d,占比:%.1f,多天ROI大于2数:%d,占比:%.1f\n' %(multi_roi_unzero,\
            float(multi_roi_unzero) / unzero_cost, multi_roi_bigger_2, float(multi_roi_bigger_2) / unzero_cost)
    content += '其中该计划多天花费占全店花费比 不小于0.9的 比例:%.2f, 不小于0.5的 比例:%.2f\n' % (\
            float(multi_cost_percent_bigger_9)/unzero_cost , float(multi_cost_percent_bigger_5)/unzero_cost)
    content += '所有计划多天花费占所有全店多天 花费的比例:%.2f,所有计划多天成交占所有全店多天成交的比例:%.2f\n\n' %(sum_key_dict['multi_cost'] / sum_key_dict['shop_multi_cost'], sum_key_dict['multi_pay'] / sum_key_dict['shop_multi_pay'])
   
    return content