Ver Fonte

:feat:游戏总数据增加有效相关字段

zhangxianyu há 1 ano atrás
pai
commit
13209bc5ae

+ 51 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/GameDataTotalTotalVO.java

@@ -278,4 +278,55 @@ public class GameDataTotalTotalVO {
     @ApiModelProperty(value = "新用户累计创角率(总量)")
     @ApiModelProperty(value = "新用户累计创角率(总量)")
     private BigDecimal newUserTotalRoleNumRate;
     private BigDecimal newUserTotalRoleNumRate;
 
 
+    @ApiModelProperty(value = "首日有效创角人数")
+    private Long firstEffectiveRoleNum;
+
+    @ApiModelProperty(value = "新用户累计有效创角人数")
+    private Long newUserTotalEffectiveRoleNum;
+
+    @ApiModelProperty(value =  "有效创角人数")
+    private Long effectiveRoleNum;
+
+    @ApiModelProperty(value = "首日有效创角率")
+    private BigDecimal firstEffectiveRoleRate;
+
+    @ApiModelProperty(value = "新用户累计有效创角率")
+    private BigDecimal newUserTotalEffectiveRoleNumRate;
+
+    @ApiModelProperty(value = "有效创角率")
+    private BigDecimal effectiveRoleNumRate;
+
+    @ApiModelProperty(value = "首日有效创角成本")
+    private Long firstEffectiveRoleNumCost;
+
+    @ApiModelProperty(value = "新用户累计有效创角成本")
+    private Long newUserTotalEffectiveRoleNumCost;
+
+    @ApiModelProperty(value = "有效创角成本")
+    private Long effectiveRoleNumCost;
+
+    @ApiModelProperty(value = "首日有效创角付费人数")
+    private Long firstEffectiveRoleAmountNum;
+
+    @ApiModelProperty(value = "新用户累计有效创角付费人数")
+    private Long newUserTotalEffectiveRoleAmountNum;
+
+    @ApiModelProperty(value = "首日有效创角付费成本")
+    private Long firstEffectiveRoleAmountNumCost;
+
+    @ApiModelProperty(value = "新用户累计有效创角付费成本")
+    private Long newUserTotalEffectiveRoleAmountNumCost;
+
+    @ApiModelProperty(value = "首日有效创角付费比")
+    private BigDecimal firstEffectiveRoleAmountNumRate;
+
+    @ApiModelProperty(value = "新用户累计有效创角付费比")
+    private BigDecimal newUserTotalEffectiveRoleAmountNumRate;
+
+    @ApiModelProperty(value = "首日有效创角ARPU")
+    private BigDecimal firstEffectiveRoleArpu;
+
+    @ApiModelProperty(value = "新用户累计有效创角ARPU")
+    private BigDecimal newUserTotalEffectiveRoleArpu;
+
 }
 }

+ 51 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/GameDataTotalVO.java

@@ -296,4 +296,55 @@ public class GameDataTotalVO {
     @ApiModelProperty(value = "新用户累计创角率(总量)")
     @ApiModelProperty(value = "新用户累计创角率(总量)")
     private BigDecimal newUserTotalRoleNumRate;
     private BigDecimal newUserTotalRoleNumRate;
 
 
+    @ApiModelProperty(value = "首日有效创角人数")
+    private Long firstEffectiveRoleNum;
+
+    @ApiModelProperty(value = "新用户累计有效创角人数")
+    private Long newUserTotalEffectiveRoleNum;
+
+    @ApiModelProperty(value =  "有效创角人数")
+    private Long effectiveRoleNum;
+
+    @ApiModelProperty(value = "首日有效创角率")
+    private BigDecimal firstEffectiveRoleRate;
+
+    @ApiModelProperty(value = "新用户累计有效创角率")
+    private BigDecimal newUserTotalEffectiveRoleNumRate;
+
+    @ApiModelProperty(value = "有效创角率")
+    private BigDecimal effectiveRoleNumRate;
+
+    @ApiModelProperty(value = "首日有效创角成本")
+    private Long firstEffectiveRoleNumCost;
+
+    @ApiModelProperty(value = "新用户累计有效创角成本")
+    private Long newUserTotalEffectiveRoleNumCost;
+
+    @ApiModelProperty(value = "有效创角成本")
+    private Long effectiveRoleNumCost;
+
+    @ApiModelProperty(value = "首日有效创角付费人数")
+    private Long firstEffectiveRoleAmountNum;
+
+    @ApiModelProperty(value = "新用户累计有效创角付费人数")
+    private Long newUserTotalEffectiveRoleAmountNum;
+
+    @ApiModelProperty(value = "首日有效创角付费成本")
+    private Long firstEffectiveRoleAmountNumCost;
+
+    @ApiModelProperty(value = "新用户累计有效创角付费成本")
+    private Long newUserTotalEffectiveRoleAmountNumCost;
+
+    @ApiModelProperty(value = "首日有效创角付费比")
+    private BigDecimal firstEffectiveRoleAmountNumRate;
+
+    @ApiModelProperty(value = "新用户累计有效创角付费比")
+    private BigDecimal newUserTotalEffectiveRoleAmountNumRate;
+
+    @ApiModelProperty(value = "首日有效创角ARPU")
+    private BigDecimal firstEffectiveRoleArpu;
+
+    @ApiModelProperty(value = "新用户累计有效创角ARPU")
+    private BigDecimal newUserTotalEffectiveRoleArpu;
+
 }
 }

+ 218 - 11
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameDataServiceImpl.java

@@ -749,7 +749,6 @@ public class GameDataServiceImpl implements IGameDataService {
     public Page<GameDataTotalVO> getGameDataTotal(GameDataTotalDTO dto) {
     public Page<GameDataTotalVO> getGameDataTotal(GameDataTotalDTO dto) {
         com.github.sd4324530.jtuple.Tuple2<List<Long>, List<Long>> poerInfo = dataPowerComponent.getPowerInfo(dto.getSourceSystem());
         com.github.sd4324530.jtuple.Tuple2<List<Long>, List<Long>> poerInfo = dataPowerComponent.getPowerInfo(dto.getSourceSystem());
         List<Long> gameIds = CollectionUtils.isEmpty(dto.getGameId()) ? poerInfo.second : dto.getGameId();
         List<Long> gameIds = CollectionUtils.isEmpty(dto.getGameId()) ? poerInfo.second : dto.getGameId();
-
         if (dto.getGameDimension() == null) {
         if (dto.getGameDimension() == null) {
             //默认查询子游戏维度
             //默认查询子游戏维度
             dto.setGameDimension(1L);
             dto.setGameDimension(1L);
@@ -895,7 +894,6 @@ public class GameDataServiceImpl implements IGameDataService {
     public GameDataTotalTotalVO getGameDataTotalTotal(GameDataTotalTotalDTO dto) {
     public GameDataTotalTotalVO getGameDataTotalTotal(GameDataTotalTotalDTO dto) {
         com.github.sd4324530.jtuple.Tuple2<List<Long>, List<Long>> poerInfo = dataPowerComponent.getPowerInfo(dto.getSourceSystem());
         com.github.sd4324530.jtuple.Tuple2<List<Long>, List<Long>> poerInfo = dataPowerComponent.getPowerInfo(dto.getSourceSystem());
         List<Long> gameIds = CollectionUtils.isEmpty(dto.getGameId()) ? poerInfo.second : dto.getGameId();
         List<Long> gameIds = CollectionUtils.isEmpty(dto.getGameId()) ? poerInfo.second : dto.getGameId();
-
         if (dto.getGameDimension() == null) {
         if (dto.getGameDimension() == null) {
             //默认查询子游戏维度
             //默认查询子游戏维度
             dto.setGameDimension(1L);
             dto.setGameDimension(1L);
@@ -4328,7 +4326,30 @@ public class GameDataServiceImpl implements IGameDataService {
                             round(IF(SUM(buy_first_role_num) > 0, SUM(cost) / SUM(buy_first_role_num), 0), 2) first_role_num_cost,
                             round(IF(SUM(buy_first_role_num) > 0, SUM(cost) / SUM(buy_first_role_num), 0), 2) first_role_num_cost,
                             round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                             round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                             round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
                             round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
-                            round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate
+                            round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate,
+                            
+                            sum(buy_first_effective_role_num) as first_effective_role_num,  -- 首日有效创角人数
+                            sum(buy_new_user_total_effective_role_num) as new_user_total_effective_role_num,  -- 新用户累计有效创角人数
+                            SUM(buy_effective_role_num) as effective_role_num, -- 有效创角人数
+                            
+                            ROUND(IFNULL(SUM(buy_first_effective_role_num)/sum(buy_first_role_num),0)*100,2) as first_effective_role_rate,   -- 首日有效创角率 = 首日有效创角人数/首日创角人数
+                            round(IFNULL(SUM(buy_new_user_total_effective_role_num)/SUM(buy_new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate,         -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
+                            round(IFNULL(SUM(buy_effective_role_num)/SUM(buy_role_num),0)*100,2) as effective_role_num_rate,        -- 有效创角率 = 有效创角人数/创角人数
+                            
+                            round(IFNULL(SUM(cost)/SUM(buy_first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
+                            round(IFNULL(SUM(cost)/SUM(buy_new_user_total_effective_role_num),0),2)  as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
+                            round(IFNULL(SUM(cost)/sum(buy_effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
+                            
+                            SUM(buy_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
+                            sum(buy_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
+                            
+                            round(IFNULL(SUM(cost)/sum(buy_first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
+                            round(IFNULL(SUM(cost)/SUM(buy_new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
+                            
+                            round(IFNULL(SUM(buy_first_effective_role_amount_num)/SUM(buy_first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate,  -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
+                            round(IFNULL(SUM(buy_new_user_total_effective_role_amount_num)/SUM(buy_new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
+                            ROUND(IFNULL(SUM(buy_new_user_total_amount)/SUM(buy_new_user_total_effective_role_num),0),2) as first_effective_role_arpu,    -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
+                            ROUND(IFNULL(SUM(buy_first_new_user_amount)/SUM(buy_first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
                         FROM
                         FROM
                             ads_game_day
                             ads_game_day
                     """ + criA +
                     """ + criA +
@@ -4454,7 +4475,30 @@ public class GameDataServiceImpl implements IGameDataService {
                             round(IF(SUM(nature_first_role_num) > 0, SUM(cost) / SUM(nature_first_role_num), 0), 2) first_role_num_cost,
                             round(IF(SUM(nature_first_role_num) > 0, SUM(cost) / SUM(nature_first_role_num), 0), 2) first_role_num_cost,
                             round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                             round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                             round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
                             round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
-                            round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate
+                            round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate,
+                            
+                            sum(nature_first_effective_role_num) as first_effective_role_num,  -- 首日有效创角人数
+                            sum(nature_new_user_total_effective_role_num) as new_user_total_effective_role_num,  -- 新用户累计有效创角人数
+                            SUM(nature_effective_role_num) as effective_role_num, -- 有效创角人数
+                            
+                            ROUND(IFNULL(SUM(nature_first_effective_role_num)/sum(nature_first_role_num),0)*100,2) as first_effective_role_rate,   -- 首日有效创角率 = 首日有效创角人数/首日创角人数
+                            round(IFNULL(SUM(nature_new_user_total_effective_role_num)/SUM(nature_new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate,         -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
+                            round(IFNULL(SUM(nature_effective_role_num)/SUM(nature_role_num),0)*100,2) as effective_role_num_rate,        -- 有效创角率 = 有效创角人数/创角人数
+                            
+                            round(IFNULL(SUM(cost)/SUM(nature_first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
+                            round(IFNULL(SUM(cost)/SUM(nature_new_user_total_effective_role_num),0),2)  as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
+                            round(IFNULL(SUM(cost)/sum(nature_effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
+                            
+                            SUM(nature_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
+                            sum(nature_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
+                            
+                            round(IFNULL(SUM(cost)/sum(nature_first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
+                            round(IFNULL(SUM(cost)/SUM(nature_new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
+                            
+                            round(IFNULL(SUM(nature_first_effective_role_amount_num)/SUM(nature_first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate,  -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
+                            round(IFNULL(SUM(nature_new_user_total_effective_role_amount_num)/SUM(nature_new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
+                            ROUND(IFNULL(SUM(nature_new_user_total_amount)/SUM(nature_new_user_total_effective_role_num),0),2) as first_effective_role_arpu,    -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
+                            ROUND(IFNULL(SUM(nature_first_new_user_amount)/SUM(nature_first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
                         FROM
                         FROM
                             ads_game_day
                             ads_game_day
                     """ + criA +
                     """ + criA +
@@ -4581,7 +4625,31 @@ public class GameDataServiceImpl implements IGameDataService {
                 		round(IF(SUM(first_role_num) > 0, SUM(cost) / SUM(first_role_num), 0), 2) first_role_num_cost,
                 		round(IF(SUM(first_role_num) > 0, SUM(cost) / SUM(first_role_num), 0), 2) first_role_num_cost,
                 		round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                 		round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                 		round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
                 		round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
-                		round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate
+                		round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate,
+                		
+                		sum(first_effective_role_num) as first_effective_role_num,  -- 首日有效创角人数
+                        sum(new_user_total_effective_role_num) as new_user_total_effective_role_num,  -- 新用户累计有效创角人数
+                        SUM(effective_role_num) as effective_role_num, -- 有效创角人数
+                       
+                        ROUND(IFNULL(SUM(first_effective_role_num)/sum(first_role_num),0)*100,2) as first_effective_role_rate,   -- 首日有效创角率 = 首日有效创角人数/首日创角人数
+                        round(IFNULL(SUM(new_user_total_effective_role_num)/SUM(new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate,         -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
+                        round(IFNULL(SUM(effective_role_num)/SUM(role_num),0)*100,2) as effective_role_num_rate,        -- 有效创角率 = 有效创角人数/创角人数
+                       
+                        round(IFNULL(SUM(cost)/SUM(first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
+                        round(IFNULL(SUM(cost)/SUM(new_user_total_effective_role_num),0),2)  as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
+                        round(IFNULL(SUM(cost)/sum(effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
+                       
+                        SUM(first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
+                        sum(new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
+                       
+                       
+                        round(IFNULL(SUM(cost)/sum(first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
+                        round(IFNULL(SUM(cost)/SUM(new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
+                       
+                        round(IFNULL(SUM(first_effective_role_amount_num)/SUM(first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate,  -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
+                        round(IFNULL(SUM(new_user_total_effective_role_amount_num)/SUM(new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
+                        ROUND(IFNULL(SUM(new_user_total_amount)/SUM(new_user_total_effective_role_num),0),2) as first_effective_role_arpu,    -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
+                        ROUND(IFNULL(SUM(first_new_user_amount)/SUM(first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
                 	FROM
                 	FROM
                 		ads_game_day
                 		ads_game_day
                 """ + criA +
                 """ + criA +
@@ -4718,7 +4786,29 @@ public class GameDataServiceImpl implements IGameDataService {
                             round(IF(SUM(buy_first_role_num) > 0, SUM(cost) / SUM(buy_first_role_num), 0), 2) first_role_num_cost,
                             round(IF(SUM(buy_first_role_num) > 0, SUM(cost) / SUM(buy_first_role_num), 0), 2) first_role_num_cost,
                             round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                             round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                             round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
                             round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
-                            round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate
+                            round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate,
+                              sum(buy_first_effective_role_num) as first_effective_role_num,  -- 首日有效创角人数
+                            sum(buy_new_user_total_effective_role_num) as new_user_total_effective_role_num,  -- 新用户累计有效创角人数
+                            SUM(buy_effective_role_num) as effective_role_num, -- 有效创角人数
+                            
+                            ROUND(IFNULL(SUM(buy_first_effective_role_num)/sum(buy_first_role_num),0)*100,2) as first_effective_role_rate,   -- 首日有效创角率 = 首日有效创角人数/首日创角人数
+                            round(IFNULL(SUM(buy_new_user_total_effective_role_num)/SUM(buy_new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate,         -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
+                            round(IFNULL(SUM(buy_effective_role_num)/SUM(buy_role_num),0)*100,2) as effective_role_num_rate,        -- 有效创角率 = 有效创角人数/创角人数
+                            
+                            round(IFNULL(SUM(cost)/SUM(buy_first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
+                            round(IFNULL(SUM(cost)/SUM(buy_new_user_total_effective_role_num),0),2)  as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
+                            round(IFNULL(SUM(cost)/sum(buy_effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
+                            
+                            SUM(buy_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
+                            sum(buy_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
+                            
+                            round(IFNULL(SUM(cost)/sum(buy_first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
+                            round(IFNULL(SUM(cost)/SUM(buy_new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
+                            
+                            round(IFNULL(SUM(buy_first_effective_role_amount_num)/SUM(buy_first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate,  -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
+                            round(IFNULL(SUM(buy_new_user_total_effective_role_amount_num)/SUM(buy_new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
+                            ROUND(IFNULL(SUM(buy_new_user_total_amount)/SUM(buy_new_user_total_effective_role_num),0),2) as first_effective_role_arpu,    -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
+                            ROUND(IFNULL(SUM(buy_first_new_user_amount)/SUM(buy_first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
                         FROM
                         FROM
                             game_ads_parent.ads_game_day_parent
                             game_ads_parent.ads_game_day_parent
                     """ + criA +
                     """ + criA +
@@ -4844,7 +4934,30 @@ public class GameDataServiceImpl implements IGameDataService {
                             round(IF(SUM(nature_first_role_num) > 0, SUM(cost) / SUM(nature_first_role_num), 0), 2) first_role_num_cost,
                             round(IF(SUM(nature_first_role_num) > 0, SUM(cost) / SUM(nature_first_role_num), 0), 2) first_role_num_cost,
                             round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                             round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                             round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
                             round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
-                            round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate
+                            round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate,
+                            
+                            sum(nature_first_effective_role_num) as first_effective_role_num,  -- 首日有效创角人数
+                            sum(nature_new_user_total_effective_role_num) as new_user_total_effective_role_num,  -- 新用户累计有效创角人数
+                            SUM(nature_effective_role_num) as effective_role_num, -- 有效创角人数
+                            
+                            ROUND(IFNULL(SUM(nature_first_effective_role_num)/sum(nature_first_role_num),0)*100,2) as first_effective_role_rate,   -- 首日有效创角率 = 首日有效创角人数/首日创角人数
+                            round(IFNULL(SUM(nature_new_user_total_effective_role_num)/SUM(nature_new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate,         -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
+                            round(IFNULL(SUM(nature_effective_role_num)/SUM(nature_role_num),0)*100,2) as effective_role_num_rate,        -- 有效创角率 = 有效创角人数/创角人数
+                            
+                            round(IFNULL(SUM(cost)/SUM(nature_first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
+                            round(IFNULL(SUM(cost)/SUM(nature_new_user_total_effective_role_num),0),2)  as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
+                            round(IFNULL(SUM(cost)/sum(nature_effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
+                            
+                            SUM(nature_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
+                            sum(nature_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
+                            
+                            round(IFNULL(SUM(cost)/sum(nature_first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
+                            round(IFNULL(SUM(cost)/SUM(nature_new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
+                            
+                            round(IFNULL(SUM(nature_first_effective_role_amount_num)/SUM(nature_first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate,  -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
+                            round(IFNULL(SUM(nature_new_user_total_effective_role_amount_num)/SUM(nature_new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
+                            ROUND(IFNULL(SUM(nature_new_user_total_amount)/SUM(nature_new_user_total_effective_role_num),0),2) as first_effective_role_arpu,    -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
+                            ROUND(IFNULL(SUM(nature_first_new_user_amount)/SUM(nature_first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
                         FROM
                         FROM
                             game_ads_parent.ads_game_day_parent
                             game_ads_parent.ads_game_day_parent
                     """ + criA +
                     """ + criA +
@@ -4971,7 +5084,31 @@ public class GameDataServiceImpl implements IGameDataService {
                 		round(IF(SUM(first_role_num) > 0, SUM(cost) / SUM(first_role_num), 0), 2) first_role_num_cost,
                 		round(IF(SUM(first_role_num) > 0, SUM(cost) / SUM(first_role_num), 0), 2) first_role_num_cost,
                 		round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                 		round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                 		round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
                 		round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
-                		round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate
+                		round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate,
+                		
+                		sum(first_effective_role_num) as first_effective_role_num,  -- 首日有效创角人数
+                        sum(new_user_total_effective_role_num) as new_user_total_effective_role_num,  -- 新用户累计有效创角人数
+                        SUM(effective_role_num) as effective_role_num, -- 有效创角人数
+                       
+                        ROUND(IFNULL(SUM(first_effective_role_num)/sum(first_role_num),0)*100,2) as first_effective_role_rate,   -- 首日有效创角率 = 首日有效创角人数/首日创角人数
+                        round(IFNULL(SUM(new_user_total_effective_role_num)/SUM(new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate,         -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
+                        round(IFNULL(SUM(effective_role_num)/SUM(role_num),0)*100,2) as effective_role_num_rate,        -- 有效创角率 = 有效创角人数/创角人数
+                       
+                        round(IFNULL(SUM(cost)/SUM(first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
+                        round(IFNULL(SUM(cost)/SUM(new_user_total_effective_role_num),0),2)  as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
+                        round(IFNULL(SUM(cost)/sum(effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
+                       
+                        SUM(first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
+                        sum(new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
+                       
+                       
+                        round(IFNULL(SUM(cost)/sum(first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
+                        round(IFNULL(SUM(cost)/SUM(new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
+                       
+                        round(IFNULL(SUM(first_effective_role_amount_num)/SUM(first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate,  -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
+                        round(IFNULL(SUM(new_user_total_effective_role_amount_num)/SUM(new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
+                        ROUND(IFNULL(SUM(new_user_total_amount)/SUM(new_user_total_effective_role_num),0),2) as first_effective_role_arpu,    -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
+                        ROUND(IFNULL(SUM(first_new_user_amount)/SUM(first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
                 	FROM
                 	FROM
                 		game_ads_parent.ads_game_day_parent
                 		game_ads_parent.ads_game_day_parent
                 """ + criA +
                 """ + criA +
@@ -5089,7 +5226,31 @@ public class GameDataServiceImpl implements IGameDataService {
                         round(IF(SUM(buy_first_role_num) > 0, SUM(cost) / SUM(buy_first_role_num), 0), 2) first_role_num_cost,
                         round(IF(SUM(buy_first_role_num) > 0, SUM(cost) / SUM(buy_first_role_num), 0), 2) first_role_num_cost,
                         round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                         round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                         round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
                         round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
-                        round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate
+                        round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate,
+                        
+                        sum(buy_first_effective_role_num) as first_effective_role_num,  -- 首日有效创角人数
+                        sum(buy_new_user_total_effective_role_num) as new_user_total_effective_role_num,  -- 新用户累计有效创角人数
+                        SUM(buy_effective_role_num) as effective_role_num, -- 有效创角人数
+                        
+                        ROUND(IFNULL(SUM(buy_first_effective_role_num)/sum(buy_first_role_num),0)*100,2) as first_effective_role_rate,   -- 首日有效创角率 = 首日有效创角人数/首日创角人数
+                        round(IFNULL(SUM(buy_new_user_total_effective_role_num)/SUM(buy_new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate,         -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
+                        round(IFNULL(SUM(buy_effective_role_num)/SUM(buy_role_num),0)*100,2) as effective_role_num_rate,        -- 有效创角率 = 有效创角人数/创角人数
+                        
+                        round(IFNULL(SUM(cost)/SUM(buy_first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
+                        round(IFNULL(SUM(cost)/SUM(buy_new_user_total_effective_role_num),0),2)  as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
+                        round(IFNULL(SUM(cost)/sum(buy_effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
+                        
+                        SUM(buy_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
+                        sum(buy_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
+                        
+                        
+                        round(IFNULL(SUM(cost)/sum(buy_first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
+                        round(IFNULL(SUM(cost)/SUM(buy_new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
+                        
+                        round(IFNULL(SUM(buy_first_effective_role_amount_num)/SUM(buy_first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate,  -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
+                        round(IFNULL(SUM(buy_new_user_total_effective_role_amount_num)/SUM(buy_new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
+                        ROUND(IFNULL(SUM(buy_new_user_total_amount)/SUM(buy_new_user_total_effective_role_num),0),2) as first_effective_role_arpu,    -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
+                        ROUND(IFNULL(SUM(buy_first_new_user_amount)/SUM(buy_first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
                     FROM 
                     FROM 
                     """ + tableName;
                     """ + tableName;
         } else if ("nature".equals(tableType)) {
         } else if ("nature".equals(tableType)) {
@@ -5123,7 +5284,30 @@ public class GameDataServiceImpl implements IGameDataService {
                         round(IF(SUM(nature_first_role_num) > 0, SUM(cost) / SUM(nature_first_role_num), 0), 2) first_role_num_cost,
                         round(IF(SUM(nature_first_role_num) > 0, SUM(cost) / SUM(nature_first_role_num), 0), 2) first_role_num_cost,
                         round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                         round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                         round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
                         round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
-                        round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate
+                        round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate,
+                        
+                        sum(nature_first_effective_role_num) as first_effective_role_num,  -- 首日有效创角人数
+                        sum(nature_new_user_total_effective_role_num) as new_user_total_effective_role_num,  -- 新用户累计有效创角人数
+                        SUM(nature_effective_role_num) as effective_role_num, -- 有效创角人数
+                        
+                        ROUND(IFNULL(SUM(nature_first_effective_role_num)/sum(nature_first_role_num),0)*100,2) as first_effective_role_rate,   -- 首日有效创角率 = 首日有效创角人数/首日创角人数
+                        round(IFNULL(SUM(nature_new_user_total_effective_role_num)/SUM(nature_new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate,         -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
+                        round(IFNULL(SUM(nature_effective_role_num)/SUM(nature_role_num),0)*100,2) as effective_role_num_rate,        -- 有效创角率 = 有效创角人数/创角人数
+                        
+                        round(IFNULL(SUM(cost)/SUM(nature_first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
+                        round(IFNULL(SUM(cost)/SUM(nature_new_user_total_effective_role_num),0),2)  as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
+                        round(IFNULL(SUM(cost)/sum(nature_effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
+                        
+                        SUM(nature_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
+                        sum(nature_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
+                        
+                        round(IFNULL(SUM(cost)/sum(nature_first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
+                        round(IFNULL(SUM(cost)/SUM(nature_new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
+                        
+                        round(IFNULL(SUM(nature_first_effective_role_amount_num)/SUM(nature_first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate,  -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
+                        round(IFNULL(SUM(nature_new_user_total_effective_role_amount_num)/SUM(nature_new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
+                        ROUND(IFNULL(SUM(nature_new_user_total_amount)/SUM(nature_new_user_total_effective_role_num),0),2) as first_effective_role_arpu,    -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
+                        ROUND(IFNULL(SUM(nature_first_new_user_amount)/SUM(nature_first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
                     FROM 
                     FROM 
                     """ + tableName;
                     """ + tableName;
         }
         }
@@ -5158,7 +5342,30 @@ public class GameDataServiceImpl implements IGameDataService {
                     round(IF(SUM(first_role_num) > 0, SUM(cost) / SUM(first_role_num), 0), 2) first_role_num_cost,
                     round(IF(SUM(first_role_num) > 0, SUM(cost) / SUM(first_role_num), 0), 2) first_role_num_cost,
                     round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                     round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                     round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
                     round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
-                    round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate
+                    round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate,
+                    
+                    sum(first_effective_role_num) as first_effective_role_num,  -- 首日有效创角人数
+                    sum(new_user_total_effective_role_num) as new_user_total_effective_role_num,  -- 新用户累计有效创角人数
+                    SUM(effective_role_num) as effective_role_num, -- 有效创角人数
+                    
+                    ROUND(IFNULL(SUM(first_effective_role_num)/sum(first_role_num),0)*100,2) as first_effective_role_rate,   -- 首日有效创角率 = 首日有效创角人数/首日创角人数
+                    round(IFNULL(SUM(new_user_total_effective_role_num)/SUM(new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate,         -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
+                    round(IFNULL(SUM(effective_role_num)/SUM(role_num),0)*100,2) as effective_role_num_rate,        -- 有效创角率 = 有效创角人数/创角人数
+                    
+                    round(IFNULL(SUM(cost)/SUM(first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
+                    round(IFNULL(SUM(cost)/SUM(new_user_total_effective_role_num),0),2)  as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
+                    round(IFNULL(SUM(cost)/sum(effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
+                    
+                    SUM(first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
+                    sum(new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
+                    
+                    round(IFNULL(SUM(cost)/sum(first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
+                    round(IFNULL(SUM(cost)/SUM(new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
+                    
+                    round(IFNULL(SUM(first_effective_role_amount_num)/SUM(first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate,  -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
+                    round(IFNULL(SUM(new_user_total_effective_role_amount_num)/SUM(new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
+                    ROUND(IFNULL(SUM(new_user_total_amount)/SUM(new_user_total_effective_role_num),0),2) as first_effective_role_arpu,    -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
+                    ROUND(IFNULL(SUM(first_new_user_amount)/SUM(first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
                 FROM 
                 FROM 
                 """ + tableName;
                 """ + tableName;
     }
     }