史上最強(qiáng) PowerBI 全動(dòng)態(tài) RFM 模型 2.2 版 完美得無(wú)懈可擊

本文蘊(yùn)藏殺機(jī)拒课,PowerBI DAX 設(shè)計(jì)的諸多精華盡在一個(gè)模型徐勃,推薦仔細(xì)閱讀。上篇文章寫(xiě)得少得可憐早像,很多戰(zhàn)友提出嚴(yán)重抗議僻肖,要求繼續(xù)揭示這其中的奧秘,好吧卢鹦,你吩咐臀脏,我照辦。

先看效果吧:

image

下面詳細(xì)解讀冀自。

自從2018.5《PowerBI 全動(dòng)態(tài) RFM 模型 1.0》發(fā)布以及2019.6《PowerBI 全動(dòng)態(tài) RFM 模型 2.0》發(fā)布揉稚,收到強(qiáng)烈反響,并收到很多戰(zhàn)友的反饋熬粗。集中表現(xiàn)在:

  • 要求再?gòu)?qiáng)調(diào)一下核心理念
  • 要求再解釋下 2.X 版的重大更新
  • 指出了內(nèi)藏的業(yè)務(wù)邏輯優(yōu)化問(wèn)題

因此搀玖,我們今天發(fā)布 2.2 版,并簡(jiǎn)單解釋?xiě)?zhàn)友提出的問(wèn)題驻呐。

首先給出2.2版本的樣子灌诅,如下:

image

與其對(duì)照的 2.0(2.1)版本,如下:

image

從展現(xiàn)來(lái)說(shuō)暴氏,是沒(méi)有任何差異的,而其實(shí)卻做了非常多的優(yōu)化绣张,讓我們一起來(lái)欣賞這個(gè)過(guò)程答渔。

核心理念

關(guān)于什么是RFM,這里就不再介紹侥涵,可以參考1.0版的文章或自行搜索相關(guān)概念沼撕,這里不再贅述。要強(qiáng)調(diào)的是:在PowerBI中實(shí)現(xiàn)RFM模型芜飘,可以充分利用DAX計(jì)算的動(dòng)態(tài)性务豺,根據(jù)用戶(hù)的選擇實(shí)時(shí)做出計(jì)算,這與完全交給IT計(jì)算或在純Excel中計(jì)算都不同嗦明。

  • 完全交給IT計(jì)算笼沥,往往是固定不變的邏輯,由IT使用SQL等底層數(shù)據(jù)庫(kù)技術(shù)完成娶牌;
  • 完全在Excel中計(jì)算奔浅,則計(jì)算的能力有限,以及配套的可視化有限诗良。

在 PowerBI 中使用 DAX 計(jì)算汹桦,則完全由分析師完成,它可以平衡靈活性和計(jì)算能力鉴裹。這在全動(dòng)態(tài) ABC 模型中也有一樣的效果。

對(duì)照上圖蚜枢,我們指出這里的一些已有亮點(diǎn)魔市。

動(dòng)態(tài)計(jì)算類(lèi)別后再篩選

這個(gè)特性太兇殘了,如果你看懂了脆霎,那就真正理解到DAX的精華了,如下:

image

以及:

image

首先赂蠢,任意客戶(hù)的RFM分類(lèi)并不是預(yù)先存在的绪穆,而是要?jiǎng)討B(tài)實(shí)時(shí)計(jì)算的;熟悉DAX數(shù)據(jù)模型的人都知道只有預(yù)先存在的模型中的列才能篩選與之相關(guān)的表虱岂;而這里玖院,我們完全破除了這個(gè)限制,讓動(dòng)態(tài)計(jì)算完的元素可以被繼續(xù)篩選第岖,這種動(dòng)態(tài)中的動(dòng)態(tài)难菌,可以稱(chēng)之為連環(huán)動(dòng)態(tài)篩選,非常殘忍蔑滓。

三維轉(zhuǎn)二維的全動(dòng)態(tài)

我們都知道RFM模型的示意圖是這樣的:

而在PowerBI中是沒(méi)有這種3D空間型可視化的郊酒,即使有,也很難標(biāo)記各種元素键袱,因此燎窘,我們做了一個(gè)有意義的轉(zhuǎn)換:

  • 取RFM中任意兩個(gè)指標(biāo),分別作為X蹄咖,Y褐健;
  • 取RFM中剩余的指標(biāo),作為大欣教馈蚜迅;
  • 再用元素本身的RFM分類(lèi)繪制顏色。

這樣俊抵,就可以繪制散點(diǎn)圖谁不,如下:

image

這里采用了X對(duì)應(yīng)于R,而Y對(duì)應(yīng)于F徽诲,M自然對(duì)應(yīng)于點(diǎn)的大小刹帕,并繪制顏色。注意上面的標(biāo)題是動(dòng)態(tài)的谎替,可以顯示各個(gè)坐標(biāo)軸和點(diǎn)的含義轩拨。

如果反選X,Y軸院喜,其表現(xiàn)為:

image

當(dāng)然亡蓉,我們可以用R,M來(lái)表示X喷舀,Y砍濒,將得到:

image

反選后淋肾,又將得到:

image

好神奇啊,當(dāng)然爸邢,還可以使用F樊卓,M表示X,Y杠河,則有:

image

反選后碌尔,又將得到:

image

換言之,這里將3D的信息券敌,充分投影到2D空間唾戚,投影的方式完全自定,相當(dāng)?shù)貧埧帷?/p>

我知道你有好奇心待诅,就是想選個(gè)特別的叹坦,來(lái)滿(mǎn)足你,看吧:

image

如果你將X卑雁,Y選擇成一樣的募书,標(biāo)題會(huì)動(dòng)態(tài)地提示你這是錯(cuò)誤的。

這樣的3D轉(zhuǎn)2D测蹲,這樣的顏色分類(lèi)莹捡,這樣的任意選擇,這樣的溫馨提示扣甲,堪稱(chēng)完美得無(wú)懈可擊篮赢,有點(diǎn)兇殘。

如果你認(rèn)為這算炫技文捶,我們也絕不否認(rèn)荷逞,這就是在炫技媒咳,但還沒(méi)有結(jié)束粹排。

日期區(qū)間的動(dòng)態(tài)性

首先,這并不是對(duì)全局所有時(shí)間進(jìn)行計(jì)算涩澡,而是針對(duì)分析人員所選的日期區(qū)間進(jìn)行計(jì)算顽耳,如下:

image

這點(diǎn)就是商業(yè)智能完全碾壓傳統(tǒng)SQL的地方,這種計(jì)算是實(shí)時(shí)指定的妙同,而不是預(yù)先指定射富,每指定一次,去SQL查詢(xún)一次粥帚。

M指標(biāo)KPI的動(dòng)態(tài)性

image

到底用什么來(lái)指定一個(gè)客戶(hù)的M指標(biāo)呢胰耗,是銷(xiāo)售額,利潤(rùn)還是購(gòu)買(mǎi)數(shù)量芒涡,抑或是利潤(rùn)率柴灯,寫(xiě)SQL沒(méi)法知道這種動(dòng)態(tài)性卖漫,而在商業(yè)智能中,PowerBI卻可以讓用戶(hù)實(shí)時(shí)指定赠群,有點(diǎn)殘忍了羊始。

R算法的動(dòng)態(tài)性

image

R在RFM中表示最近的購(gòu)買(mǎi)指標(biāo),到底怎么算最近呢查描,我們可以用若干個(gè)月來(lái)界定突委,也可以用其他的日期計(jì)算方式來(lái)界定,這個(gè)地方就是用來(lái)給出這種可能性冬三,讓我們知道我們不會(huì)被限制匀油,我們來(lái)看看不同指定方式的效果差異。

首先來(lái)看看固定的10個(gè)月區(qū)間法长豁,效果如下:

image

由于按月數(shù)計(jì)算钧唐,離散度很大,所以所有的點(diǎn)都會(huì)聚集到某些整數(shù)得分上匠襟,這是一種非常簡(jiǎn)單快速的劃分方式钝侠。再來(lái)看看按照實(shí)際日期長(zhǎng)度的劃分,效果是:

image

可以看出酸舍,這就立刻表現(xiàn)出了交疊的連續(xù)性帅韧。使用哪種形態(tài)可以完全由分析師動(dòng)態(tài)決定了,有點(diǎn)兇猛的啃勉。

客戶(hù)的可搜索性

這里還充分考慮了由于客戶(hù)很多忽舟,我們就是想知道某個(gè)特定客戶(hù)的分類(lèi)歸屬,我們可以直接搜索淮阐,如下:

image

這樣非常方便地提供了查找客戶(hù)的能力叮阅。

客戶(hù)的動(dòng)態(tài)計(jì)算范圍

細(xì)心的伙伴可以發(fā)現(xiàn),這里的計(jì)算范圍也是可以動(dòng)態(tài)設(shè)定的泣特,例如:

image

如果按照全局計(jì)算浩姥,那客戶(hù)白嬋是一般保持客戶(hù),即使過(guò)濾到只剩她一個(gè)也如此状您,如下:

image

但此時(shí)如果選擇【按所選客戶(hù)】計(jì)算勒叠,則會(huì)出現(xiàn):

image

既然是按所選范圍計(jì)算,那么膏孟,只有一個(gè)人的時(shí)候眯分,就相當(dāng)于在這個(gè)人是計(jì)算范圍,自然就只能是重要價(jià)值客戶(hù)柒桑,我們可以多選幾個(gè)來(lái)看弊决,如下:

image

由于多選,重新按照這個(gè)所選范圍計(jì)算魁淳,客戶(hù)的分類(lèi)就改變了飘诗。值得注意的是傅联,全局的分布如下:

image

可以看出平均值F=25正好是上述兩個(gè)客戶(hù)的平均值,而非四個(gè)客戶(hù)疚察,因?yàn)橛袃蓚€(gè)客戶(hù)不符合參與FRM計(jì)算的條件而被排除蒸走。天呢,太靈活了貌嫡,太可怕了比驻。怎么可能精細(xì)地控制到這個(gè)Level。

精雕細(xì)琢 臻于完美

如果您認(rèn)為這就算結(jié)束岛抄,那就錯(cuò)了别惦,我們看到:

image

自然可以提出,希望可以在圖中標(biāo)出不同的客戶(hù)夫椭,因?yàn)榇藭r(shí)只有少數(shù)幾個(gè)點(diǎn)掸掸,我們已經(jīng)準(zhǔn)備了【顯示標(biāo)簽】按鈕,點(diǎn)擊即可蹭秋,效果如下:

image

點(diǎn)的標(biāo)簽顯示出來(lái)扰付,同時(shí)按鈕呈現(xiàn)【隱藏標(biāo)簽】字樣,意思說(shuō)還可以隱藏標(biāo)簽仁讨,是的羽莺,如果標(biāo)簽過(guò)多,就會(huì)是這樣:

image

這是無(wú)法辨識(shí)的洞豁,因此需要點(diǎn)擊【隱藏標(biāo)簽】來(lái)隱藏所有標(biāo)簽盐固,如下:

image

太人性化了,太殘暴了丈挟,如此雕琢刁卜,如同打造一件奢侈品。如果您認(rèn)為這就結(jié)束了曙咽,那就又大錯(cuò)特錯(cuò)了蛔趴。

到此,一切才剛剛開(kāi)始桐绒。

2.X 重大更新

從 2.0 版本夺脾,往后都稱(chēng)為 2.X 版之拨。目前當(dāng)前版本為 2.2 版茉继,目前認(rèn)為是該模型的穩(wěn)定版。在該版本中蚀乔,我們主要更新了三個(gè)方面:

  • 利用了PowerBI及DAX的最新能力烁竭,如:動(dòng)態(tài)染色,動(dòng)態(tài)標(biāo)題等吉挣。
  • 更新了設(shè)計(jì)模式派撕。
  • 平衡了靈活性與性能婉弹。

具體說(shuō)來(lái),在設(shè)計(jì)模式方面终吼,這里借鑒了軟件工程中 MVC 設(shè)計(jì)模式以及 依賴(lài)注入 設(shè)計(jì)思想镀赌,尤其是2.2中對(duì)此有重要體現(xiàn),如下:

image

RFM模型包括三個(gè)度量值文件夾:

  • Core际跪,盛放RFM核心框架業(yè)務(wù)邏輯商佛,屬于不需要改變的部分。
  • View姆打,盛放視圖層的計(jì)算邏輯良姆,與業(yè)務(wù)無(wú)關(guān),實(shí)現(xiàn)動(dòng)態(tài)染色或建立可視化幔戏。
  • 依賴(lài)注入玛追,盛放RFM各分量的實(shí)際業(yè)務(wù)計(jì)算邏輯。

值得說(shuō)明的是闲延,這三個(gè)文件夾幾乎是任何通用了標(biāo)準(zhǔn)模型的標(biāo)配痊剖,因?yàn)槟P偷耐ㄓ眯裕厝淮嬖谝粋€(gè)框架性的業(yè)務(wù)邏輯垒玲;而實(shí)際的邏輯是以實(shí)際為準(zhǔn)的邢笙,則必然由依賴(lài)注入完成;邏輯的最終體現(xiàn)通常是可視化侍匙,而在PowerBI中的報(bào)表層氮惯,則是DAX驅(qū)動(dòng)的,因此想暗,具有View妇汗。

重要業(yè)務(wù)邏輯優(yōu)化及完備性

有戰(zhàn)友提出了一個(gè)非常有價(jià)值的問(wèn)題:該模型的計(jì)算是否可以只針對(duì)老客戶(hù)進(jìn)行? 當(dāng)時(shí)我們給了實(shí)現(xiàn)的建議说莫,由于該建議的合理性和重要性杨箭,這里給出標(biāo)準(zhǔn)實(shí)現(xiàn)以供參考。

業(yè)務(wù)邏輯的合理性論證

將原子計(jì)算指定為用于老用戶(hù)储狭,這具有非常重要的現(xiàn)實(shí)意義互婿,對(duì)于所選區(qū)間的新用戶(hù)是不存在RFM的。因此辽狈,準(zhǔn)確地講慈参,RFM是對(duì)老客戶(hù)進(jìn)行分類(lèi)的進(jìn)一步方法。也就是說(shuō)刮萌,對(duì)于對(duì)客戶(hù)的分類(lèi)法驮配,可以認(rèn)為:

  • 首先,將客戶(hù)分為新客戶(hù)和老客戶(hù);
  • 其次壮锻,再將老客戶(hù)按RFM分為8種類(lèi)型分別運(yùn)營(yíng)琐旁。

整個(gè)運(yùn)營(yíng)邏輯結(jié)構(gòu)如下:

image

從運(yùn)營(yíng)的角度看,重復(fù)購(gòu)買(mǎi)幾乎被認(rèn)定為商業(yè)模式是否成功的必要判斷標(biāo)準(zhǔn)猜绣,因此灰殴,合理有效的老客戶(hù)就非常重要,而對(duì)于不同類(lèi)型的老客戶(hù)需要采取的運(yùn)營(yíng)策略和資源又會(huì)不同掰邢,因此验懊,RFM幾乎是一種自然而然地標(biāo)準(zhǔn)分類(lèi)法則,而這應(yīng)該是基于老客戶(hù)進(jìn)行的尸变。

DAX 設(shè)計(jì)與實(shí)現(xiàn)

因此义图,這里對(duì) RFM 的核心邏輯植入這一業(yè)務(wù)邏輯,其核心業(yè)務(wù)邏輯如下:

  • 對(duì)于所選的日期區(qū)間召烂,計(jì)算其中的老客戶(hù)集合碱工;
  • 對(duì)于任意其中的老客戶(hù),實(shí)施RFM分類(lèi)及計(jì)算奏夫。

DAX如下:

VAR OldCustomers = FILTER( VALUES( 'Order'[客戶(hù)ID] ) , CALCULATE( MIN( 'Order'[訂單日期] ) , ALL( 'Model.Date' ) ) < MIN( 'Model.Date'[Date] ) )
RETURN
IF( SELECTEDVALUE( User[客戶(hù)ID] ) IN OldCustomers ,
    < 真正的計(jì)算邏輯 >
)

其中怕篷,<真正的計(jì)算邏輯>依賴(lài)注入給出,這也是充分體驗(yàn)設(shè)計(jì)模式的地方酗昼。在實(shí)際的實(shí)現(xiàn)中廊谓,則是:

RFM.Item.M = 
VAR OldCustomers = FILTER( VALUES( 'Order'[客戶(hù)ID] ) , CALCULATE( MIN( 'Order'[訂單日期] ) , ALL( 'Model.Date' ) ) < MIN( 'Model.Date'[Date] ) )
RETURN IF( SELECTEDVALUE( User[客戶(hù)ID] ) IN OldCustomers , [RFM.Item.M.Action] )

其中,依賴(lài)注入項(xiàng)為[RFM.Item.M.Action]麻削,其實(shí)現(xiàn)為:

RFM.Item.M.Action = 
[KPI.Auto] / MAXX( ALL( User[客戶(hù)名稱(chēng)] ) , [KPI.Auto] ) * 100 

而全局平局的值則為:

RFM.Aver.M = 
AVERAGEX( ALLSELECTED( User[客戶(hù)名稱(chēng)] ) , [RFM.Item.M] )

因此蒸痹,整個(gè)邏輯就非常清晰了。

設(shè)計(jì)的巧妙之處

確實(shí)出現(xiàn)了非常細(xì)心的戰(zhàn)友伙伴呛哟,問(wèn)道叠荠,如果一個(gè)人沒(méi)有銷(xiāo)售記錄,出現(xiàn)空值扫责,如何處理榛鼎?在計(jì)算整體平均時(shí),是否考慮出現(xiàn)空值的客戶(hù)鳖孤?

由于核心的業(yè)務(wù)邏輯框架改用了老客戶(hù)版本者娱,那么當(dāng)前日期區(qū)間必然存在購(gòu)買(mǎi)記錄,否則就不是老客戶(hù)了苏揣。而對(duì)于不是老客戶(hù)的人黄鳍,其RFM得分也是空。最巧妙地計(jì)算就在于整體平均計(jì)算會(huì)忽略這些空值腿准,使得整個(gè)計(jì)算結(jié)果是合理有效的际起。

這種巧妙地設(shè)計(jì)要精通DAX的每個(gè)細(xì)節(jié),因?yàn)檫@些計(jì)算上的巧合使得整個(gè)模型多一寸嫌多吐葱,少一寸嫌少街望,剛剛好的感覺(jué)很棒。

RFM 模型的完備性

一般在數(shù)學(xué)領(lǐng)域會(huì)用完備性來(lái)描述一個(gè)框架的完整性弟跑,而該模型就滿(mǎn)足一種完備性灾前。

經(jīng)過(guò)上述的調(diào)整,我們得到了無(wú)懈可擊的完美RFM模型如下:

image

Core孟辑,實(shí)現(xiàn)了RFM的核心邏輯:

  • 分別計(jì)算任意元素的R哎甲,F(xiàn),M分量值饲嗽;
  • 分別計(jì)算任意元素的R炭玫,F(xiàn),M分量分類(lèi)貌虾;
  • 分別計(jì)算整體的R吞加,F(xiàn),M均值尽狠;
  • 計(jì)算任意元素的RFM分類(lèi)衔憨;
  • 計(jì)算任意元素的RFM分類(lèi)顏色;
  • 計(jì)算任意元素的RFM定量加權(quán)總計(jì)袄膏;
  • 計(jì)算在不同RFM分類(lèi)下的客戶(hù)數(shù)践图;

其中,R沉馆,F(xiàn)码党,M分量的計(jì)算由依賴(lài)注入項(xiàng)(度量值)給出。

整個(gè)邏輯框架斥黑,完美得無(wú)懈可擊闽瓢,太兇殘了,多一個(gè)嫌多心赶,少一個(gè)嫌少扣讼,剛剛好。

靈活與性能的平衡

這樣的完美模型缨叫,怎能不去平衡下性能呢椭符,其實(shí)為了保持性能,我們并沒(méi)有將模型的動(dòng)態(tài)性發(fā)揮到極致耻姥。這也不斷在向伙伴們展示销钝,在我們可以駕馭任意級(jí)別的動(dòng)態(tài)性之后,我們?nèi)匀豢梢宰匀绲幕赝说揭粋€(gè)平衡的位置琐簇,為什么沒(méi)有2.0.0版蒸健,其實(shí)伙伴們直接拿到的2.1版座享,本次發(fā)布的是2.2版,這是因?yàn)?.0版的設(shè)計(jì)考慮了極致的動(dòng)態(tài)性似忧,導(dǎo)致核心散點(diǎn)圖計(jì)算需要15秒渣叛,而完全優(yōu)化后達(dá)到了0.8秒,當(dāng)然盯捌,2.2版由于加入了少許復(fù)雜的計(jì)算淳衙,性能略有下降,我們實(shí)測(cè)結(jié)果如下:

image

可以這么歸納:

  • 極致動(dòng)態(tài)饺著,犧牲性能 需15秒
  • 平衡動(dòng)態(tài)箫攀,平衡性能 需0.8秒
  • 進(jìn)階動(dòng)態(tài),合理性能 需1.8秒

合理可接受幼衰,因此靴跛,我們最終采用這一版本。

總結(jié)

整體說(shuō)來(lái)渡嚣,RFM模型整體如下:

image

整體設(shè)計(jì)采用MVC設(shè)計(jì)模式汤求,并通過(guò)依賴(lài)注入提供靈活擴(kuò)展,并采用了規(guī)范化的命名系統(tǒng)严拒。

最終形成效果:

image

該模型設(shè)計(jì)在八個(gè)維度下全量動(dòng)態(tài)計(jì)算扬绪,模型同時(shí)兼具了業(yè)務(wù)能力強(qiáng),邏輯嚴(yán)密裤唠、靈活擴(kuò)展挤牛、性能強(qiáng)大,展現(xiàn)精巧种蘸,設(shè)計(jì)規(guī)范墓赴,精致細(xì)節(jié)等特色,是非常經(jīng)典的商業(yè)智能范例航瞭,也是目前世界范圍內(nèi)最強(qiáng)大的(沒(méi)有之一)PowerBI DAX RFM 商業(yè)智能案例實(shí)現(xiàn)诫硕。充分展示了PowerBI及DAX的能力,毫不夸大地說(shuō)刊侯,這是無(wú)懈可擊的完美模型章办,該 RFM2.2 模型 既可以直接套用,又特別適合用來(lái)研習(xí)PowerBI及DAX的精華滨彻,對(duì)于PowerBI用戶(hù)來(lái)說(shuō)藕届,是絕對(duì)不可錯(cuò)過(guò)的,希望大家可以照此練習(xí)亭饵,建議對(duì)照1.0版休偶,2.1版,2.2版學(xué)習(xí)辜羊,您會(huì)看到一個(gè)模型是如何一步步從初始狀態(tài)優(yōu)化成為一個(gè)無(wú)懈可擊的完美模型踏兜。也歡迎戰(zhàn)友伙伴們提出更多好的想法词顾,優(yōu)化是永無(wú)止境的。周末又到了碱妆,戰(zhàn)友們肉盹,盡情享用吧。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末山橄,一起剝皮案震驚了整個(gè)濱河市垮媒,隨后出現(xiàn)的幾起案子舍悯,更是在濱河造成了極大的恐慌航棱,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件萌衬,死亡現(xiàn)場(chǎng)離奇詭異饮醇,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)秕豫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)朴艰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人混移,你說(shuō)我怎么就攤上這事祠墅。” “怎么了歌径?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵毁嗦,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我回铛,道長(zhǎng)狗准,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任茵肃,我火速辦了婚禮腔长,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘验残。我一直安慰自己捞附,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布您没。 她就那樣靜靜地躺著故俐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪紊婉。 梳的紋絲不亂的頭發(fā)上药版,一...
    開(kāi)封第一講書(shū)人閱讀 49,036評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音喻犁,去河邊找鬼槽片。 笑死何缓,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的还栓。 我是一名探鬼主播碌廓,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼剩盒!你這毒婦竟也來(lái)了谷婆?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤辽聊,失蹤者是張志新(化名)和其女友劉穎纪挎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體跟匆,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡异袄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了玛臂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片烤蜕。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖迹冤,靈堂內(nèi)的尸體忽然破棺而出讽营,到底是詐尸還是另有隱情,我是刑警寧澤泡徙,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布橱鹏,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜静稻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一捅膘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)枫绅。三九已至泉孩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間并淋,已是汗流浹背寓搬。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留县耽,地道東北人句喷。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓镣典,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親唾琼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子兄春,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容