roi怎么計算(計算roi可以用公式)
PS:內含大量公式計算和拆解,看不完的可以先收藏。

0821沙龍現場
互聯網商業模式的基本模型
無論是一個具體的業務還是公司都有一個「商業模型」。所有的商業活動,不僅限于互聯網業務,從根本上來說都遵從同一個商業模型:

比如賣礦泉水,一瓶礦泉水賺 0.1 元,賣 1000 瓶就賺 100 元。如果要提升利潤,要么提升 ROI,比如每瓶賺 0.2 元,那么賣 1000 瓶就賺 200 元,要么提升規模,還是每瓶賺 0.1元,但是想辦法賣出 2000 瓶。這可以說是商業模式的第一性原理。
我們還可以把這個公示繼續拆解,來研究里面的一些細節。前面說到 Profit = ROI · Quantity,我們先研究什么是 ROI。
ROI 通常的表示方法是:

ROI 大于 1 說明可以持續投入。在這里,我用減法來表示:
因為前面我們說了,Profit = ROI ·Quantity,用減法能夠體現出規模的放大效應。
對于互聯網產品來說 Return 就是用戶生命周期價值 LTV,Investment 就是獲取這個用戶的成本,所以:

那么 LTV 還可以繼續拆解:

對于 LTV 的計算方式,很多講增長的書里面也提到了,最基本的思路就是了解用戶會使用你的產品多少個月,以及平均每個月你能從用戶身上賺多少錢。
本質上就是 LT 乘以 V。
但是這里有個問題,「了解用戶會使用你的產品多少個月」這件事情怎么做?
一個方法是我們觀察足夠長的時間,比如一年,然后知道我們的用戶在一年里通常會使用我們的產品多少天,再結合每天給我們帶來的價值,最后計算出一個用戶一年給我們帶來多少收入。
然而這不是個好方法:如果獲取一個指標需要等 365 天,那么就可以認為這個指標是不可用的。所以我們就需要一個方法,在較短時間內就能夠計算出用戶生命周期。
關于用戶生命周期(LT)
# 對于 LT 的計算始于留存
任意時間段內用戶生命周期,也就是 LT,在數值上等于該時間段內的留存之和。

假如我第一天獲得了 100 個用戶,次日留存是 50%的話,意味著第二天我有 50 個用戶,三日留存是 30%,意味著到第三天還剩 30 個。這三天加起來的活躍用戶數是 180。

假如第一天獲得了 1 個用戶,留存數據不變,第二天就有 0.5 個活躍用戶,第三天是 0.3 個活躍用戶。這三天加起來的活躍用戶數是 1.8,或者換句話說,這 1 個用戶在三天里的用戶生命周期是 1.8 天。
# 留存的性質

我們把留存數據放到一個平面直角坐標系里面。橫坐標是時間,縱坐標是留存值。在這個坐標系里面就產生了離散的點。坐標系里這些點所在的曲線是可以用方程來表示的,描述留存曲線的函數是一個分段函數:

對于任何一個產品,只要給我們前幾天的數據,我們就能把公式里的 a 和 b 計算出來,進而能夠預測這個產品之后任何一天的留存,從而進行用戶生命周期的計算。

通過冪函數曲線的形態,我們也能知道一個優秀的產品的留存應該是什么樣子的。對于一個優秀的產品而言,首先次留要高。如果次留只有 10%,長留肯定高不了,繼而用戶生命周期也就短。因為前面我們已經說過了,用戶生命周期等于留存之和。
其次留存曲線的衰減速率要慢,也就是留存曲線的斜率很快會接近 0,這樣才能讓長留保持在一個較高水平。比如次日留存 60%,但是三日留存只有 5%,四日留存是 0%,用戶生命周期也很短。
關于規模
我們說 ROI 乘以規模是根本的商業模式,規模是個 ROI 放大器。我們常說某產品日活用戶是 10 億、1 億,這些都是在說規模。
既然要研究日活規模,就要從如何獲取用戶開始。
# 三種獲客模型
大家在工作過程中肯定都遇到過類似的問題,例如老板問「新項目一年內日活從 0 做到 100 萬,這個要多花多少錢。」
我們先用一個簡單的模型來思考這個問題:
已知某產品次日留存 40%,三日留存 30%,當前日活用戶規模為0,到第三天時,日活用戶數增加 100個該怎么做?
這里有兩個方法:第一個方法,前兩天什么都不做,第三天直接買 100 個活躍用戶,目標達成。
方法一

第二個方法,我們知道了三日留存是 30%,我們反算一下如果第三天要有 100 個日活用戶,那么第一天就要買 333 個用戶。那就在第一天買 300 個用戶,等到第三天時,隨著自然衰減,日活用戶數就是 100 了。
方法二

但是這兩個方法都有明顯的缺點。第一個方法在第四天的用戶規模折損太嚴重:雖然第三天時有 100 個用戶,但是第四天時馬上折損 60%,還剩下 40 個,日活用戶規模穩定性極差。
用第二個方法,我們假設四日留存是 25%,那么到第四天時,還剩下 75 個,穩定性好。但是方法二獲客總量是方法一的三倍,也就是成本是方法一的三倍。
所以我們需要一個方法,既能保證日活用戶規模的穩定性,又能控制成本。這就是第三個方法:
方法三

在這三天里,我們每天獲取 59 個用戶,第一天獲取 59 個,當天日活 59,第二天再獲取 59 個,加上第一天留存的 59 乘以 40%個用戶,第二天的日活是 83,第三天再獲取 59 個用戶,加上第一天留存的 59 乘以30%和第二天留存的 59 乘以 40%,剛好 100 個日活用戶。
三天一共獲客 177 個,并且日活用戶在第四天不會有大規模的折損。做到了用戶規模穩定性和成本的平衡。這種獲客我們叫叫做「等額獲客」,每天獲客數量基本一致,穩定性和成本比較均衡,這也是市面上公司普遍用的方式。
# 留存、LT 和用戶規模增長
假設每天獲取 1 個新的活躍用戶,每日留存為 Rn,則 365 天的獲客模型是這個樣子的。

我們觀察這個表格的最后一列,這一列求和其實就是每天獲客 1 個的情況下,當天的日活用戶數。如果我們每天獲客 α 個,那么日活用戶規模就是把最后一列求和乘以 α。
我們再看第一行,如果每天獲取 1 個日活用戶,第一行求和實際就是這個產品 365 天的用戶生命周期。
如果每天的獲客數量是 DNU 個,那么最后一天的日活用戶規模相對與第一天的增量就是 LT·DNU,那么這個模型就可以表示為:

然后我們回到本部分開頭那個老板靈魂之問,看看怎么回答這個問題:
已知某產品 365 天的用戶生命周期為 28 天,365 天后的日活用戶需要增加 100 萬,用何種方式做到,要花多少錢。
何種方式我們已經知道了,就是等額獲客,每天獲取同樣數量的用戶數。
「要花多少錢」本質上是問需要獲取多少個新增用戶才能確保到最后一天時日活用戶增加 100 萬。
我們再進一步把這題抽象,用符號替代具體的數字,獲客總數是 Total,獲客周期是 M 天,則:

把公式應用到原來的問題中,代入具體數值。
DAU 等于 100 萬,獲客時間 M 等于 365 天,LT 等于 28 天,最后計算出來等于 1303 萬。1303 萬是獲客總數,除以 365 天等于 35714。也就是說每天獲客 35714 個,一年后就能增加 100 萬日活。
# ?DAU 和DAU
但是在現實中,我們現在負責的產品沒有日活是 0 的——除非從 0 開始做一個新項目。
那我們在考慮的時候就要考慮 ?DAU。
我們現在有一些日活用戶,這些日活用戶在未來還會不斷流失,同時我們也在獲取新的用戶,所以,未來任意一天的日活用戶是當前日活減流失日活加日活增量:

剛才我們一直在計算的其實就是日活增量 DAU{Gained},DAU{Current} 是當前日活。所以我們還需要計算流失的日活也就是 DAU_{Lost}。
從第 N 天起不再獲取新用戶,那么到第 M 天時,流失的日活總數是:

DNU (past) 是過去每日獲客數量。
這種情況下,我們就可以計算第 M 天時的日活總數:

北極星的北極星
#長留在用戶增長中的作用
LT 是留存求和。留存相當于一個數列,計算 LT 相當于給這個留存數列求和。數列求和有兩個方法,一個方法是一個一個加起來,另一個是數列中數字的個數乘以這個數列的平均數。那么,LT 就應該相當于時間乘以平均留存。
而留存的數列是一個衰減的數列,衰減的特點是前期衰減很快,當衰減到一定水平后,幾乎會趨于穩定。如果一個數列的衰減趨勢是這個特點,那么這個數列的平均數更接近數列偏后的數字而不是數列開頭的數字。
因為 LT 等于時間乘以平均數,而時間是一定的,所以提升 LT 的方法就應該是平均數,同時,平均數在留存構成的這個數列中偏后的位置,我們更應該關注這個數列偏后的位置。對于留存這個數列來說,往后的位置意味著長留。

因此,提升日活用戶規模最核心的是提升長留。

# 一個更敏捷的留存
長期留存有兩個缺點:
第一是周期長,觀察長期留存,比如三十日留存,至少要三十天;
第二個是歸因難。從這兩個角度出發,長期留存是好,但是現實中是不可用的指標。
所以我們需要一個指標,這個指標等價于長期留存,但是從時間上更容易觀測。
在這里我們要引入一個新的概念——「活躍留存」。
之前我們說的留存都是新增留存,分母是某一天的新增用戶,分子是這些新增用戶中到第 n 天時仍活躍。而活躍留存的分母是某一天的活躍用戶,分子是之前某一天的活躍用戶。
任意一天的活躍用戶是由這么幾部分構成的:

假設我們昨天做了某個改動,對于昨天的活躍用戶數不會產生影響。
對于 Recalled User 也沒有影響,因為這些人昨天壓根沒活躍,所以昨天無論做什么,都不會影響到這些人。
昨天的策略對于 DNU 也沒有影響,因為他們是今天才來的,昨天根本不存在。
所以,如果我們昨天做了某個策略變動,導致今天 DAU 提升,就意味著 R 提升了。因為 DAU 等價于長期留存,所以活躍次日留存等價于長期留存。

關于獲客成本和 V
我們在獲客的過程中面臨一個難題,總結起來是「多」、「快」、「好」、「省」四個字:廣告平臺想要「多」和「快」,希望廣告主又快又多地花錢,我們作為投放的廣告主想要「好」和「省」。這個矛盾看起來無解。
#從廣告轉化路徑破解多、快、好、省難題
我們在投放平臺選擇了用戶群、投放地區之后,就設定一個價格進行競價,如果競價成功就能在相應的廣告位獲得曝光。這個過程中,我們花費的計算方法是:

用戶看到這個廣告后可能會點擊,點擊之后跳轉到應用商店落地頁,在應用商店落地頁點擊「安裝」按鈕,把產品安裝在手機上。這個過程中,安裝量的計算方法是:
我們把這兩個公式連立后就能獲得一個 CPI 的計算公式:

我們把這個公式進行變形,就能得到另外一個公式:

我們把這兩個公式放到一起分析:

其實這兩個公式就概括了「多」、「快」、「省」三個字。廣告平臺的「多」和「快」體現在 eCPM 高。廣告主的「好」和「省」則是 CPI 低。
這兩個公式里有共同的因子 CTR 和 CVR,所以問題的解就在這兩個因素里。
通過提升 CTR 和 CVR 可以實現在 eCPM 不變的情況下,即不影響廣告平臺收入的情況下,降低獲客成本,即 CPI。
對于投放獲客來說,是不是價格低就是好?答案是不一定。

如果從單價角度來說的話,渠道 2 最好,單價最低,渠道 4 最不好,單價最高。但是如果比較次留,好像渠道 4 最好,渠道 3 最差。
按照價格、留存兩個不同的維度判斷,結果不一樣。CPI 是衡量新的活躍用戶的單價,沒有考慮到留存用戶。假設有個渠道,別的渠道單價是$1,這個渠道是$0.1,但是來了的用戶第二天一個留存都沒有。這樣的渠道再便宜我們都會認為是垃圾渠道,因為來了的用戶留不住。這時候就要引入一個新的概念「次留 CPI」。
次留 CPI 的計算方法是:

這樣一對比我們就清楚了,渠道 1 和渠道 4 雖然單價高,但是因為次留好,計算了次留 CPI 后卻是最好的兩個渠道。
# LTV和「商業化和產品體驗的平衡」

不同產品、不同業務模式的 V 的計算方式不同,比如有的是靠廣告收入,有的是靠打賞分成,有的是靠成交。總結起來,其實就是 Daily Average Revenue Per User(DARPU)。

到目前為止,我們已經把這個模型里的所有因素都拆解、分析過了。我們把拆解后的因素代入我們一開始提到的公式,整個公式就完整了:
