Slide 1

Slide 1 text

Streamlit in Snowflakeで加速する 
 不動産テック企業のデータ活用 
 @Snowflake WESTユーザー会 
 GA technologies Data本部 Applied ML部 
 酒井悠斗 Data Scientist
 2025/05/21


Slide 2

Slide 2 text

1. 登壇者紹介 / 会社紹介
 2. GA technologiesでのSnowflakeの使い方
 3. Streamlitユースケース #1
 4. Streamlitユースケース #2 
 5. Streamlitユースケース #3
 6. まとめ
 アジェンダ 


Slide 3

Slide 3 text

登壇者紹介 
 酒井 悠斗 / Yuto Sakai
 職歴:新卒で外資保険会社 → 2024年 GA technologies入社
 所属:Data本部 Applied ML部 データサイエンティスト 
 
 GA technologiesでの取り組み:
 ● デジタルマーケティング領域の出稿割合の最適化 
 ● セールス領域の行動とKPIの関連性可視化・分析
 ● 社内でのLLMアプリ作成ツール導入による LLMの民主化


Slide 4

Slide 4 text

会社紹介 / GA technologiesの概要 
 ※コーポレートストーリー 2025年3月より(証券コード:3491) 


Slide 5

Slide 5 text

GA technologiesでのSnowflakeの使い方
 内製SFA 広告媒体 Table Notebook Streamlit Google Sheet Snowflakeを中心として様々なプロダクト・データが連携しています 
 データソース BIツール データカタログ Reverse ETL ETL

Slide 6

Slide 6 text

Streamlit ユースケース 
 データマネジメント 
 業務の効率化 ABテストの
 標準化 商談内容の 
 定量的な分析 
 カラムディスクリプション 
 エディター 
 
 Snowflake内のテーブル 
 のDescriptionの記入をサ ポートするツール ABテスト
 計算ツール 
 
 ABテストの統計的な 
 計算・評価をサポートす るツール キーアクション 
 チェッカー 
 
 商談の内容を LLMの力 で簡単にチェックする ツール

Slide 7

Slide 7 text

Streamlit ユースケース #1
 カラムディスクリプション 
 エディター 背景・課題: 
 ● DWHにおいて各種データの説明( Description)が不完全
 ● 欲しいデータが、どのテーブルのどのカラムに存在するのか わかりづらい
 ● 対象のテーブル・カラムが膨大で、人力での Description   入力が難しい
 
 対象ユーザー: 
 ● Descriptionを記入するメンバー( Data Managment)
 
 効果:
 ● 1テーブル約10分の作業が約2分に短縮(80%短縮)


Slide 8

Slide 8 text

ユースケース #1 / Columns Description Editor
 LLMを用いて Descriptionを生成し Snowflake画面でもそれを確認できる。 
 Before After ※データはダミーです


Slide 9

Slide 9 text

Step1: Descriptionを登録するテーブルを指定する。 
 ユースケース #1 / Columns Description Editor
 テーブルを Database.Schema.Table の形で指定する テーブルパスの指定 ※データはダミーです


Slide 10

Slide 10 text

Step2: 指定したテーブルの中身を確認し、追加情報があればそれも記載する 
 ユースケース #1 / Columns Description Editor
 本当にそのテーブルを編集するか中身を 見て確認できる カラムの数も表示されるので、「 1000個あり ます」→「あとでやろう・・・」といった判断も 事前にできる テーブルの確認 例えば、DB内のTableのSchemaを定義 するコードを追加情報として LLMに投入 できる(Githubからコピペ) 追加情報の付与 ※データはダミーです


Slide 11

Slide 11 text

Step3: 各種の情報をもとに LLMがDescriptionを生成し HITLを挟んで登録される。 
 ユースケース #1 / Columns Description Editor
 カラム毎に、カラム名・既存の Description ・サンプルの値などを整理する 統計情報の確認 上記の情報をもとに、 LLMが新たな Descriptionを生成し、NULLの部分を補完し てくれる LLMによるDescription生成 Descriptionは手動でも編集でき、人間の 確認をもって(HITL)登録される Descriptionの登録 ※データはダミーです


Slide 12

Slide 12 text

コード・プロンプトの紹介 
 以下の情報をヒントに、 データベースのテーブル内のカラムの説明を日本語で してください。 ただしヒントにある情報は別で参照できるので改めて説明する必要はありませ ん。以下の例を参考に考えてください。 また、追加情報に同じカラム名の項目があればそこを自分の考えよりも「優先 的」に参照してください。 ## 悪い例 - 例1: カーディナリティは20です。理由:Cardinalityカラムを見ればわかる情 報だから不要。 - 例2: DAY変数は曜日を表しています。理由 : column_nameを見れば列名 はわかるので簡潔に「曜日を表しています。」だけで良い。 ## 追加情報 - {additional_context} ~~~(略)~~~ select RST.column_name ,EDT.existing_description ,EDT.ordinal ,SNOWFLAKE.CORTEX.COMPLETE( 'llama3.1-70b', concat( '{llm_prompt}', ' Column Name:', RST.column_name, ' Cardinality:', RST.cardinality, ' Distinct Values:',RST.distinct_values ) ) as description ,distinct_values as sample_value from random_sample_transpose RST left join existing_description_tabe EDT on RST.column_name=EDT.column_name order by EDT.ordinal ASC Snowflake Cortexを呼ぶ部分 
 LLMへのPrompt
 ユースケース #1 / Columns Description Editor


Slide 13

Slide 13 text

Streamlit ユースケース #2
 背景・課題: 
 ● 部署によってABテストが実施されていたりいなかったり 
 ● 統計的な計算も全て正しいとは言えない状況 
 ● 判断基準も担当者の経験や感覚が重視 
 
 対象ユーザー: 
 ● PdMやマーケティング担当者( not テックメンバー)
 
 効果:
 ● ABテスト設計品質の向上 
 ● 判断基準の標準化
 ● 社内全体のデータリテラシー向上 
 ABテスト
 計算ツール

Slide 14

Slide 14 text

ユースケース #2 / ABテスト計算ツール 
 Step1: ABテストの事前の設計を行い、必要なサンプルサイズを求める 
 事前の設定のもとで必要 なサンプルサイズを計算 する サンプルサイズ確認 割合が前後した場合の サンプルサイズも 合わせて表示すること で、感応度分析のよう なことも可能に サンプルサイズ感応度 事前に有意水準や基準となる 割合などを定めておく テスト設計の設定 ※データはダミーです


Slide 15

Slide 15 text

ユースケース #2 / ABテスト計算ツール 
 Step2: テスト結果を記入し、各種指標から結果を解釈する 
 テスト実施の結果を 記入する テスト結果の記入 一通りの統計的な計算を 行い、その結果を表示 してくれる テスト評価の確認 ※データはダミーです


Slide 16

Slide 16 text

ユースケース #2 / ABテスト計算ツール 
 コードの紹介 
 @st.cache_data def create_sample_size_df(cvr_a_plan_100p, cvr_uplift_plan_100p, one_minus_beta, alpha, range_width=1.0, step=0.1): """ サンプルサイズテーブルを作成する Args: ~~~(略)~~~ Returns: pandas.DataFrame: サンプルサイズのテーブル """ # CVRの範囲を作成 cvr_a_plan_list = np.arange(start=max(0.1, return df_plan def set_page_style(): """ ページのスタイルを設定する """ st.markdown(""" [data-testid=stSidebar] { background-color: #E1F5FE; } """, unsafe_allow_html=True) UIの色もカスタマイズ可能 
 重い計算ではキャッシュを使用 


Slide 17

Slide 17 text

Streamlit ユースケース #3
 背景・課題: 
 ● 実施済みの不動産の商談データは Zoomで蓄積
 ● 統一的に商談データを分析する仕組みが未整備 
 
 対象ユーザー: 
 ● 不動産販売に関わる BizDevやSalesのメンバー
 
 効果:
 ● 蓄積された商談データを統一的に分析する仕組みの確立 
 ● 各種KPIに重要な影響を与えているキーアクションの発見 
 キーアクションチェッ カー


Slide 18

Slide 18 text

ユースケース #3 / キーアクションチェッカー 
 Step1: チェックする商談の件数を設定 
 チェックする商談の件数を入力 概算のLLMのコストと処理時間 も表示 チェック件数の指定

Slide 19

Slide 19 text

ユースケース #3 / キーアクションチェッカー 
 Step2: キーアクションを定義 
 ※キーアクションやチェック結果はダミーです 
 対象の商談を選択肢から選ぶ 商談種別の指定 チェックしたいアクションを テキストで定義する アクションの指定 「タスク作成と実行」を押すと Snowflakeのタスクが作成される タスクの作成

Slide 20

Slide 20 text

ユースケース #3 / キーアクションチェッカー 
 Step3: 作成されたタスクの確認 
 ※キーアクションやチェック結果はダミーです 
 前のタブで作成したタスクの一覧 をチェックできる 作成済みタスクの確認

Slide 21

Slide 21 text

ユースケース #3 / キーアクションチェッカー 
 Step4: キーアクションの実施有無と各種 KPIを確認
 ※キーアクションやチェック結果はダミーです 
 チェック項目を選ぶことで、その 項目と各種KPIとの相関を確認 することができる KPIとの相関チェック

Slide 22

Slide 22 text

ユースケース #3 / キーアクションチェッカー 
 コード・プロンプトの紹介 
 あなたは、ZoomのTranscriptを分析するAIです。 不動産投資の販売に関する営業トークを分析します。 あなたは、Transcriptの中からKey Actionを見つけることが求められていま す。 Key Actionは、営業トークの中で重要な行動や発言を指します。 例えば、自己紹介や商品の説明、顧客のニーズの確認などが含まれます。 あなたは、Transcriptを読み取り、Key Actionが行われているかどうかのフラ グを立てる必要があります。 # 出力フォーマット 以下の通りで「0」か「1」の整数のみ出力してください。それ以外のテキストは 出力しないでください。 - 0: (Key Actionが行われていない) - 1: (Key Actionが行われている) ~~~(略)~~~ select * ,SNOWFLAKE.CORTEX.COMPLETE( 'llama3.1-8b', [{{ 'role': 'user', 'content': concat( '{llm_prompt}', ' # Key Action:', '{key_action}', ' # Transcript:', {input_column_name} ) }}], {{'max_tokens':100}} ):"choices"[0]:"messages" AS key_action_flag_temp from target_table Snowflake Cortexを呼ぶ部分 
 LLMへのPrompt


Slide 23

Slide 23 text

全体を通して気づき・コメント 
 UI/デザイン 計算の処理 ユーザーFB ● 色での工夫は大切、     ただ使いすぎないように 
 ● Stepが分かれている場合 の画面遷移は用途に合わ せて選択(ページ /スクロー ル/タブ)
 ● キャッシュを使う 
 ● 概算コストや処理時間を表 示することでユーザー体験 を向上
 ● まずはリリースしてユー ザーに使ってもらうことが 大切
 ● リリース後も何度も修正し ました


Slide 24

Slide 24 text

ご清聴ありがとうございました! 


Slide 25

Slide 25 text

採用強化中です! 
 一緒に働きませんか? 
 HERP データ関連職種求人一覧

Slide 26

Slide 26 text

RENOSY トップページ RENOSYのオーナー様 になりませんか?