小傅哥星球项目拆解,如何设计复杂的抽奖流程
作者:小傅哥
博客:https://bugstack.cn
沉淀、分享、成長(zhǎng),讓自己和他人都能有所收獲!??
大家好,我是技術(shù)UP主小傅哥。
我想做一個(gè)抽獎(jiǎng),但想讓用戶合理的別中獎(jiǎng)。現(xiàn)在各個(gè)互聯(lián)網(wǎng)產(chǎn)品場(chǎng)景中,都有抽獎(jiǎng)模塊來(lái)拉新促活,如;平臺(tái)簽到積分抽獎(jiǎng)、商城支付完成抽獎(jiǎng)、打車優(yōu)惠發(fā)券抽獎(jiǎng),你以為的是抽獎(jiǎng),但大部分都是借著抽獎(jiǎng)的外殼消耗你的積分和定向發(fā)放消費(fèi)券。
你以為你玩的是抽獎(jiǎng),但其實(shí)玩的是你對(duì)人性的理解!這也是營(yíng)銷中最復(fù)雜的產(chǎn)品運(yùn)營(yíng)設(shè)定,既要讓用戶玩的開心,又有讓平臺(tái)有的賺。所以縱橫交錯(cuò)邏輯功能實(shí)現(xiàn)的營(yíng)銷組也是各個(gè)互聯(lián)網(wǎng)公司中代碼實(shí)現(xiàn)度最復(fù)雜的組。
接下來(lái),就帶著兄弟們做一款復(fù)雜的抽獎(jiǎng)場(chǎng)景領(lǐng)域和庫(kù)表設(shè)計(jì)!—— 所以,兄弟們????不是某個(gè)系統(tǒng)爛大街,爛大街的是寫不出好工程代碼的CRUD!
一、產(chǎn)品場(chǎng)景
積分,積累積分兌換商品,是各個(gè)互聯(lián)網(wǎng)中場(chǎng)景都有的一個(gè)產(chǎn)品系統(tǒng)用于沉淀用戶。你的積分積累可以在系統(tǒng)內(nèi)循環(huán)完成抽獎(jiǎng)、兌換、抵扣,但隨著產(chǎn)品運(yùn)營(yíng)的時(shí)間越長(zhǎng),就會(huì)發(fā)現(xiàn)越來(lái)越多的人攢積分,導(dǎo)致通貨膨脹。這就有點(diǎn)像我們很多人攢錢不花不消費(fèi)一樣,導(dǎo)致越少攢錢的人,錢越來(lái)越不值錢。所以也要發(fā)一些消費(fèi)券,讓我們的錢流動(dòng)起來(lái)。
那么,這樣的情況在互聯(lián)網(wǎng)場(chǎng)景中,則會(huì)通過抽獎(jiǎng)活動(dòng)的方式,來(lái)消耗你的積分積累。普通的抽獎(jiǎng)當(dāng)然很難消耗鬼精的用戶積分,所以要設(shè)定一些規(guī)則玩法通過你不斷的抽獎(jiǎng)來(lái)消耗積分。【如圖】
展示給你的是抽獎(jiǎng),沒展示給你的全是手段!
- 首次,免費(fèi)抽獎(jiǎng),可設(shè)定抽獎(jiǎng)范圍。讓你第一次抽獎(jiǎng)超過62.9%,甚至達(dá)到99%全是隨機(jī)積分,而這個(gè)隨機(jī)的積分有時(shí)候恰好夠你消耗所剩積分完成一次抽獎(jiǎng)。
- 而后,隨機(jī)積分,也是遠(yuǎn)小于所需抽獎(jiǎng)的積分,目的就是為了消耗你的積分值。100積分,最后得到20積分。類似斗地主每把都有入場(chǎng)費(fèi)。
- 再有,增加的大獎(jiǎng)抽獎(jiǎng),必須用戶抽獎(jiǎng)n次后解鎖。都抽獎(jiǎng)1次了,再來(lái)2次就解鎖了。這個(gè)時(shí)候你就忘記了自己要贊積分,指向點(diǎn)下10連抽。
- 最后,再有一個(gè)6000積分消耗必中獎(jiǎng)策略,讓用戶知道反正最后會(huì)得到一次非積分的獎(jiǎng)品,趕緊梭哈!
這些,還只是你表面能看見了的,看不見的還有一些配置的手段。比如你是個(gè)老羊毛用戶,那么你的抽獎(jiǎng)根本就是個(gè)擺設(shè),你能得到的獎(jiǎng)品都是風(fēng)控兜底,比如100積分,抽到1積分。
這還只是大營(yíng)銷中的一個(gè)抽獎(jiǎng)場(chǎng)景,就已經(jīng)這么復(fù)雜,可想而知整個(gè)營(yíng)銷下的;券、裂變、分銷、活動(dòng)、返利、人群、灌券、出資、結(jié)算有多復(fù)雜。產(chǎn)品玩的花,研發(fā)苦哈哈。就這種場(chǎng)景如果你都是 if···else 那你每天就別下班了,半夜都的被電話打起來(lái)改bug!
二、領(lǐng)域模型
這樣的復(fù)雜系統(tǒng)非常適合使用 DDD 進(jìn)行領(lǐng)域建模設(shè)計(jì),通過領(lǐng)域的拆解分析得到所需開發(fā)的各項(xiàng)功能領(lǐng)域。通過這樣的手段,也能更好的管理后續(xù)需求的迭代。
- 首先,以用戶所在營(yíng)銷場(chǎng)景的生命旅程為鏈路,分析出所需的核心領(lǐng)域模型。
- 之后,拆解的模型包含;活動(dòng)領(lǐng)域、活動(dòng)庫(kù)存、用戶參與領(lǐng)域、抽獎(jiǎng)策略領(lǐng)域、子領(lǐng)域規(guī)則、活動(dòng)賬戶、獎(jiǎng)品領(lǐng)域和積分賬戶領(lǐng)域。
- 最后,依照于領(lǐng)域模型來(lái)設(shè)計(jì)具體功能。這里我們先聚焦到抽獎(jiǎng)策略模型中,通過對(duì)產(chǎn)品功能的分析,完成領(lǐng)域功能理解和庫(kù)表的設(shè)計(jì)。
三、流程設(shè)計(jì)
復(fù)雜的抽獎(jiǎng)產(chǎn)品,也會(huì)對(duì)應(yīng)著復(fù)雜的設(shè)計(jì)。而這些設(shè)計(jì)的細(xì)節(jié)才是研發(fā)的核心知識(shí),無(wú)論你是在做此類功能還是說(shuō)面試,都是希望能思考到這些場(chǎng)景對(duì)應(yīng)的實(shí)現(xiàn)手段。與之相比純CRUD是啥設(shè)計(jì)呢,我來(lái)給兄弟們對(duì)比看下。
1. 簡(jiǎn)單設(shè)計(jì) - 市面上的開源抽獎(jiǎng)
2. 復(fù)雜設(shè)計(jì) - 小傅哥設(shè)計(jì)的抽獎(jiǎng)
可以這么說(shuō),小傅哥給你做的場(chǎng)景設(shè)定、領(lǐng)域建模、流程設(shè)計(jì),以及對(duì)應(yīng)的代碼開發(fā),都是以互聯(lián)網(wǎng)應(yīng)用級(jí)項(xiàng)目所做的。所以你學(xué)習(xí)到這類細(xì)節(jié)賊多的知識(shí),面試的時(shí)候是非常有的講的,而且你還能把一些算法結(jié)合進(jìn)去。那么這么整不是嘎嘎強(qiáng),嘎嘎亂殺嗎!https://gaga.plus
四、庫(kù)表設(shè)計(jì)
關(guān)于抽獎(jiǎng)策略這部分會(huì)涉及到4張表,包括;策略表、策略規(guī)則表、策略獎(jiǎng)品、獎(jiǎng)品表,【如圖】
DDD 開發(fā)會(huì)通過領(lǐng)域建模驅(qū)動(dòng)著功能的設(shè)計(jì)實(shí)現(xiàn),但實(shí)現(xiàn)的細(xì)節(jié)思考會(huì)有對(duì)應(yīng)數(shù)據(jù)結(jié)構(gòu)的使用。而這些數(shù)據(jù)結(jié)構(gòu)則會(huì)體現(xiàn)到庫(kù)表中,所有好的庫(kù)表設(shè)計(jì),可以讓領(lǐng)域功能的實(shí)現(xiàn)更加細(xì)膩靈活。那么你看到這里的庫(kù)表字段則會(huì)涉及這對(duì)應(yīng)的流程的設(shè)計(jì)實(shí)現(xiàn),尤其是多種類型的設(shè)計(jì),更是編碼中設(shè)計(jì)原則、設(shè)計(jì)模式的體現(xiàn)。
項(xiàng)目地址:https://gaga.plus
總結(jié)
以上是生活随笔為你收集整理的小傅哥星球项目拆解,如何设计复杂的抽奖流程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 女王英语霸气网名144个
- 下一篇: Django学习(三) 之 模板中标签