Upgrade to Pro — share decks privately, control downloads, hide ads and more …

テレビCMのユニークリーチを最適化する / PyData.Tokyo24

森下光之助
November 26, 2021

テレビCMのユニークリーチを最適化する / PyData.Tokyo24

2021年11月26日に行われたPyData.Tokyo Meetup #24 Pythonではじめる数理最適化での発表資料です。
https://pydatatokyo.connpass.com/event/226657/

資料で使われているPythonコードはこちらになります。
https://github.com/dropout009/pydata24

森下光之助

November 26, 2021
Tweet

More Decks by 森下光之助

Other Decks in Research

Transcript

  1. CM
    2021/11/26
    PyData.Tokyo Meetup #24
    @dropout009

    View Slide

  2. TVISION INSIGHTS
    Twitter: @dropout009
    Speaker Deck: dropout009
    Blog: https://dropout009.hatenablog.com/

    View Slide

  3. View Slide

  4. A
    B C
    D
    E
    F
    CM CM

    View Slide

  5. View Slide

  6. • 𝑖 𝑖 = 1, … , 𝑁
    • 𝑗 𝑗 = 1, … , 𝐽
    • 𝑘!
    𝑗 CM 𝒌 = (𝑘"
    , … , 𝑘!
    , … 𝑘#
    )
    • 𝑅
    • 𝑅$ 𝑖 CM 1 0
    • 𝑃𝑟𝑖𝑐𝑒! 𝑗 CM 1
    • 𝐵𝑢𝑑𝑔𝑒𝑡
    max
    𝒌&'
    𝔼 𝑅 ∣ 𝒌 = 𝔼
    1
    𝑁
    <
    $("
    )
    𝑅$
    ∣ 𝒌
    𝑠. 𝑡. <
    !("
    #
    𝑃𝑟𝑖𝑐𝑒!×𝑘! ≤ 𝐵𝑢𝑑𝑔𝑒𝑡

    View Slide

  7. 𝔼 𝑅 ∣ 𝒌 = 𝔼
    1
    𝑁
    (
    !"#
    $
    𝑅!
    ∣ 𝒌
    =
    1
    𝑁
    (
    !"#
    $
    𝔼 𝑅!
    ∣ 𝒌
    =
    1
    𝑁
    (
    !"#
    $
    Pr(𝑅!
    = 1 ∣ 𝒌)

    View Slide

  8. Pr(𝑅!
    = 1 ∣ 𝒌) = 1 − .
    %"#
    &
    1 − 𝑝!%
    '! = 1 − .
    %"#
    &
    𝑞
    !%
    '!
    𝑞!"
    𝑞!" = 1 − 𝑝!"
    𝑝!"
    1

    View Slide

  9. max
    𝒌&'
    1 −
    1
    𝑁
    <
    $("
    )
    B
    !("
    #
    𝑞
    $!
    *!
    s. t. <
    !("
    #
    𝑝𝑟𝑖𝑐𝑒!×𝑘! ≤ 𝐵𝑢𝑑𝑔𝑒𝑡
    • 𝑖 𝑖 = 1, … , 𝑁
    • 𝑗 𝑗 = 1, … , 𝐽
    • 𝑘! 𝑗 CM 𝒌 = (𝑘", … , 𝑘!, … 𝑘#)
    • 𝑞$!
    𝑗 CM 𝑖
    • 𝑃𝑟𝑖𝑐𝑒!
    𝑗 CM 1
    • 𝐵𝑢𝑑𝑔𝑒𝑡

    View Slide

  10. 2 2 CM 2
    CM
    0 2 1 2 1
    A 1 −
    2
    3
    !
    =
    5
    9
    1 −
    1
    3
    !
    =
    7
    9
    1 −
    2
    3
    1
    3
    =
    7
    9
    B 1 −
    1
    3
    !
    =
    7
    9
    1 −
    2
    3
    !
    =
    5
    9
    1 −
    1
    3
    2
    3
    =
    7
    9
    6
    9
    6
    9
    𝟕
    𝟗
    0 1
    A
    1
    3
    2
    3
    B
    2
    3
    1
    3
    (𝑝!")

    View Slide

  11. Python

    View Slide

  12. Python
    scipy
    K

    View Slide

  13. 0 1
    A
    1
    3
    2
    3
    B
    2
    3
    1
    3
    1
    7/9
    (𝑝!")

    View Slide

  14. 𝑝$' ∼ Beta 4, 200
    𝑝$" ∼ Beta 3, 200
    max
    (7",7#)
    𝔼 𝑅 ∣ (𝑘'
    , 𝑘"
    ) = 1 −
    1
    𝑁
    <
    $("
    )
    𝑞$'
    *"𝑞$"
    *#
    s. t. 𝑘' + 𝑘" ≤ 100
    0
    0, 1

    View Slide

  15. View Slide

  16. 𝔼 𝑅 ∣ 𝒌 = 1 −
    1
    𝑁
    <
    $("
    )
    B
    !("
    #
    𝑞
    $!
    *!
    O
    𝔼 𝑅 ∣ 𝒌 = 1 −
    1
    𝑁
    <
    $("
    )
    B
    !("
    #
    P
    𝑞
    $!
    *!
    P
    𝑞$!
    = 1 −
    1
    𝐿!
    <
    :("
    ;!
    𝑅$!:
    𝑗 𝐿!
    CM
    𝑖 𝑗 𝑙 CM
    1 0

    View Slide

  17. 𝑝!" ∼ Beta 1, 49
    𝐹!" ∼ Binomial 𝐿, 𝑝!"
    >
    𝑞!" = 1 −
    𝐹!"
    𝐿
    ?
    𝔼 𝑅 ∣ 𝒌 = = 1 −
    1
    𝑁
    E
    !#$
    %
    F
    "#$
    &
    >
    𝑞
    !"
    '!
    𝑖 𝑗 CM

    View Slide

  18. CM 𝐿
    𝐹"#
    ∼ Binomial 𝐿, 𝑝"#
    0
    𝑞"#
    = 1 −
    𝐹"#
    𝐿

    View Slide

  19. View Slide

  20. 𝔼 P
    𝑞$! = 𝑞$!
    2
    𝔼 P
    𝑞$!
    = = 𝔼 P
    𝑞$!
    =
    + Var P
    𝑞$! ≥ 𝑞$!
    =
    U
    𝑞$!
    = = P
    𝑞$!
    = − V
    Var P
    𝑞$!
    𝑞$!
    = P
    𝑞$!
    =
    P
    𝑞$!
    G
    Var >
    𝑞!" =
    >
    𝑞!"(1 − >
    𝑞!")
    𝐿

    View Slide

  21. 1
    𝑞!%
    ' 2
    𝔼 P
    𝑞$!
    * ≈ 𝔼 𝑞$!
    * + 𝑘𝑞$!
    *>" P
    𝑞$! − 𝑞$! +
    1
    2
    𝑘 𝑘 − 1 𝑞$!
    *>= P
    𝑞$! − 𝑞$!
    =
    = 𝑞$!
    * + 𝑘𝑞$!
    *>" 𝔼 P
    𝑞$! − 𝑞$! +
    1
    2
    𝑘 𝑘 − 1 𝑞$!
    *>=𝔼 P
    𝑞$! − 𝑞$!
    =
    = 𝑞$!
    * +
    1
    2
    𝑘 𝑘 − 1 𝑞$!
    *>=Var P
    𝑞$!
    P
    𝑞$!
    * 𝑞$!
    * 2
    U
    𝑞$!
    * = P
    𝑞$!
    * −
    1
    2
    𝑘 𝑘 − 1 X
    𝑞$!
    *>= V
    Var P
    𝑞$!
    𝑞$!
    * ⾒

    View Slide

  22. CM 𝐿

    View Slide

  23. View Slide

  24. • CM

    • ⾒

    View Slide

  25. CM
    𝔼 𝐴 ∣ 𝒌 = 𝔼
    1
    𝑁
    <
    $("
    )
    𝐴$ ∣ 𝒌
    =
    1
    𝑁
    <
    $("
    )
    𝔼 𝐴$
    ∣ 𝒌
    =
    1
    𝑁
    <
    $("
    )
    Pr(𝐴$ = 1 ∣ 𝒌)
    =
    1
    𝑁
    <
    $("
    )
    <
    ?('
    ∑*!
    Pr(𝐴$ = 1 ∣ 𝑓) Pr(𝐹$ = 𝑓 ∣ 𝒌)
    CM 𝑘
    𝑖 𝑓
    𝑖 𝑓
    CM
    CM

    View Slide

  26. Python

    View Slide