凡煙小說

九點零三分

關燈
九點零三分

第二章九點零三分

陳序到公司的時候,八點五十八分。

他昨晚到家之後又打開了電腦,把PPT的開頭重寫了四遍。不是睡不著,是腦子裏那個關於“九月改版”的故事一直沒成型。他試了三種講法,第一種太啰嗦,第二種太技術,第三種太主觀。最後他關了電腦,躺到床上,盯著天花板想了大概十分鐘,突然想到了第四種——不講技術,不講數據,先講用戶。

用戶是九月改版後流失的那批人。他們在改版前平均每天打開APP六次,改版後第三天就不再來了。數據上他們只是“次月留存率下跌三個百分點”裏的一個數字,但如果把他們當作具體的人呢?他們是在什麽情境下最後一次打開APP的?他們看到了什麽?他們為什麽沒有回來?

陳序不知道答案。但他覺得,先承認“不知道”,比假裝知道更有力量。沈時予要的不一定是完美的答案,他可能更想看這個人有沒有問對問題的能力。

他早上醒來的時候,林知意已經出門了。床頭櫃上放著一杯涼了的水,杯子下面壓著一張便簽紙,上面寫了三個字:“晚上聊。”陳序把便簽紙翻過來,背面是空白的。他把紙對折了一下,塞進外套口袋。

電梯沒等太久。陳序走進去的時候,裏面已經站了幾個人,他退到角落,按了十五樓。電梯上行的時候,他的手機震了一下,是蘇皖的消息:“你到公司了嗎?”

“在電梯裏。”他回。

“我也在電梯裏。”她發了一個句號,然後又發了一條,“我在十三樓,比你早兩分鐘到。”

陳序看著那兩條消息,楞了一下。不是不知道回什麽,是不知道她為什麽告訴他這些。他打了一句“好”,想了想,刪掉了。又打了“那待會見”,又刪掉了。最後他打了三個字:“知道了。”發出去之後他覺得這三個字太冷了,但再改就更刻意了,就這樣吧。

十五樓到了。陳序走出來的時候,看到蘇皖正站在茶水間門口,手裏拿著一杯新的咖啡,白襯衫換了——今天穿的是淺藍色的。她看到他的時候,舉了一下手裏的杯子,像是在打招呼,又像是在說“今天沒潑在你身上”。

陳序點了一下頭,朝自己的工位走去。

匯報在九點半,還有半個小時。他坐下來把PPT從頭到尾過了一遍,確認沒有錯別字,確認每一個圖表的坐標軸都標了單位——沈時予據說會在這些細節上抓人,他不想在這種地方丟分。他把最後幾頁的結論又讀了一遍,確認自己能在不看備註的情況下把每一句都講清楚。

手機又震了。蘇皖的消息:“你緊張嗎?”

陳序盯著這三個字看了兩秒,打了四個字:“有一點。”發出去之後他覺得“有一點”太誠實了,但他沒刪。誠實就誠實吧。

“我也是。”蘇皖回,“雖然不是我匯報。”

陳序沒回。他把手機扣在桌上,深吸了一口氣,拿著電腦和報表,走向會議室。

會議室的燈是全亮的。長長的會議桌兩邊已經坐了幾個人,運營部的兩個同事在產品部的座位上聊天,數據部的組長陸洋坐在最邊上刷手機,看到陳序進來,擡了一下下巴示意他坐到前面。陳序走過去,把電腦連上投影,調試了一下,PPT的封面出現在屏幕上——“用戶行為數據分析·三季度覆盤”,下面是他名字的拼音,小小的,在右下角。

九點二十八分,會議室的門被推開了。

沈時予走進來的時候,會議室裏所有人的目光都聚了過去。不是因為他長得高——雖然他確實高,一米八幾,深灰色的西裝,襯衫最上面一顆扣子沒系,整個人看起來不像來開會的,像剛從雜志裏走出來的。是因為他身上有一種東西,具體是什麽陳序說不上來,但如果要用一個詞形容,是“密度”。這個人站在那裏,哪怕不動不說話,你也會覺得他占了比實際體型更大的空間。不是壓迫感,是存在感。

沈時予坐下來,目光掃了一圈會議室,最後落在屏幕上。

“開始吧。”他說。

陳序站起來,走到投影幕前。

“今天匯報的主要內容是三季度用戶行為數據分析,重點聚焦九月改版對核心指標的影響。我會先講整體趨勢,再拆解不同用戶群體的差異化表現,最後給出結論和建議。”

他沒有用稿子,也沒有看備註。這些話他已經練了太多遍,每一個停頓、每一個轉折都刻在肌肉記憶裏。他的聲音不大,但穩,像一條不寬但很深的小河,不急不慢地往前流。

他講了整體趨勢:日活、月活、留存率、使用時長。講了一個百分點,講了一個時間段。他講得很細,但不瑣碎,每一組數據後面都跟著一句“這意味著什麽”。他註意到沈時予全程沒看手機,沒打斷他,甚至沒有像其他領導那樣不停地點頭或皺眉。他就那樣坐著,一只手放在桌上,另一只手搭在椅子扶手上,目光落在PPT上,像在看一份需要慢慢消化的東西。

陳序講到了九月改版後的數據波動。

“改版後第一周,日活用戶上漲了百分之六,點擊率上漲了百分之十二。但從第二周開始,日活逐日回落,到第三周已經回到改版前的水平。與此同時,次月留存率下降了三個百分點。”

他停頓了一下,把PPT翻到下一頁。

“我們追蹤了這批流失用戶的路徑,發現一個有意思的現象:他們在改版後第一周的使用深度反而比平均值更高。他們點了更多的內容,看了更多的頁面,收藏了更多的條目。但到了第二周,他們的活躍度斷崖式下跌。”

會議室很安靜。陳序聽到自己的聲音在安靜的空間裏顯得比平時低了一些,像一個人在空曠的地方說話,聲音會被空氣吃掉一部分。

“我一開始以為這是算法的問題——推薦過早地收窄了用戶的信息視野,大家看到的內容越來越同質化,新鮮感下降,來得就少了。但後來我拉了一下這些用戶的內容消費類型分布,發現他們的興趣標簽並沒有被收窄,他們看到的內容多樣性和改版前基本保持一致。”

沈時予的手指在椅子扶手上輕輕敲了一下。那是他進入會議室以來第一個多餘的動作。

“那問題出在哪?”沈時予問。

陳序看了他一眼。他知道這個問題遲早會來,也準備了答案,但這個答案不是他最喜歡的那一個——因為它不夠幹凈,不夠確定,像一根沒理清的線頭。

“我目前沒有確定的結論。”陳序說,“但我有一個假設。”

沈時予沒說話。他看著陳序,等他往下說。

“我對比了這批用戶的差評關鍵詞,發現最高頻的詞不是‘內容不好’,不是‘推薦不準’,是‘沒意思’。‘沒意思’這個詞很有意思——它不是對內容質量的否定,是對內容能否引起情緒反應的否定。用戶在改版後第一周點了很多,看了很多,收藏了很多,但他們沒有產生足夠的‘喜歡’或者‘不喜歡’的強烈情緒。他們的行為從‘我因為喜歡所以看’,變成了‘我因為習慣所以看’。當習慣無法支撐足夠的新鮮感時,他們就走了。”

會議室安靜了兩秒。

沈時予拿起桌上的筆記本,翻了翻,在上面寫了幾個字。陳序看不到他寫了什麽,但那個動作本身讓他松了一口氣——至少他在記。

“你剛才說這是假設,那如果要驗證這個假設,你打算怎麽做?”沈時予放下筆,看著他。

陳序翻到PPT的最後一頁。

“兩步。第一步,在現有用戶行為數據的基礎上,引入情感分析標簽。把用戶的評論、反饋、彈幕這些文本數據做一次語義聚類,看‘沒意思’這個關鍵詞出現的頻率和用戶流失之間的時間關系。如果‘沒意思’出現得越早的用戶流失得越快,那這個假設就更有支撐。第二步,做一個灰度測試。在改版的基礎上增加一個‘探索’模式,用戶可以選擇不被歷史偏好影響的推薦方式。兩個版本做同期群對比,看留存率的差異。”

沈時予聽完了,沒有立刻說話。他拿起杯子喝了口水,放下,然後問了一句讓陳序沒想到的話:“運營組現在有做文本情感分析的人嗎?”

陳序頓了一下。這個問題的意思是——如果現階段沒有資源做第一步,那你的假設就不能落地。

“目前沒有。”陳序說,“但我可以用開源工具先做一個初步的聚類,不需要專門的算法工程師,我自己來。”

沈時予看了他兩秒。那兩秒裏陳序不確定自己在對方眼裏是一個“有想法但落地能力存疑”的人,還是一個“願意多走一步”的人。

“好,”沈時予說,“你先把第一版跑出來,我們再看。”

陳序點了一下頭。

匯報結束。

沈時予站起來,朝門口走了兩步,忽然停下來,轉過身。

“你是數據部的?”

“是。”

“叫什麽名字?”

“陳序。”

沈時予點了一下頭,沒說別的,走了。

會議室裏的人陸續離開。陳序站在投影幕前,還沒把電腦從投影線上拔下來。他的襯衫後背已經濕了,不是熱的,是腎上腺素退潮之後留下的那種涼。

陸洋走過來拍了拍他的肩膀,說了一句“講得不錯”。陳序知道“不錯”這個詞在這個語境裏的意思是“沒出大問題,但也沒什麽亮點”。他點了點頭,開始收拾東西。

手機在口袋裏震了一下。他拿出來看,是蘇皖的消息。

“你講完了嗎?”

“嗯。”

“我一直在外面聽。”

陳序楞了一下。她一直在外面?在門口?

“你站在門口聽的?”他問。

“對。路過,就站了一會兒。”蘇皖的下一句是,“你說‘沒意思’那段的時候,沈時予在記筆記。”

陳序看著那行字,腦子裏轉了一下。蘇皖在門口站著,能看到沈時予做筆記的動作,那她的視線角度——他收住了這條跑偏的思路。

“你路過十五樓的會議室?”他回。

蘇皖沒回這條消息。

陳序把電腦收進包裏,走出會議室的時候,蘇皖正靠在走廊的墻上,低頭看手機。她今天穿的淺藍色襯衫和昨天那件白色的是同一款,只是顏色不同。她換了一雙鞋,昨天是黑色的平底鞋,今天是白色的。

“你在等我?”陳序問。

蘇皖擡起頭,把手機收起來。

“不是等你,是等你出來告訴我數據口徑的事有沒有被問到。”

“沒問到。”

“那就好。”她說,“你今天講得很好。”

陳序看了她一眼。她說了“講得很好”,不是“講得不錯”。“很好”和“不錯”之間的差距,大概就是她覺得他今天發揮出了他想要的那個狀態。

“你聽到了多少?”他問。

“從‘沒意思’那段開始聽的。”蘇皖說,“前面沒聽到。”

陳序不知道她為什麽只說“沒意思”那段。也許是因為那段最有意思,也許是因為她正好從那裏開始聽的,也許是因為——他不想猜了。

他們一起走向電梯。走廊的聲控燈今天反應很快,還沒走到就亮了,一路通明。

“你下午有空嗎?”蘇皖問。

“要看什麽事。”

“數據口徑改完之後,我想請你再過一遍。”

“發給我就行。”

“好。”

電梯到了。門打開,裏面站了幾個其他樓層的人。陳序和蘇皖走進去,按了一樓和十五樓——陳序要回十五樓工位,蘇皖的產品部在十二樓。電梯下行,到了十二樓,蘇皖走了出去。她走的時候沒有回頭,也沒有說“待會見”。陳序看著電梯門在她身後關上,轎廂繼續往下走。

一樓的提示音響了。

陳序走出去的時候,腦子裏還在轉沈時予最後那個問題——“運營組現在有做文本情感分析的人嗎”。他當時說“我自己來”的時候,已經知道自己未來兩周的時間表要重新排了。但他不後悔這麽說。不是因為他喜歡加班,是因為他確實想知道那個假設是對的還是錯的。如果他猜對了,那九月改版的問題就不是算法的問題,是“用戶不知道自己想要什麽”的問題。這個結論比任何一個數據圖表都更有說服力。

他走回工位,坐下來,開始找開源的情感分析工具。

蘇皖的消息在下午兩點多發來的。她把改好的文檔發了過來,附了一條消息:“用戶行為事件定義_V2.0_蘇皖_校對版”,後面跟了一個簡單的表情符號。

陳序打開文檔,從頭到尾過了一遍。蘇皖改得很細,不光是名字改了,還在每一個定義後面加了一行註釋,寫明這個指標的計算口徑和適用場景。他翻到“近三日活躍用戶”那一頁,看到她在註釋裏寫了一句:“此指標與‘日活用戶’口徑不同,使用時請註意區分。”

陳序繼續往下看,發現她在文檔末尾加了一段“常見問題”:

問:日活用戶和近三日活躍用戶為什麽數值差異這麽大?

答:日活統計的是當日有行為的用戶,近三日活躍統計的是三天內有登錄行為的用戶。近三日活躍的窗口更長,會包含一部分當日沒有行為但前兩天有過登錄行為的用戶,因此數值通常高於日活。兩個指標分別反映用戶的當日活躍程度和短期留存情況,建議結合使用。

陳序看著那段文字,想起昨天她在茶水間說的話——“這些技術細節我來講,他們不一定聽得進去。你來說,他們會信。”她不是不會講,她是不放心。她怕自己講的時候,聽眾會因為她不是數據背景而質疑那些口徑的定義。她把底稿做到了這種程度,不是為了讓別人替她講,是為了萬一她需要自己講的時候,手裏有一個讓對方挑不出毛病的答案。

他在文檔末尾加了一行批註:“定義清楚,沒有問題。建議在運營部發一份,同步口徑。”然後點擊了回覆。

晚上七點四十,陳序還在工位上。不是因為他刻意加班,是開源工具跑出來的第一版聚類結果不太理想,他在調整參數。蘇皖的消息彈出來的時候,他正好在一個長的計算周期裏幹等著。

“你還在公司嗎?”

“在。”

“我也在。”

“你也在?”陳序以為她早該走了,她今天沒有加班到深夜的理由。“你那個文檔不是已經改完了嗎?”

“改完了。但運營那邊又給了新需求,我在寫PRD。”

陳序看著那行字,沒回。他不想問“什麽需求”,因為問了就可能變成他要做的事情。不是他不願意幫忙,是他的時間表已經排滿了。

“你今天不用趕末班車?”他換了個話題。

“今天騎車來的。”

“十二公裏的路,騎車?”

“你怎麽知道我家離公司十二公裏?”

陳序的手指懸在鍵盤上方,停了大約三秒鐘。他昨天在地鐵上問過她住哪個方向,她說靜安寺。從公司到靜安寺,地鐵四五十分鐘,騎車大概……他腦子裏自動算了一下距離。

“我猜的。”他回。

蘇皖發了一個句號,然後又發了一條:“你猜得還挺準的。”

陳序沒有繼續這個話題。他把手機放下,回頭去看運行中的程序,計算結果剛出來——比上次好了一點,但離他想要的那個閾值還差一截。他重新調了幾個參數,又跑了一輪。

等結果的時候,他又看了一眼手機。蘇皖沒有再發消息。

陳序發現自己盯著對話框看了大概有十幾秒。他說不上來自己在等什麽。也許是等她再發點什麽,也許是等那個“正在輸入”的提示——沒有出現。

計算跑完了。這次的結果接近了他的預期,他截圖保存,在結果旁邊寫了一行註釋:情感標簽分類準確率約百分之七十二,後續需要人工標註更多訓練樣本。他把這份初稿存進共享盤,準備明天發給運營部的同事征求意見。

八點二十的時候,他關了電腦,收拾東西準備走。走之前他猶豫了一下——要不要去十二樓看看她還在不在。產品部的樓層他沒怎麽去過,不知道她的工位在哪個位置。就算去了,他也不知道自己是以什麽身份出現——同事?昨天剛認識的人?那個“猜對了她家距離”的人?

他決定不去。

走到電梯間的時候,電梯剛好從樓上下來,門打開,蘇皖站在裏面。

她換了一件外套,淺灰色的風衣,頭發從披著變成了低馬尾,臉上的妝容比白天淡了一些,嘴角帶著一點倦意。

“你也現在走?”陳序問。

“嗯,寫完了。”蘇皖從包裏拿出手機看了一眼,“八點半,今天算早的。”

“昨天是個意外?”

“昨天也是常態。只是今天更意外。”

電梯往下走。十五樓、十四樓、十三樓。陳序忽然想起一件事。

“你中午吃飯了嗎?”

蘇皖轉頭看他,“你問的是今天中午?”

“嗯。”

“沒吃。你呢?”

“沒吃。”

電梯在九樓停了,沒人。門又關上了。

“你也沒吃?”蘇皖說。

陳序不是沒來得及吃。他帶了便當,是林知意早上出門前給他裝好的,放在冰箱裏,他出門的時候忘帶了。他沒吃午飯,到了下午肚子餓的時候,他喝了兩杯咖啡,然後就忘了餓這件事。

“帶了,忘拿了。”他說。

蘇皖沒接話。陳序不確定她信不信。

電梯到一樓了。兩個人走出去,大廳裏保安換了班,年輕的那個在看手機,聽到腳步聲才擡起頭來。

走出大門的時候,空氣裏有雨後的潮濕。陳序不知道什麽時候下過雨,他在工位上坐了一天,外面的天氣變化完全沒有進入他的感知。

“你騎車回去?”蘇皖問。

“嗯。”

“今天不坐地鐵?”

“騎車二十分鐘。”

“你昨天說坐地鐵四十分鐘。”

陳序想了想,怎麽解釋這個差異。地鐵從公司到靜安寺是四十分鐘,從靜安寺到家的步行是十分鐘,加起來五十分鐘。騎車從公司到家,全程大概四十分鐘,比他昨天說的“四十分鐘”多了一個“十公裏”的距離,但他沒說騎車的事。不是想騙她,是他當時覺得沒必要解釋得那麽清楚。

“我喜歡走路。”他說。

蘇皖看了他一眼。這次她沒有追問。

他們走到單車停放點。陳序的車還在,蘇皖的那輛鏈條已經修好了——可能是物業白天讓人來修了。她彎腰掃碼的時候,馬尾從肩膀上滑下來,垂在臉側。

“陳序。”她叫他。

“嗯?”

“你那個‘沒意思’的假設,我覺得是對的。”

陳序楞了一下。

“為什麽?”

“因為我也經歷過那種狀態。”蘇皖把手機收起來,“打開一個APP,點了很多,看了很多,但都是機械地劃。不是說內容不好,是內容跟我沒關系。你只是想找點什麽來填時間,但填完了還是空的。”

她說完跨上車,蹬了一下,車往前走了幾米,她又停下來,回頭看了他一眼。

“明天見。”

“明天見。”

陳序站在那裏,看著她騎遠。風衣的下擺在風裏微微飄起來,像一面很小的帆。

他騎上自己的車,朝著相反的方向走。夜風把臉上最後一點熱度吹散了,他的腦子裏在反芻她說的那句話——“你只是想找點什麽來填時間,但填完了還是空的。”

他想起林知意便簽紙上寫的“晚上聊”。他到現在還沒回那條便簽。不是忘了,是不知道她要聊什麽,也不知道自己該怎麽聊。他們把太多事都放成了“改天聊”“晚點聊”“回頭聊”,聊著聊著就變成了不必再聊。

信號燈變紅了,陳序停下來,一只腳撐在地上。前面的路口很空,路燈把路面照得像一條發光的河,等他過去。

他拿起手機,在通訊錄裏找到最上面那個聊天窗口。蘇皖的頭像是一片淺藍的色塊,沒有圖案,沒有照片,幹凈得不像是這個時代的人會用的頭像。

他打了幾個字,刪掉,又打了幾個字,又刪掉。最後他發了一條:

“你到家了跟我說一聲。”

消息發出去之後,他沒看回音,直接把手機塞回口袋,等綠燈亮了,騎車過了路口。

到家的時候,已經快九點半了。陳序打開門,玄關的燈亮著,客廳的燈關著。林知意大概在臥室。她的拖鞋整齊地擺在鞋櫃旁邊,他的拖鞋歪了,他彎腰把它擺正,跟她的並排放在一起。

他把包放下,從口袋裏掏出那張便簽紙,看了一眼“晚上聊”三個字,走到冰箱前,用磁貼把它壓在冰箱門上。

他沒有去臥室。他先去廚房倒了一杯水,站在廚房裏喝完,然後把水杯放進水槽。水流過杯壁的聲音很輕,填滿了空蕩蕩的廚房。

他拿出手機,看了一眼。蘇皖回了一條消息:“到了。你呢?”

陳序站在廚房昏暗的光線裏,看著那兩行字——不是他等了什麽,是她回了他。

他打了兩個字:“到了。”

發出去之後,他又打了一行字:“早點睡。”想了想,覺得這三個字太多了。又看了一眼,覺得不多。又看了一眼,覺得是有點多。他看了大概有半分鐘,最後沒有刪,也沒有發出去另一個版本。就這樣吧。

他關掉廚房的燈,走向臥室。

臥室的門開著,裏面沒開燈。林知意已經睡了,她的呼吸很輕很均勻,臉埋在枕頭裏,只露出半邊額頭和一小片散落的頭發。床頭上放著他的睡衣,疊好了,壓在她的枕頭下面。

陳序在床邊站了一會兒。

他沒有換睡衣。他穿著白天的那件襯衫,走到書房,打開電腦,那個情感分析的程序還在後臺掛著,等著他調整參數。

他沒有調。他坐了一會兒,什麽也沒做。

然後他關了電腦,回到臥室,換了睡衣,躺在床的邊沿。床很大,中間空出來的那片床單是涼的,像一大片還沒被走過的雪地。

他閉上眼睛。腦子裏是蘇皖騎車遠去的背影,風衣下擺飛起來的那一下。

他在黑暗中睜開眼睛。

天花板是白色的,上面什麽也沒有。他把手伸到枕頭底下,摸到手機,按亮屏幕,看了一眼那個對話框。最後一條消息還是他的“到了”,下面是蘇皖的“早點睡”——不是他發出去的,是她先說了。

他把手機放回去。

窗外沒有什麽聲音,這個城市到了這個點,終於,徹底安靜了。像一艘巨大的船停泊在夜色裏,所有的人都睡了,只有少數幾個窗口還亮著燈。微弱的光,在黑暗中浮浮沈沈,像海面上最後的漁火。

本站無廣告,永久域名(fanyan.cc)