不動産仲介の仕組みと「なぜもう契約済み物件がSUUMOに出続けるのか」

最近引っ越しをしました。引っ越しはもう5回目くらいなんですが、その度に「不動産業者ってぼろいなぁ(ぼろ儲け)」と思うんです。逆に消費者はぼったくられているなぁと。ビジネスとしては簡単で高利益だなぁと感じるんです。

 

なぜかと言いますと、

①客が来る

②物件を紹介する

③契約してもらえれば仲介手数料が入る

④終わり(もう責任もなにもない)

のステップで成り立っています。在庫リスクもないですし、技術もいらないし、資格もそこまで難しくない宅建でOKですので、資格保有者もそこそこ雇いやすいでしょう(宅建試験の合格率は約15%、公認会計士は約5%です)。契約が終われば、あとはもう関係ないです。

賃貸物件を借りたことがある人は分かると思うんですが、契約終了後は、物件を紹介してくれた不動産仲介会社とは何も連絡しないです。つまり、不動産仲介会社としては、そこで売りきりなんですね。スーパーなどの小売業に近いです。

 

みなさんは、これでやっていける理由とビジネス構造を知っていますか?

図にすると、下みたいなイメージです。真ん中にある「仲介システム」が肝です。今回借りたい人は、たまたまCに行きましたが、どこの不動産仲介会社に行っても、紹介可能な物件は基本的に同じです。たまに、独自物件があります。

 

f:id:tiruka:20180920140503p:plain

「仲介システム」は、SUUMOやHOMESではなく、それの元になるほぼ全ての物件を検索できるシステムです。これには不動産会社しかアクセスできません。

このシステムのおかげで、「貸したい人は不動産管理会社に一任→不動産管理会社はシステムに登録するだけ→仲介会社は検索して、HOMESとかに登録するだけ」で、あとは借りたい人がやって来るのを待つだけです。

先ほども言いましたが、消費者(借りたい人)はこの仲介システムにアクセスできないので、消費者と不動産仲介会社の間には「情報の非対称性」が生まれるわけです。

ぐぐればたくさんあると思いますが、「情報の非対称性」で儲けるのはビジネスの基本中の基本です。

 

でですね、タイトルにある「なぜもうない物件がSUUMOに出続けるのか」なんですが、これは私が契約した物件が該当しているんですね。まぁいいんですが、他の家を探している人には良い迷惑ですよね。皆さんも経験があると思うんですが、問い合わせたら「すでに契約しております」なんて返事が来て、「他の物件をご紹介しますよ」なんて展開です。

不動産仲介会社の方も述べていましたが、SUUMOやHOMESに載っている物件は、問い合わせるとすでにないケースがほとんどです(いや、直せよ、と思いましたが)。メジャーサイトに載る前に、違うルートや仲介システム経由で、契約しちゃっているんですね。

要は、契約が入る良い物件は、契約済みでも客寄せパンダとして、広告しておきたいんです。もう1ヶ月以上、契約終了時からネット掲載されっぱいなしですね。システム的にできないなら、システムを改めてください。

こういうの、誇大広告に近いと思いますが、みなさんいかがでしょうか?

 

オフィスの拡大?

会社のオフィスが拡大して、2フロア体制になった。規模が大きくなれば仕事も増えるし、技術的なチャレンジもできる可能性があるので、喜ばしいことである。

 

しかし、人数もそこそこであり、売上もそこそこなので、そんなにオフィスを拡大する必要あるのかな?エンジニア含め、人数が急拡大する気配もあまり感じないのだが。まぁ、経験したことないので、突然会社って急拡大するものなのかもしれないが。

 

不思議だ。

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結合条件で両方のテーブルをチェックし、合致するレコードを結合。よってキーが重複していればその分重複して結合されレコードが増える。

SQLによる外部結合と内部結合

 

今回の私の問題は、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社くらい訪問したことがあったんですが、まぁさらに自由でしたね。卓球台とかゲームとか置いてありました。

 

で、自販機を自由に使うのですが、よくペットボトルが凍ってます。お茶とかが頻度高く凍ってますが、まぁこれはまだ良いと思いますが、今日は若干炭酸水が凍っていて、みぞれ化してました。
炭酸水が凍ってしまったら、本当にまずいのでは?

はじめまして

はじめまして、tirukaです。

ベンチャー企業で、人工知能(主に自然言語処理)、データ解析、Python、JSのエンジニアをやっています。

プログラミング、本、会社、ベンチャー、生活について書いていきます。

 

よろしくおねがいします。