主頁 > 軟體設計 > 閑魚如何0到1搭建一套發布引導鏈路

閑魚如何0到1搭建一套發布引導鏈路

2021-04-23 10:20:55 軟體設計

背景

隨著閑魚持續不斷的需求迭代和業務迅速的發展,如何進一步提升用戶的使用、留存和活躍的轉化,進而帶動整體二手交易市場的增長是核心命題,經閑魚內部資料分析我們發現,用戶的商品發布數與成交量呈現明顯正相關,寶貝數量越多的賣家,更活躍且留存高,所以發布對于成交和用戶留存活躍有著至關重要的作用,那么我們如何引導賣家發布更多的商品,從而幫助交易創新業務快速迭代,促進供給與交易增長,是閑魚目前重點思考方向之一,

現狀與目標

閑魚目前的MAU中66%非賣家,而在線賣家中有接近一半的用戶只有2件以內的寶貝,賣家不發布的主要原因可以分為以下三類:

1.動力不足

2.發布成本高

3.沒有觸發賣家轉賣意識

以往閑魚通過在雙十等大促活動中嘗試發布閑置領紅包、權益等相關營銷活動提高賣家發布動力;智能發布(模糊、相似度檢測、主題識別)、輕發布(同款預測、輸入聯想、鍵盤標簽)的建設致力于降低用戶的發布成本;而在發布鏈路上的促發布營銷策略基本都是臨時活動為主,需要研發每次提前case by case的單獨開發,排期耗時嚴重,一直以來缺乏固定場景的定向干預能力,觸發用戶的轉賣意識,

結合閑置二手市場貨品的孤品特性,不同商品品類的商品效率和成交效率相去甚遠,我們希望基于閑置市場供需現狀分析,挖掘機會市場,在固定引導頁建立導賣主陣地,搭建一條人工可定向干預+演算法推薦的促發布導賣推薦鏈路,實作千人千面的精細化運營,引導賣家發布,調整發布商品的品類結構,從而更好的給閑魚提供優質供給,提高商品效率,促進交易增長,實作賣家促發布倍訓,

思路

圍繞倍訓鏈路中的問題,具體該如何搭建一個運營可長期干預的促發布平臺?我們需要從以下角度著手:

1.結合二手閑置商品演算法的供需分析,實作不同賣家的不同策略推薦

2.基于賣家淘寶訂單融合多演算法推薦策略,展示同類商品匹配求購和賣出詳情

3.通過工程手段賦能業務方,提供實時干預能力,加速新業務的快速上線、快速調整投放策略

基于以上考慮,我們和演算法和搜索團隊合作,打通演算法基于一鍵轉賣串列的個性化推薦鏈路,同時支持運營干預能力,聯動搜索實時匹配賣出的關聯商品,為促發布導賣長期定向干預搭建一潭訓礎鏈路,實作導賣策略的千人千面,給予業務方快速試錯機會,

主要實作方法

圍繞前面提到的核心思路,我們可以將促發布引導鏈路可拆分為兩類場景,一類是運營配置的活動和策略,另一類是演算法根據賣家淘寶訂單串列的個性化SPU推薦,基于移動端的UT日志采集,我們分別設計了運營活動配置、演算法推薦、條件搜索三大模塊,實作不同的功能

1.運營活動配置支持對多種導賣活動型別的靈活配置

2.演算法推薦用于獲取促發布演算法的不同策略

3.條件搜索用于解決承接頁關聯商品的資料源

在實作程序中我們遵循以下兩個原則:

  • 模塊之間互相解耦,實作程序中依賴的多個外部系統,明確批次的邊界,做到最小耦合

  • 模塊內接入服務具有可擴展性,運營策略和演算法策略可能會不斷迭代,在代碼實作上我們需要做到可快速接入,易擴展

總體分層架構如下:

運營活動配置建設

為給運營提供長期干預能力,實作千人千面的導賣策略,如果像以往老的開發模式中,需要通過服務端推開關甚至修改代碼才實作,不僅成本高且效率低,因此促發布活動配置基于閑魚技術團隊打造的鯤鵬系統(面向業務開發和運營同學的平臺)進行二次開發,通過鯤鵬積木化特性提供的兩個主要擴展點(DataFetcher和MatFilter)開發框架實作業務特殊需求,使得開發模式從原來的單人串行開發升級為多人并行,將開發與運營的角色分工隔離,并實作活動周期管理、灰度控制、多種條件過濾(版本、疲勞度、平臺等)等功能,

1.DataFetcher子系統,通過實作該父類,運營活動后續在首頁feeds、搜索結果頁、猜你喜歡頁面等投放時此DataFetcher類可快速復用,通過控制臺注冊到對應場景即可,有效節省開發資源,也提升了業務上線效率,

2.MatFilter過濾器子系統,它沉淀了多種基礎組件供業務使用,例如分版本、灰度流量比例、搜索詞嚴格匹配、頁碼過濾、uv疲勞度過濾等前置過濾器等,活動配置可根據相關的運營定投需求,在控制臺上選擇對應的過濾器使用,同時通過繼承MatFilter基類實作具體業務邏輯,

促發布鏈路基于以上兩個子系統的能力,在投放出來的擴展點上拓展業務需求,實作場景的可擴展和素材過濾器的復用,開發出促發布獨有的配置模板和素材,提供運營基礎組件來達到不同配置的投放效果,

?運營配置設計如下

運營在配置平臺上,可靈活配置活動的生命周期、投放人群、活動疲勞度、投放策略的優先級以及活動的具體主題引數等,然后根據不同活動選擇不同的素材,配置完成后經樣式預覽,進行審批,產生實驗資料,實作活動鏈路倍訓,

開發同學實作完設計的幾種配置模板后,后續所有運營類的變更都可以由運營和產品自助在控制臺操作完成,如果投放不符合預期,也可自動修改、自助下線,整體流程和開發同學解耦,

演算法分析推薦

演算法測主要通過供需分析為運營導賣策略提供重要依據以及提供個性化SPU商品推薦

  • 商品供需分析,利用細分市場與大盤流量效率及商品效率的對比,結合動銷情況,根據發布到成交的時間長短,挖掘出緊俏供給類目,供運營圈選人群的策略提供重要依據;

  • 個性化SPU商品推薦,基于用戶淘寶訂單,從擴展可轉賣訂單、優化排序模型、優化促發布利益點:如求購人數、價格指導、售賣時間預估 三個方面進行優化;重構離線資料源與在線方案,透出真實求購商品和匹配人數,促進發布;

考慮到演算法的多來源接入及后續接入的擴展性,針對集團統一的TPP服務(集團內通用的JVM代碼開發和托管平臺,目前承載主要的推薦業務),促發布鏈路根據不同演算法源(獲取spu商品、對應的匹配商品數)進行結果DO定義,繼承基礎DO(resultBaseDO),使用統一封裝的模板請求和決議TPP服務的結果,大幅降低接入成本,提升代碼擴展性,

模板定義結構類圖如下:

客戶端每次只需要自定義具體場景id對應的tpp回傳結果結構體,然后統一呼叫getResultAndParse函式即可,由模板統一完成資料結構轉換、日志列印、例外保護等,極大提升了接入效率,代碼示例如下:

    function <T extends TppResultBaseDO> TppResultDO<T> getResultAndParse(sceneId, userId, params, cls) {
        TppResultDO<T> tppResultDO = new TppResultDO<>();  
                // 請求獲取tpp結果
        String response = retrieveTppData(sceneId, userId, params);
        try {
            if (condition) {
                    // 根據繼承模板類決議成基礎DO
                tppResultDO = JSONObject.parseObject(response, new TypeReference<TppResultDO<T>>(cls) {
                });
            } else {
                ...
            }
        } catch (Throwable throwable) {
            ...
        }   
        return tppResultDO;
 }

條件搜索

為給用戶展示與推薦策略同型別商品詳情,我們聯動搜索,分別在運營活動配置和策略、演算法SPU推薦商品的不同活動承接頁中支持了不同條件下關聯商品的搜索(關鍵詞、多類目、多狀態排序),解決承接頁同類商品的實時資料源問題,

效果

目前,促發布導賣已在線上分桶實驗中,賣家進入頁面后點擊率和承接頁轉化效率較高,但整體入口轉化率表現不明顯,對發布和交易的大盤提升有限,后續會根據賣家發布行為特征,嘗試在更多新場景下進一步探索適用場景,觸發賣家轉賣心智,

總結與展望

本文主要介紹發布引導促發布鏈路的整體架構及幾個關鍵點的解決思路,希望能給讀者帶來的一些思考和啟發,促發布鏈路天然支持奧格人群圈選、鯤鵬多場景過濾,運營活動、策略和演算法推薦相結合,不光是在發布引導頁,首頁feeds、猜你喜歡等多場景也可快速接入,后續我們也會嘗試探索更多的促發布新場景(閑魚集市,新手村,拍照掃碼發布等),持續挖掘賣家行為資料和特征,提升賣家用戶標的精度和轉化效率,同時結合品牌力、價格力、供需關系來提升商品優質供給和賣家活躍度,實作交易增長,

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/279224.html

標籤:其他

上一篇:第六章 C世界函式的故事(2)

下一篇:我阿里P7了解到的Android面試的一些小內幕!已拿offer

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more