abtest

package
v1.11.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 13, 2023 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package abtest AB实验工具

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AbTest

type AbTest struct {
	// TestID 实验ID
	TestID uint64 `json:"test_id,omitempty"`
	// TestName 实验名称
	TestName string `json:"test_name,omitempty"`
	// TestStartTime 实验开始时间
	TestStartTime string `json:"test_start_time,omitempty"`
	// TestEndTime 实验结束时间
	TestEndTime string `json:"test_end_time,omitempty"`
	// Status 实验状态,"CREATED":排期中,"PROCESSING":进行中,"FINISH":结束,"FAILED":不满足实验条件。
	Status enum.AbTestStatus `json:"status,omitempty"`
	// Conclusion 实验结论,"NOT_START":未开始,"OBVIOUS":有明显结论,"INSUFFICIENT":数据量不足;"FAILED":不满足实验条件,"TMP_OBVIOUS":有初步结论。
	Conclusion enum.AbTestConclusion `json:"conclusion,omitempty"`
	// TestType 实验类型,"CAMPAIGN":广告组,"AD":广告计划。
	TestType enum.AbTestType `json:"test_type,omitempty"`
	// CreateTime 实验创建时间,格式:"2020-12-25 07:12:08"
	CreateTime string `json:"create_time,omitempty"`
	// ReportUpdateTime 实验报告更新时间,格式:"2020-12-25 07:12:08"
	ReportUpdateTime string `json:"report_update_time,omitempty"`
	// ReportUpdateDate 实验报告更新日期,格式:"2020-12-25 07:12:08"
	ReportUpdateDate string `json:"report_update_date,omitempty"`
	// TestVersion 实验版本,"V1":V1版本,"V2":V2版本。
	TestVersion string `json:"test_version,omitempty"`
	// ObjectList 实验对象ID列表
	ObjectList []AbTestObject `json:"object_list,omitempty"`
	// ReportDate 报告日期,格式:"20201225"
	ReportDate string `json:"report_date,omitempty"`
	// ReportTime 报告时间,格式:"2020-12-25 07:12:08"
	ReportTime string `json:"report_time,omitempty"`
	// ConclusionDetail 结论详情
	ConclusionDetail *ConclusionDetail `json:"conclusion_detail,omitempty"`
	// TestReports 实验对象详细报告
	TestReports []Report `json:"test_reports,omitempty"`
}

AbTest 实验信息

type AbTestObject

type AbTestObject struct {
	// ObjectID 实验对象ID,当test_type为CAMPAIGN时,传入广告组ID,当test_type为AD时,传入广告计划ID。
	ObjectID uint64 `json:"object_id,omitempty"`
}

AbTestObject 实验对象

type ConclusionDetail

type ConclusionDetail struct {
	// Winner 获胜对象ID列表
	Winner []uint64 `json:"winner,omitempty"`
	// Common 普通对象ID列表
	Common []uint64 `json:"common,omitempty"`
	// Failed 失败对象ID列表
	Failed []uint64 `json:"failed,omitempty"`
}

ConclusionDetail 结论详情

type CreateRequest

type CreateRequest struct {
	// AdvertiserID 广告主ID
	AdvertiserID uint64 `json:"advertiser_id,omitempty"`
	// TestName 实验名称,最多100个字符,中文算两个字符,不支持emoji,不支持与现有实验重名。
	TestName string `json:"test_name,omitempty"`
	// TestStartTime 实验开始时间,格式为:"2020-12-25 07:12:08",开始时间不能早于当前时间。
	TestStartTime string `json:"test_start_time,omitempty"`
	// TestEndTime 实验结束时间,格式为:"2020-12-25 07:12:08",
	TestEndTime string `json:"test_end_time,omitempty"`
	// TestType 实验类型,允许值:"CAMPAIGN":广告组分流实验;"AD":广告计划分流实验。
	TestType enum.AbTestType `json:"test_type,omitempty"`
	// ObjectList 实验对象列表
	ObjectList []AbTestObject `json:"object_list,omitempty"`
}

CreateRequest 创建实验 API Request

func (CreateRequest) Encode

func (r CreateRequest) Encode() []byte

type CreateResponse

type CreateResponse struct {
	model.BaseResponse
	Data struct {
		// TestID 实验ID
		TestID uint64 `json:"test_id,omitempty"`
	} `json:"data,omitempty"`
}

type DailyStats

type DailyStats struct {
	// ObjectID 实验对象ID
	ObjectID uint64 `json:"object_id,omitempty"`
	// Date 数据统计日期
	Date string `json:"date,omitempty"`
	// Metrics 详细数据
	Metrics *Metrics `json:"metrics,omitempty"`
}

DailyStats 实验对象分日统计数据

type DeleteRequest

type DeleteRequest struct {
	// AdvertiserID 广告主ID
	AdvertiserID uint64 `json:"advertiser_id,omitempty"`
	// TestIDs 实验ID列表,目前仅支持一个实验ID
	TestIDs []uint64 `json:"test_ids,omitempty"`
}

DeleteRequest 删除实验 API Request

func (DeleteRequest) Encode

func (r DeleteRequest) Encode() []byte

type DeleteResponse

type DeleteResponse struct {
	model.BaseResponse
	Data *DeleteResult `json:"data,omitempty"`
}

type DeleteResult

type DeleteResult struct {
	// Success 删除成功的实验列表
	Success []uint64 `json:"success,omitempty"`
	// Errors 删除失败的实验列表
	Errors []Error `json:"errors,omitempty"`
}

type Error

type Error struct {
	// TestID 关停失败的实验列表
	TestID uint64 `json:"test_ids,omitempty"`
	// Message 失败原因
	Message string `json:"message,omitempty"`
}

func (Error) Error

func (e Error) Error() string

type InfoRequest

type InfoRequest struct {
	// AdvertiserID 广告主ID
	AdvertiserID uint64 `json:"advertiser_id,omitempty"`
	// TestID 实验ID
	TestID uint64 `json:"test_id,omitempty"`
}

InfoRequest 获取实验详情及报告 API Request

func (InfoRequest) Encode

func (r InfoRequest) Encode() string

Encode implement GetRequest interface

type InfoResponse

type InfoResponse struct {
	model.BaseResponse
	Data *AbTest `json:"data,omitempty"`
}

InfoResponse 获取实验详情及报告 API Response

type ListData

type ListData struct {
	// TestList 实验列表
	TestList []AbTest `json:"test_list,omitempty"`
	// PageInfo 页面信息
	PageInfo *model.PageInfo `json:"page_info,omitempty"`
}

type ListFilter

type ListFilter struct {
	// TestIDs 根据实验ID列表过滤,列表长度1-100
	TestIDs []uint64 `json:"test_ids,omitempty"`
	// TestName 根据实验名称过滤,支持模糊匹配,长度限制100字符,中文算2个字符。
	TestName string `json:"test_name,omitempty"`
	// Conclusions 根据实验结论过滤,允许值:"NOT_START":未开始,"OBVIOUS":有明显结论,"INSUFFICIENT":数据量不足;"FAILED":不满足实验条件,"TMP_OBVIOUS":有初步结论。
	Conclusions []enum.AbTestConclusion `json:"conclusions,omitempty"`
	// Status 根据实验状态过滤,允许值:"CREATED":排期中,"PROCESSING":进行中,"FINISH":结束,"FAILED":不满足实验条件。
	Status []enum.AbTestStatus `json:"status,omitempty"`
	// CreateTimeBefore 返回创建时间在此之前的实验,格式:"2020-12-25 07:12:08"
	CreateTimeBefore string `json:"create_time_before,omitempty"`
	// CreateTimeAfter 返回创建时间在此之后的实验,格式:"2020-12-25 07:12:08"
	CreateTimeAfter string `json:"create_time_after,omitempty"`
	// TestTimeBefore 返回测试时间在此之前的实验,格式:"2020-12-25 07:12:08"
	TestTimeBefore string `json:"test_time_before,omitempty"`
	// TestTimeAfter 返回测试时间在此之后的实验,格式:"2020-12-25 07:12:08"
	TestTimeAfter string `json:"test_time_after,omitempty"`
}

ListFilter 过滤器

type ListRequest

type ListRequest struct {
	// AdvertiserID 广告主ID
	AdvertiserID uint64 `json:"advertiser_id,omitempty"`
	// Filter 过滤器
	Filter *ListFilter `json:"filter,omitempty"`
	// Page 页码,默认:1
	Page int `json:"page,omitempty"`
	// PageSize 页面大小,默认:10
	PageSize int `json:"page_size,omitempty"`
}

ListRequest 获取实验列表 API Request

func (ListRequest) Encode

func (r ListRequest) Encode() string

Encode implement GetRequest interface

type ListResponse

type ListResponse struct {
	model.BaseResponse
	Data *ListData `json:"data,omitempty"`
}

ListResponse 获取实验列表 API Response

type Metrics

type Metrics struct {
	// StatCost 消耗
	StatCost model.Float64 `json:"stat_cost,omitempty"`
	// ShowCnt 展示数
	ShowCnt model.Int64 `json:"show_cnt,omitempty"`
	// ClickCnt 点击数
	ClickCnt model.Int64 `json:"click_cnt,omitempty"`
	// Ctr 点击率
	Ctr model.Float64 `json:"ctr,omitempty"`
	// CpcPlatform 平均点击单价
	CpcPlatform model.Float64 `json:"cpc_platform,omitempty"`
	// ConvertCnt 转化数
	ConvertCnt model.Int64 `json:"convert_cnt,omitempty"`
	// ConversionCost 转化成本
	ConversionCost model.Float64 `json:"conversion_cost,omitempty"`
	// ConversionRate 转化率
	ConversionRate model.Float64 `json:"conversion_rate,omitempty"`
	// CpmPlatform 平均前次展现费用
	CpmPlatform model.Float64 `json:"cpm_platform,omitempty"`
	// CtrProb ctr获胜概率
	CtrProb model.Float64 `json:"ctr_prob,omitempty"`
	// CvrProb cvr获胜概率
	CvrProb model.Float64 `json:"cvr_prob,omitempty"`
	// ConversionCostProb 转化成本获胜概率
	ConversionCostProb model.Float64 `json:"conversion_cost_prob,omitempty"`
	// CompositeProb 综合指标获胜概率
	CompositeProb model.Float64 `json:"composite_prob,omitempty"`
	// CtrVariation ctr波动范围
	CtrVariation *Variation `json:"ctr_variation,omitempty"`
	// CvrVariation cvr波动范围
	CvrVariation *Variation `json:"cvr_variation,omitempty"`
	// ConversionCostVariation 转化成本波动范围
	ConversionCostVariation *Variation `json:"conversion_cost_variation,omitempty"`
}

Metrics 该实验对象详细数据

type Report

type Report struct {
	// ObjectID 实验对象ID
	ObjectID uint64 `json:"object_id,omitempty"`
	// Metrics 该实验对象详细数据
	Metrics *Metrics `json:"metrics,omitempty"`
	// DailyStats 实验对象分日统计数据
	DailyStats []DailyStats `json:"daily_stats,omitempty"`
}

Report 实验对象详细报告

type StopRequest

type StopRequest struct {
	// AdvertiserID 广告主ID
	AdvertiserID uint64 `json:"advertiser_id,omitempty"`
	// TestIDs 实验ID列表,目前仅支持一个实验ID
	TestIDs []uint64 `json:"test_ids,omitempty"`
}

StopRequest 关停实验 API Request

func (StopRequest) Encode

func (r StopRequest) Encode() []byte

type StopResponse

type StopResponse struct {
	model.BaseResponse
	Data *StopResult `json:"data,omitempty"`
}

type StopResult

type StopResult struct {
	// Success 关停成功的实验列表
	Success []uint64 `json:"success,omitempty"`
	// Errors 关停失败的实验列表,目前实验关停失败会直接报错。
	Errors []Error `json:"errors,omitempty"`
}

type UpdateRequest

type UpdateRequest struct {
	// AdvertiserID 广告主ID
	AdvertiserID uint64 `json:"advertiser_id,omitempty"`
	// TestID 实验ID
	TestID uint64 `json:"test_id,omitempty"`
	// TestName 实验名称,最多100个字符,中文算两个字符,不支持emoji,不支持与现有实验重名。
	TestName string `json:"test_name,omitempty"`
	// TestStartTime 实验开始时间,格式为:"2020-12-25 07:12:08",开始时间不能早于当前时间。
	TestStartTime string `json:"test_start_time,omitempty"`
	// TestEndTime 实验结束时间,格式为:"2020-12-25 07:12:08",
	TestEndTime string `json:"test_end_time,omitempty"`
}

UpdateRequest 更新实验 API Request

func (UpdateRequest) Encode

func (r UpdateRequest) Encode() []byte

type UpdateResponse

type UpdateResponse struct {
	model.BaseResponse
	Data struct {
		// TestID 实验ID
		TestID uint64 `json:"test_id,omitempty"`
	} `json:"data,omitempty"`
}

type Variation

type Variation struct {
	// VariationMin 波动范围下限
	VariationMin model.Float64 `json:"variation_min,omitempty"`
	// VariationMax 波动范围上限
	VariationMax model.Float64 `json:"variation_max,omitempty"`
}

Variation 波动范围

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL