數據分析 | 基於智能標籤,精準管理數據_網頁設計

15{icon} {views}

台北網頁設計公司這麼多該如何選擇?

網動是一群專業、熱情、向前行的工作團隊,我們擁有靈活的組織與溝通的能力,能傾聽客戶聲音,激發創意的火花,呈現完美的作品

本文源碼:GitHub·點這裏 || GitEE·點這裏

一、場景分析

1、場景案例

互聯網行業的朋友一定了解或者聽說過下列幾個場景:

阿里:千人千面,意思不同用戶使用阿里相關的產品感覺是不一樣的,例如支付寶首頁的推薦內容,和其他相關推薦流信息是完全不同的。

騰訊:社交廣告,不同用戶的朋友圈或者其他媒體場景下的廣告信息是不同的,會基於用戶特徵推薦。

頭條:信息價值,根據用戶瀏覽信息,分析用戶相關喜好,針對分析結果推薦相關的信息流,越關注某類內容,獲取相關的信息越多。

如上幾種場景的邏輯就是:基於不斷分析用戶的行為,生成用戶的特徵畫像,然後再基於用戶標籤,定製化的推薦相關內容。

2、基本概念

通過上面的場景,衍生出來兩個概念:

用戶畫像

用戶畫像,作為一種勾畫目標用戶、聯繫用戶訴求與設計方向的有效工具,把該用戶相關聯的數據的可視化的展現,就形成了用戶畫像。用戶畫像在各領域得到了廣泛的應用,最初是在電商領域得到應用的,在大數據時代背景下,用戶信息充斥在網絡中,將用戶的每個具體信息抽象成標籤,利用這些標籤將用戶形象具體化,從而為用戶提供有針對性的服務。

標籤數據

標籤在生活中非常常見,比如商品標籤,個人標籤,行業標籤,例如提到996就想到程序員,提到程序員就想到格子衫。

標籤是把分散的多方數據進行整合納入統一的技術平台,並對這些數據進行標準化和細分,進行結構化存儲和更新管理,讓業務線可以把這些細分結果推向現有的互動營銷環境里的平台,產生價值,這些數據稱為標籤數據,也就是常說的標籤庫。數據標籤的概念也是在最近幾年大數據的發展中不斷火熱起來的。

標籤價值

  • 精細運營的基礎,有效提高流量精準和效率。
  • 幫助產品快速定位需求人群,進行精準營銷;
  • 能幫助客戶更快切入到市場周期中;
  • 深入的預測分析客戶並作出及時反應;
  • 基於標籤的開發智能推薦系統;
  • 基於某類用戶的分析,洞察行業特徵;

標籤的核心價值,或者說最常用的場景:實時智能推薦,精準化数字營銷。

二、數據標籤

1、標籤劃分

屬性標籤

屬性標籤是變化最小的,例如用戶實名認證之後,基於身份信息獲取相關:性別,生日,出生年月,年齡,等相關標籤。變動頻率小,且最具有精準性。

行為標籤

行為標籤就是用戶通過在產品上的一系列操作,基於行為日誌分析得出:例如購買能力、消費愛好、季節性消費標籤等。在信息流的APP上,通過相關瀏覽行為,不斷推薦用戶感興趣的內容就是基於該邏輯。

規則標籤

根據業務場景需求,配置指定規則,基於規則生成分析結果,例如:

  • 近7天活躍用戶:近7天,每天都登錄的用戶作為規則生成;
  • 丟失用戶:六個月內沒有任何操作,可以發放高額優惠劵;
  • 潛在用戶:使用或產生瀏覽數據,但是未發生任何交易行為;

這類標籤可以基於動態的規則配置,經過計算和分析,生成描述結果,也就是規則標籤。

擬合標籤

擬合類的標籤最具有複雜性,通過用戶上述幾種標籤,智能組合分析,給的預測值,例如:未婚、瀏覽相關婚禮內容,通過分析預測用戶將要舉辦婚禮,得到一個擬合結果:預測將要結婚。這個預測邏輯也可以反向執行,用戶購買嬰兒用品:預測已婚已育。

這就是數據時代常說的一句話:用戶在某個應用上一通操作之後,算法分析的結果可能比用戶對自己的描述還要真實。

2、標籤加工流程

數據採集

數據採集的渠道相對較多,比如同一APP內的各種業務線:購物、支付、理財、外賣、信息瀏覽等等。通過數據通道傳輸到統一的數據聚合平台。有了這些海量日誌數據的支撐,才具有數據分析的基礎條件。不管是數據智能,深度學習,算法等都是建立在海量數據的基礎條件上,這樣才能獲取具有價值的分析結果。

數據加工

結合如上業務,通過對海量數據的加工,分析和提取,獲取相對精準的用戶標籤,這裏還有關鍵的一步,就是對已有的用戶標籤進行不斷的驗證和修復,尤其是規則類和擬合類的相關標籤。

標籤庫

網頁設計最專業,超強功能平台可客製化

窩窩以「數位行銷」「品牌經營」「網站與應用程式」「印刷品設計」等四大主軸,為每一位客戶客製建立行銷脈絡及洞燭市場先機。

通過標籤庫,管理複雜的標籤結果,除了複雜的標籤,和基於時間線的標籤變,標籤數據到這裏,已經具有相當大的價值,可以圍繞標籤庫開放一些收費服務,例如常見的,用戶在某電商APP瀏覽某些商品,可以在某信息流平台看到商品推薦。大數據時代就是這麼令人感覺智能和窒息。

標籤業務

數據走了一大圈轉換成標籤,自然還是要回歸到業務層面,通過對標籤數據的用戶的分析,可以進行精準營銷,和智能推薦等相關操作,電商應用中可以提高成交量,信息流中可以更好的吸引用戶。

應用層

把上述業務開發成服務,集成到具有的應用層面,不斷提升應用服務的質量,不斷的吸引用戶,提供服務。當然用戶的數據不斷在應用層面產生,在轉到數據採集服務中,最終形成完整的閉環流程。

3、應用案例

從流程和業務層面描述都是簡單的,到開發層面都會變得複雜和不好處理,這可能就是產品和開發之間的隔閡。

標籤的數據類型

不同標籤的分析結果需要用不同的數據類型描述,在標籤體系中,常用描述標籤的數據類型如下:枚舉、數值、日期、布爾、文本類型。不同的類型需要不一樣的分析流程。

商品和標籤

這裏提供一個基礎案例,用商品的標籤來分析商品,例如通過商品產地,價格,狀態等條件,來查詢產品庫有多少符合條件的商品。

數據表設計

主要分四張表:標籤分類,標籤庫,標籤值,標籤數據。

CREATE TABLE `tc_tag_catalog` (
	`id` INT (11) NOT NULL AUTO_INCREMENT COMMENT '主鍵ID',
	`catalog_name` VARCHAR (50) NOT NULL DEFAULT '' COMMENT '名稱',
	`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間',
	`update_time` datetime DEFAULT NULL COMMENT '更新時間',
	`state` INT (1) DEFAULT '1' COMMENT '狀態1啟用,2禁用',
	PRIMARY KEY (`id`)
) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT = '標籤層級目錄';

CREATE TABLE `tc_tag_cloud` (
	`id` INT (11) NOT NULL AUTO_INCREMENT COMMENT '主鍵ID',
	`catalog_id` INT (11) NOT NULL COMMENT '目錄ID',
	`tag_name` VARCHAR (100) DEFAULT '' COMMENT '標籤名稱',
	`tag_code` INT (11) DEFAULT NULL COMMENT '標籤編碼',
	`bind_column` VARCHAR (100) DEFAULT '' COMMENT '綁定數據列',
	`data_type` INT (2) NOT NULL COMMENT '1枚舉,2數值,3日期,4布爾,5值類型',
	`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間',
	`update_time` datetime DEFAULT NULL COMMENT '更新時間',
	`remark` VARCHAR (150) DEFAULT NULL COMMENT '備註',
	`state` INT (1) DEFAULT '1' COMMENT '狀態1啟用,2禁用',
	PRIMARY KEY (`id`)
) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT = '標籤雲';

CREATE TABLE `tc_tag_data_enum` (
	`tag_code` INT (11) NOT NULL COMMENT '標籤編碼',
	`data_value` VARCHAR (150) NOT NULL COMMENT '枚舉值',
	`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間',
	KEY `tag_code_index` (`tag_code`) USING BTREE
) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT = '標籤枚舉值';

CREATE TABLE `tc_tag_data_set` (
	`id` INT (11) NOT NULL AUTO_INCREMENT COMMENT '主鍵ID',
	`product_name` VARCHAR (100) DEFAULT '' COMMENT '商品名稱',
	`unit_price` DECIMAL (10, 2) DEFAULT '0.00' COMMENT '單價',
	`is_shelves` INT (1) DEFAULT '1' COMMENT '是否上架:1否,2是',
	`origin_place` VARCHAR (100) DEFAULT '' COMMENT '產地',
	`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間',
	PRIMARY KEY (`id`)
) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT = '標籤數據集';

模擬入參接口

這裏的參數應該是基於需求,動態選取,進行組織到一起:

例如圖片中這裏給定的標籤值列表,稱為枚舉值。

@RestController
public class AnalyzeController {

    @Resource
    private TagDataSetService tagDataSetService ;

    @GetMapping("/analyze")
    public String analyze (){
        List<TagParam> tagParamList = new ArrayList<>() ;

        TagParam tagParam1 = new TagParam(1,"產地","origin_place") ;
        List<String> valueList1 = new ArrayList<>() ;
        valueList1.add("深圳");
        valueList1.add("廣東");
        tagParam1.setValueList(valueList1);
        tagParamList.add(tagParam1) ;

        TagParam tagParam2 = new TagParam(2,"價格","unit_price") ;
        List<String> valueList2 = new ArrayList<>() ;
        valueList2.add("1999");
        tagParam2.setValueList(valueList2);
        tagParamList.add(tagParam2) ;

        TagParam tagParam3 = new TagParam(3,"生產日期","create_time") ;
        List<String> valueList3 = new ArrayList<>() ;
        valueList3.add("2020-05-01 13:43:54");
        tagParam3.setValueList(valueList3);
        tagParamList.add(tagParam3) ;

        TagParam tagParam4 = new TagParam(4,"是否上架","is_shelves") ;
        List<String> valueList4 = new ArrayList<>() ;
        valueList4.add("1");
        tagParam4.setValueList(valueList4);
        tagParamList.add(tagParam4) ;

        TagParam tagParam5 = new TagParam(5,"產品名稱","product_name") ;
        List<String> valueList5 = new ArrayList<>() ;
        valueList5.add("智能");
        tagParam5.setValueList(valueList5);
        tagParamList.add(tagParam5) ;

        Integer count = tagDataSetService.analyze(tagParamList) ;

        return "Result:" + count ;
    }
}

參數解析查詢

通過對參數的解析,最終形成查詢的SQL語句,獲取精準的結果數據。

@Service
public class TagDataSetServiceImpl extends ServiceImpl<TagDataSetMapper, TagDataSet> implements TagDataSetService {

    @Resource
    private TagDataSetMapper tagDataSetMapper ;

    @Override
    public Integer analyze(List<TagParam> tagParamList) {
        StringBuffer querySQL = new StringBuffer() ;
        for (TagParam tagParam:tagParamList){
            querySQL.append(" AND ") ;
            querySQL.append(tagParam.getBindColumn()) ;
            // 1枚舉,2數值,3日期,4布爾,5值類型
            List<String> valueList = tagParam.getValueList();
            switch (tagParam.getDataType()){
                case 1:
                    querySQL.append(" IN (") ;
                    for (int i = 0 ; i < valueList.size() ;i++){
                        if (i != valueList.size()-1){
                            querySQL.append("'").append(valueList.get(i)).append("',");
                        } else {
                            querySQL.append("'").append(valueList.get(i)).append("'");
                        }
                    }
                    querySQL.append(" )") ;
                    break;
                case 2:
                    querySQL.append("=").append(tagParam.getValueList().get(0)) ;
                    break;
                case 3:
                    querySQL.append(">='").append(tagParam.getValueList().get(0)).append("'") ;
                    break;
                case 4:
                    querySQL.append("=").append(tagParam.getValueList().get(0)) ;
                    break;
                case 5:
                    querySQL.append(" LIKE '%").append(tagParam.getValueList().get(0)).append("%'") ;
                    break;
                default:
                    break;
            }
        }
        /* 最終執行的 SQL
            SELECT COUNT(*) FROM tc_tag_data_set
            WHERE 1 = 1
            AND origin_place IN ('深圳', '廣東')
            AND unit_price = 1999
            AND create_time >= '2020-05-01 13:43:54'
            AND is_shelves = 1
            AND product_name LIKE '%智能%'
         */
        String whereCondition = String.valueOf(querySQL);
        return tagDataSetMapper.analyze(whereCondition);
    }
}

可能有人會說這不就是個查詢流程嗎?如果有這樣的疑問,把上述案例換成用戶查詢,標籤數據的價值會更直觀。

三、智能畫像

1、基本概念

用戶畫像

作為一種勾畫目標用戶、聯繫用戶訴求與設計方向的有效工具,用戶畫像在各領域得到了廣泛的應用。最初是在電商領域得到應用的,在大數據時代背景下,用戶信息充斥在網絡中,將用戶的每個具體信息抽象成標籤,利用這些標籤將用戶形象具體化,從而為用戶提供有針對性的服務。

行業畫像

通過行業屬性標籤,行業下用戶標籤的綜合分析,生成行業分析報告,提供極有價值的導向,這是最近兩年極其熱門的應用。

畫像補全

通過不斷分析用戶數據,豐富標籤庫,使用戶的畫像更加豐富立體。

2、畫像報告

通過標籤數據的分析,生成一份分析報告,報告內容包含豐富的用戶標籤統計數據。

例如:90后畫像報告

這個報告,互聯網用戶一定或多或少都看到過。主要是一些標籤統計,共性標籤展示,或者哪些群體對90后三觀影響最大,收入來源,學歷等各種分析解讀。

四、源代碼地址

GitHub·地址
https://github.com/cicadasmile/data-manage-parent
GitEE·地址
https://gitee.com/cicadasmile/data-manage-parent

推薦閱讀:《架構設計系列》,蘿蔔青菜,各有所需

序號 標題
01 架構設計:單服務.集群.分佈式,基本區別和聯繫
02 架構設計:分佈式業務系統中,全局ID生成策略
03 架構設計:分佈式系統調度,Zookeeper集群化管理
04 架構設計:接口冪等性原則,防重複提交Token管理
05 架構設計:緩存管理模式,監控和內存回收策略

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

※推薦評價好的iphone維修中心

擁有專業的維修技術團隊,同時聘請資深iphone手機維修專家,現場說明手機問題,快速修理,沒修好不收錢