Categories
程式開發

分區定價:座位上玩轉“精細化運營”


分區定價就是將同一個場次的座位分割成不同的區域,以不同的價格進行售賣。不同的座位,不同的價格,在上座率和價格之間求得一個平衡,幫助影院實現收入的最大化。同時,通過異業合作或者綁定會員權益等手段,將權益與座位“對號入座”,實現更加精細化的運營策略。

一、技術挑戰-不僅僅是改個價格

  1. “同場同價”-在線選座系統的地基

分區定價要想落地,對於技術來說,並非是改個價格那麼簡單。

自2010 年,電影行業出現在線選座業務以來,場次都是定價的最小粒度,影院會根據影廳及放映影片、放映時間等對整個場次的座位進行統一定價,這就是所謂“同場同價”。這個思維定勢一直貫穿在在線選座系統的設計實現和升級過程中。在線選座系統的基礎數據、交易、網關、營銷等核心服務模塊,都是基於上述思路進行搭建。

發展到今天,在線選座的業務絕非僅僅是鎖座-下單-出票那麼簡單,如果說2010 年的系統規模是一棟平房,那如今的規模可以稱得上是500 層的高樓了,那麼要改動從系統搭建初期就已定下的規則,就如同重新打造這幢高樓的地基一般,這個挑戰可想而知。

  1. 怎麼做分區定價,不同系統商有不同的說法

淘票票作為領先的觀影購票平台,中國電影市場的很大一部分票房是由淘票票的用戶貢獻的。然而,淘票票並非電影票的最終出票者,影院才是。淘票票通過對接影院安裝的具有售票資質的售票系統,完成出票。

目前,具有售票資質的系統商有七家,如鳳凰雲智、佳影、鼎新等,在系統商的基礎上,還有搭建自己售票能力的電商,如大地、萬達等等。上述提到的系統商加電商(下文統稱合作商),代表全國近萬家影院,定義了影院本地售票系統的接口協議和標準。對於分區定價,他們接口層面有不同的詮釋。這就為我們帶來了第二個挑戰,如何適配眾多結構不一的分區定價接口。

  1. 如何快速響應?

時間是個永恆的話題。如何在較短的時間內,面對較大的技術複雜性,去支撐業務的急速變化,這也是我們在實現分區定價過程中遇到的問題。

二、方案-控邊界,以不變應萬變

  1. 思路

我們從業務建模出發,構建問題空間模型,然後落實到系統上,逐個擊破,用系統建模的方式產出解決方案模型,最後用技術手段實現。根據第二章節的闡述,我們抽像出分區定價的兩個核心問題:

1)售票的定價維度從場次精確到座位;

2)適配各個合作商不同的分區定價接口。

按照領域建模的沉澱內聚的原則,盡量將變更收斂控制在相關的業務域內。因此接下來我們針對上述兩個問題進行抽解、推理:

a)將座位的定價維度精確到座位,分區定價,核心就是價格,價格屬性是貫穿整個服務集群的重要屬性。基礎數據、交易、營銷甚至網關係統都依賴價格。然而價格本身並不是一個獨立的模型,而是商品模型的一個屬性,這裡的商品模型也可以認為是場次或者排期模型。基礎數據、交易、營銷等各個業務域所依賴的是商品模型,並非價格。一個普通場次對應一個商品,而對分區定價場次來說,可能一個場次可能對應多個商品。因此針對這個問題我們的解決思路是:抽象分區定價數據到商品模型,交易、營銷等模塊依賴商品中的價格屬性去實現收單、交易履行等模塊,盡量不感知分區細節邏輯;

b)適配各個合作商的分區定價接口,我們的原則是盡量減少其對上層業務的侵入,將其差異屏蔽到底層模塊,並對上層提供統一的接口。雖然各個合作商提供的分區定價服務有所差異,但是基本上可以抽象為排期拉取、鎖座、解鎖座位、出票等模塊,而這些底層模塊與上層的交互是統一且確定的。因此針對這個問題我們的解決思路是:網關域適配個合作商的分區定價接口,組裝統一結構的基礎數據,暴露統一標準的鎖座、出票等服務,將分區定價的基礎服務能力沉澱內聚到網關層。

  1. 架構與實現

綜上所述,淘票票對於分區定價的實現方式可總結為以下幾點:

1)網關層沉澱封裝排期拉取、座位圖拉取、鎖座、出票、解鎖座位等能力,並對外暴露統一標準的基礎服務;

2)抽象分區定價的數據到商品及排期模型中,對外提供統一結構的數據模型;

3)上層模塊基於底層的基礎數據和服務,以通用邏輯進行適配,盡量減少對上層業務的侵入。

具體如下圖所示:

分區定價:座位上玩轉“精細化運營” 1

  1. 最終答卷

通過上述的解決方案,淘票票在較短的時間內完成了對分區定價業務的支撐,覆蓋了行業內多數合作商和影院,同時系統具備一定的可擴展性和復用性,能夠以較低成本實現合作商的對接。

四、思考

  1. 快速的業務變化,如何應對,並沉澱技術能力?

快速變化是互聯網行業一個無法迴避的問題,由於技術人員距離業務前線相對較遠,在應對過程中難免顯得被動和疲倦。 “面向複製-粘貼的編程模式”“先 run 起來”“趕一下進度,後面再重構”、“必須馬上上線”等等這些傳統應對方式就會大顯身手。然而,這些手段縱然能夠“快速”支撐業務,也造成了一些惡果。其一,代碼的可複用性和可擴展性極差;其二,技術債高壘,影響開發效率,增加變更風險,降低技術競爭力,甚至反過來影響業務和團隊。在快速交付的前提下,在分區定價項目的實踐過程中,我們總結出以下幾點經驗:

1)規範技術債的管理機制,對於需要優化的模塊,在項目上線之初,就要確定迭代計劃。這是最簡單卻很容易見效的手段;

2)定位核心變更,並將核心模塊收斂到盡量少的業務域中,沉澱能力,便於統一管理、復用和擴展。比如在分區定價架構設計中,我們把核心模塊落地在基礎數據域和網關域,在不影響業務交付的前提下,也使得系統具備一定的擴展和復用能力;

3)拉進業務距離,盡可能多的理解業務訴求、未來規劃等等,在設計階段,把這些信息帶入思考,能夠使我們在面對變化時更加從容。

  1. 業務技術,做業務還是做技術,技術性體現在哪裡?

在業務開發的角色上,面對紛繁的業務需求,很多人會產生困惑,到底是在做技術,還是在做業務,其技術含量體現在哪裡?

通過上文所述,一些業務需求的複雜性未必就遜色於底層技術。我們產生困惑的原因,更多的還是面對的問題不一樣。業務技術面對的問題變化更快、領域橫向上更廣;底層技術面對的問題更加穩定,領域縱向上更加深入,但是大家解決問題的能力是共通的,比如編程能力、抽象建模能力、結構化思維能力、落地能力等等。

因此業務開發並不簡單,只是大家想“簡單”了,或者說在用“簡單”的方式做業務開發。我們認為,尊重業務需求,夯實編程、抽象建模、落地等能力,並在項目實踐中充分思考和應用,業務一樣可以做的很“技術”。

作者簡介

阿里文娛開發工程師 暮平

相關鏈接

10W 座位的大場館究竟是怎麼畫出來的?

10 倍高清不花!大麥端選座SVG 渲染

首次揭秘!看大麥如何掌控超大規模高性能選座搶票

3D/VR 選座技術探索

大麥庫存的高性能及一致性是如何設計的?

大麥票夾:從工具到服務的技術演進之路