公司說這季營收成長了。對分析來說,這只是起點。

打開一家陌生公司的財報,我通常會先找幾個比成長率更基本的東西:公司有幾條不同的收入來源、誰在付錢、什麼活動量帶動收入,以及管理層反覆提到的 GMV、MRR、RPO、bookings 到底在量什麼。這些數字有時領先 revenue,有時只描述平台上的交易規模,有時代表已簽約但尚未認列的收入。把它們混在一起,營收成長很容易被解讀成另一件事。

同樣是 top line 增加,背後可能是交易量變多、每單位實際收得更多、產品或客群組合移動、匯率改變,或認列時點不同。要把這些原因拆開,先得把「公司怎麼賺錢」寫到足以計算。

先把每條收入線拆到能分析

我會替經濟上不同的收入來源各開一列。六個欄位通常已經夠用:

欄位要回答的問題
Earning mechanism公司因為什麼經濟活動取得對價?
Payer + charging basis誰付錢?價格綁在席次、時間、交易、使用量,還是其他單位?
Activity denominator哪個活動量最接近這條收入線的分母?
Commercial metricRevenue 之前,有沒有 bookings、MRR、RPO 等值得追的商業指標?
Recognition boundary什麼條件滿足後才變成認列營收?收入以 gross 還是 net 呈現?
Bridge drivers兩期之間,哪些 volume、price、mix、FX、timing 或 scope 變化造成差異?

這張表不需要先替公司貼上 SaaS、Marketplace、廣告或電商標籤。Shopify 的揭露就很適合拿來看這件事。公司把 Subscription SolutionsMerchant Solutions 分開報告,也另外定義 GMV 和 MRR。Shopify FY2025 results 同一家公司裡,兩條收入線可以由不同活動驅動;只留一個 total revenue,很多差異會直接被平均掉。

Salesforce 的年報則把 subscription and support、term software licences 與 professional services 分開討論。Salesforce FY25 Annual Report 這裡不需要把分類做成一套通用 taxonomy。兩條收入線只要在付款方式、活動分母、認列方式或主要 driver 上有明顯差異,就值得分開看。

營收架構關係圖:Economic Activity / Revenue Stream 經 Recognition Boundary 成為 Recognized Revenue;GMV、Gross Bookings、Bookings、MRR 與 RPO 只是 Activity / Commercial Metrics,Revenue Bridge 是認列後的變動分析,Residual 仍未解釋。

GMV、Gross Bookings 先回答的是「發生多少活動」

平台公司的數字最容易把這個邊界暴露出來。

Airbnb 在 2020 Form 10-K 對 Gross Booking Value 的定義,包含平台促成的預訂價值,其中也有經濟上屬於 hosts 與 taxing authorities 的金額。Airbnb 2020 Form 10-K Uber 的 Gross Bookings 也包含 taxes、tolls 和 fees,而且不會先扣掉 driver 或 merchant earnings。Uber Q1 2025 results

所以 GMV、Gross Bookings 這類指標很適合量平台上的活動規模,卻不能直接當成公司的 revenue。拿它們來算 take rate 時,分母定義尤其不能省略。

eBay 將 take rate 定義為 net revenues 除以 GMV。eBay 2024 Form 10-K 如果另一家公司也報 GMV,還不能立刻把兩家的 revenue / GMV 排在一起。至少要確認分子是不是同一類收入、分母是否包含取消、退款、稅費或其他項目、期間與幣別是否一致,以及公司有沒有改過指標定義。

Uber 另外定義 Revenue Margin 為 revenue divided by Gross Bookings,也提供 constant-currency growth。Uber FY2024 results 同一份揭露把活動規模、變現比例與匯率影響分開,分析時也應該如此。分母還沒對齊之前,所謂「變現能力比較」可能只是兩家公司量法不同。

活動發生之後,還有一層會決定多少金額會進入報表。

IFRS 15 從客戶合約與履約義務出發,交易價格要經過決定與分攤,收入在履約義務被滿足時或隨著履約義務被滿足而認列。IFRS 15 美國 GAAP 的 Topic 606 採取相近的 contract / performance-obligation 架構。FASB ASU 2014-09

實際分析不用重寫整套收入認列準則。每條收入線都要回答一個很實際的問題:什麼事件發生後,這筆活動才算成這一期的 revenue?

Microsoft 的 2025 Annual Report 提供了不同 billing 與 recognition 節奏的例子。某些 subscription arrangement 可以先開票,再隨服務期間認列;部分 term licence 的 invoicing cadence 也可能和收入認列時點不同。Microsoft 2025 Annual Report 客戶付款、公司開票、收入認列,是三個需要分開看的事件。

平台公司還要再確認自己在交易裡是 principal 還是 agent。FASB 的 principal-versus-agent 指引把重點放在公司是否在移轉給客戶前控制 specified good or service。Principal 可能以 gross basis 呈現收入;agent 通常認列自己有權取得的 fee 或 commission。FASB ASU 2016-08

這會直接改變 reported revenue 的基礎。兩個平台促成的交易看起來相似,如果交易角色不同,只拿 revenue / GMV 判斷誰的變現效率更高,可能把會計呈現差異誤認成商業效率差異。

MRR、RPO、Bookings 各自有自己的時間邊界

有些公司會同時給你一串看起來都和「未來收入」有關的指標。它們不能互換。

Shopify 在 Q1 2024 的揭露裡,MRR 依期末有效方案計算,是一個 point-in-time 的 recurring run-rate 指標;公司也揭露過 paid trials 的方法論調整。Shopify Q1 2024 results 它能描述 subscription engine 在期末的規模,不等於整季 recognised revenue。

Salesforce 的 RPO 描述已簽約、尚未認列的收入,其中 current RPO 是預期在接下來十二個月認列的部分。Salesforce FY25 results Snowflake 的定義又提醒了另一個限制:它的 RPO 包含 deferred revenue 與 non-cancellable contracted amounts,但排除 on-demand arrangements 和部分 time-and-materials contracts。Snowflake FY2025 Q4 results

我會把這類指標旁邊多留幾格,寫清楚 定義、量測日期或期間、排除項目。公司改過計算方法時,再記一欄 methodology change。同比能不能直接比,往往就卡在這裡,而不是卡在公式本身。

營收變了多少是一回事,為什麼變是另一回事

把收入線、分母與認列邊界整理好之後,兩期營收差異才有可靠的拆法。

常見 driver 可以包括 volume / usage、effective price / rate、mix、FX、timing 和 scope,但不用每家公司都硬套六項。先看那條收入線實際受哪些因素驅動:

Driver分析時先確認
Volume / usage客戶、訂單、交易或使用量是否變動?
Effective price / rate每單位實際取得的價格或費率是否改變?
Mix產品、地區、客群或收入模式的占比是否移動?
FX匯率轉換貢獻多少差異?
Timingbooking、delivery、travel、billing 或 recognition 時點是否移動?
Scope併購、處分、分類或交易母體是否改變?

Booking Holdings 的 Q1 2026 很適合看這種拆法。同期 gross bookings 與 revenue 的成長率不同,公司在 10-Q 裡也討論 payment facilitation、flight mix,以及 booking 與 travel timing 對 revenue as a percentage of gross bookings 的影響。Booking Holdings Q1 2026 Form 10-Q 因此「bookings 成長」只能解釋 bridge 的一部分,不能直接當成收入成長的完整原因。

Price-Volume-Mix、rate-volume-mix、constant-currency bridge 這些都是 analyst methodology,不是 accounting standard。互動項怎麼分配,也可能採用不同 convention。分析時要把採用的拆法寫清楚,最後讓數字回到同一條式子:

期初 Revenue + 已解釋的 driver effects + residual = 期末 Revenue

Residual 留著並不丟臉。Bridge 沒閉合時,它首先代表「目前還有一部分變動沒被解釋」。如果直接把 residual 命名成「需求疲弱」「mix 惡化」或「pricing 改善」,只是把未知數換成比較像答案的字。

拿到陌生公司的 filing,我最後通常會回頭檢查三件事:每條收入線有沒有自己的分母;商業指標、billing 與 recognised revenue 有沒有放在正確的時間邊界;bridge 能不能把 observed revenue change 對回去。缺哪一項,就知道下一輪該補哪種證據。

做到這裡,營收成長已經不只是報表上的百分比。你能說清楚它從哪裡來,也能指出還有哪些部分沒有被解釋。接著真正值得追的是:這些成長帶來的單位經濟,到底好不好。

References