不動産仲介の仕組みと「なぜもう契約済み物件がSUUMOに出続けるのか」
最近引っ越しをしました。引っ越しはもう5回目くらいなんですが、その度に「不動産業者ってぼろいなぁ(ぼろ儲け)」と思うんです。逆に消費者はぼったくられているなぁと。ビジネスとしては簡単で高利益だなぁと感じるんです。
なぜかと言いますと、
①客が来る
②物件を紹介する
③契約してもらえれば仲介手数料が入る
④終わり(もう責任もなにもない)
のステップで成り立っています。在庫リスクもないですし、技術もいらないし、資格もそこまで難しくない宅建でOKですので、資格保有者もそこそこ雇いやすいでしょう(宅建試験の合格率は約15%、公認会計士は約5%です)。契約が終われば、あとはもう関係ないです。
賃貸物件を借りたことがある人は分かると思うんですが、契約終了後は、物件を紹介してくれた不動産仲介会社とは何も連絡しないです。つまり、不動産仲介会社としては、そこで売りきりなんですね。スーパーなどの小売業に近いです。
みなさんは、これでやっていける理由とビジネス構造を知っていますか?
図にすると、下みたいなイメージです。真ん中にある「仲介システム」が肝です。今回借りたい人は、たまたまCに行きましたが、どこの不動産仲介会社に行っても、紹介可能な物件は基本的に同じです。たまに、独自物件があります。
「仲介システム」は、SUUMOやHOMESではなく、それの元になるほぼ全ての物件を検索できるシステムです。これには不動産会社しかアクセスできません。
このシステムのおかげで、「貸したい人は不動産管理会社に一任→不動産管理会社はシステムに登録するだけ→仲介会社は検索して、HOMESとかに登録するだけ」で、あとは借りたい人がやって来るのを待つだけです。
先ほども言いましたが、消費者(借りたい人)はこの仲介システムにアクセスできないので、消費者と不動産仲介会社の間には「情報の非対称性」が生まれるわけです。
ぐぐればたくさんあると思いますが、「情報の非対称性」で儲けるのはビジネスの基本中の基本です。
でですね、タイトルにある「なぜもうない物件がSUUMOに出続けるのか」なんですが、これは私が契約した物件が該当しているんですね。まぁいいんですが、他の家を探している人には良い迷惑ですよね。皆さんも経験があると思うんですが、問い合わせたら「すでに契約しております」なんて返事が来て、「他の物件をご紹介しますよ」なんて展開です。
不動産仲介会社の方も述べていましたが、SUUMOやHOMESに載っている物件は、問い合わせるとすでにないケースがほとんどです(いや、直せよ、と思いましたが)。メジャーサイトに載る前に、違うルートや仲介システム経由で、契約しちゃっているんですね。
要は、契約が入る良い物件は、契約済みでも客寄せパンダとして、広告しておきたいんです。もう1ヶ月以上、契約終了時からネット掲載されっぱいなしですね。システム的にできないなら、システムを改めてください。
こういうの、誇大広告に近いと思いますが、みなさんいかがでしょうか?
pandasのユニーク値の抽出
pandasでは、ユニークな値を抽出するときは、unique()
メソッドを使用すれば良い。
len(sample) # 1000 len(sample['order_no'].unique()) #892
しかし、これだと複数カラムでユニークになるものを考慮できない。unique()
には、複数カラムに対応する機能は存在しない。この場合は、duplicated()
を使用します。 例えば、order_noとorder_dayの組み合わせで、ユニークになるとしましょう。
len(sample_df[~sample_df.duplicated(['order_no', 'order_day'])]) # 950
先ほどより、値が増えましたので、order_noは同じでも、order_dayが異なるものがあるということですね。
重複カラムを削除する場合は、subsetに、str/list/array-likeを渡せば良いです。1つのカラムしか見ない場合はstr、複合カラムの場合は、listなどです。
sample = sample.drop_duplicates(subset=['order_no', 'order_day'], keep='first')
前回エントリーpandas の mergeでやったように、mergeするときの前処理として、使用します。groupby()
経由より良い気がしますね。
pandas の merge
pythonのpandasはDBのように使えるので、よくデータ分析で使用します。
その中のメソッドに、mergeとういうものがあります。他にもconcat, joinとかがあります。
mergeでは、how='inner'のように指定することで、内部結合、完全外部結合、左外部結合、右外部結合を使用できます。
sqlでいう、JOINとほぼ等価の働きをしてくれますので、何か困ったらsqlのjoinのノウハウを調べると、解決できることが多いです。
さて、今回私が直面したのは、Left Joinすると、レコード数が増えるという問題です。
・外部結合(LEFT JOIN)は左のテーブルをすべて抽出し、これを基準にON結合条件で右のテーブルのキーをチェックし、合致するレコードを結合。よってキーが存在せず結合できなくてもレコードをNull値で追加し、キーが重複していればその分重複して結合され、レコード件数が増える。
・内部結合(INNER JOIN)はON結合条件で両方のテーブルをチェックし、合致するレコードを結合。よってキーが重複していればその分重複して結合されレコードが増える。
今回の私の問題は、req_dfに重複があることが問題です。下記のようなコードになります。
order_df_with_req = pd.merge(order_df, req_df, how='left', left_on='shop', right_on='req') len(order_df) # 1000 len(order_df_with_req) #1200
従って、キーとなるカラムの重複を消します。
req_df = req_dff.groupby('req').agg({'day': lambda x: ','.join(x)}) req_df = req_df.reset_index()
これで解決すると思います。SQLより簡単ですね。
ここがとても参考になります。 pandasの使い方(merge、join、concat編)
ベンチャーの福利厚生と凍った自販機
勤務している企業では、福利厚生の一環として自動販売機が無料で使えます。
どのボタンを押しても、出てくる感じです。
私の知っているIT系のベンチャー企業は、けっこうこういう福利厚生があったりします。コーヒーマシンがおいてあったり、お菓子が置いてあったり、自販機があったりします。ところによっては、昼食を週1,2回支給してくれたりします。(出前とか、近くのお店と契約しているとか)
友達とかに話すと、結構意外だと感じるそうです。ベンチャー企業は、人を集めなきゃいけないので、結構こういう所にも力を入れています。
家賃補助・手当の制度もあるところもあります。
こういう文化は、アメリカのシリコンバレーを真似ているんでしょうね。
1年前くらいに3社くらい訪問したことがあったんですが、まぁさらに自由でしたね。卓球台とかゲームとか置いてありました。
で、自販機を自由に使うのですが、よくペットボトルが凍ってます。お茶とかが頻度高く凍ってますが、まぁこれはまだ良いと思いますが、今日は若干炭酸水が凍っていて、みぞれ化してました。
炭酸水が凍ってしまったら、本当にまずいのでは?