From fd1403825373e15c84ff3bbb60f20d850cc60c13 Mon Sep 17 00:00:00 2001 From: Luigi Maiorano Date: Mon, 2 Feb 2026 23:22:09 +0100 Subject: [PATCH] comment out 'per subgroup' since these just take too long to create --- 03_quant_report.py | 324 ++++++++++++++++++++++++--------------------- 1 file changed, 171 insertions(+), 153 deletions(-) diff --git a/03_quant_report.py b/03_quant_report.py index e3ed954..ddb91cc 100644 --- a/03_quant_report.py +++ b/03_quant_report.py @@ -400,165 +400,183 @@ def _(): return -@app.cell(hide_code=True) +# @app.cell(hide_code=True) +# def _(): +# mo.md(r""" +# # BC per Consumer +# """) +# return + + +# @app.cell +# def _(): +# split_group = 'Consumer' +# return (split_group,) + + +# @app.cell +# def _(split_group): +# mo.md(rf""" +# ## Character Ranking Points (per {split_group} segment) +# """) +# return + + +# @app.cell +# def _(S, data): +# _content = "" +# for _consumer_group, _consumer_df in utils.split_consumer_groups(data).items(): + +# _char_rank = S.get_character_ranking(_consumer_df)[0] +# _char_rank_weighted = calculate_weighted_ranking_scores(_char_rank) + +# _plot = S.plot_weighted_ranking_score( +# _char_rank_weighted, +# title=f'Most Popular Character - Weighted Popularity Score - CONSUMER: "{_consumer_group.replace("_", " ").replace("Woth", 'Worth')}"
(1st=3pts, 2nd=2pts, 3rd=1pt)', +# x_label='Voice' +# ) + +# _content += f""" +# {mo.ui.altair_chart(_plot)} + +# """ + +# mo.md(_content) +# return + + +# @app.cell +# def _(split_group): +# mo.md(rf""" +# ## Character Ranking Place 1-2-3 in one (per {split_group}) +# """) +# return + + +# @app.cell +# def _(S, data): +# _content = "" +# for _consumer_group, _consumer_df in utils.split_consumer_groups(data).items(): + +# _char_rank = S.get_character_ranking(_consumer_df)[0] + + +# _plot = S.plot_top3_ranking_distribution(_char_rank, x_label='Character Personality', title='Character Personality: Rankings Top 3 - CONSUMER: "'+_consumer_group.replace("_", " ").replace("Woth", 'Worth')+'"') + +# _content += f""" +# {mo.ui.altair_chart(_plot)} + +# """ + +# mo.md(_content) +# return + + +# @app.cell +# def _(split_group): +# mo.md(rf""" +# ## Character Ranking times 1st place (per {split_group}) +# """) +# return + + +# @app.cell +# def _(S, data): +# _content = "" +# for _consumer_group, _consumer_df in utils.split_consumer_groups(data).items(): + +# _char_rank = S.get_character_ranking(_consumer_df)[0] + +# _plot = S.plot_most_ranked_1(_char_rank, title=f'Most Popular Character - CONSUMER: "{_consumer_group.replace("_", " ").replace("Woth", 'Worth')}"
(Number of Times Ranked 1st)', x_label='Character Personality') + +# _content += f""" +# {mo.ui.altair_chart(_plot)} + +# """ + +# mo.md(_content) +# return + + +# @app.cell +# def _(split_group): +# mo.md(rf""" +# ## Predefined personality traits WordClouds per {split_group} +# """) +# return + + +# @app.cell +# def _(S, data): +# _content = "" +# for _consumer_group, _consumer_df in utils.split_consumer_groups(data).items(): +# _top8_traits = S.get_top_8_traits(_consumer_df)[0] + +# _plot = S.plot_traits_wordcloud( +# data=_top8_traits, +# column='Top_8_Traits', +# title=f'Most Prominent Personality Traits - CONSUMER: "{_consumer_group.replace("_", " ").replace("Woth", "Worth")}"', +# ) + +# _content += f""" +# {_plot} + +# """ + +# mo.md(_content) +# return + + +# @app.cell +# def _(split_group): +# mo.md(rf""" +# ## Frequency traits chosen - per {split_group} segment +# """) +# return + + +# @app.cell +# def _(S, character_colors, consistent_sort_order, data): +# top_char = "The Coach" + +# _content = "" +# for _consumer_group, _consumer_df in utils.split_consumer_groups(data).items(): + +# _char_df = S.get_character_refine(_consumer_df)[0] + +# _freq_df, _ = S.transform_character_trait_frequency(_char_df, top_char) +# _main_color, _highlight_color = character_colors[top_char] +# _chart = S.plot_single_character_trait_frequency( +# data=_freq_df, +# character_name=top_char, +# bar_color=_main_color, +# highlight_color=_highlight_color, +# trait_sort_order=consistent_sort_order, +# title=f"""Top Personality Traits for '{top_char}' - CONSUMER: "{_consumer_group.replace('_', ' ').replace("Woth", "Worth")}""" +# ) +# _content += f""" +# {mo.ui.altair_chart(_chart)} + +# """ +# mo.md(_content) +# return + + +# @app.cell +# def _(): +# mo.md(r""" +# # BC per Gender +# """) +# return + + +@app.cell def _(): - mo.md(r""" - # BC per Consumer - """) return @app.cell def _(): - split_group = 'Consumer' - return (split_group,) - - -@app.cell -def _(split_group): - mo.md(rf""" - ## Character Ranking Points (per {split_group} segment) - """) - return - - -@app.cell -def _(S, data): - _content = "" - for _consumer_group, _consumer_df in utils.split_consumer_groups(data).items(): - - _char_rank = S.get_character_ranking(_consumer_df)[0] - _char_rank_weighted = calculate_weighted_ranking_scores(_char_rank) - - _plot = S.plot_weighted_ranking_score( - _char_rank_weighted, - title=f'Most Popular Character - Weighted Popularity Score - CONSUMER: "{_consumer_group.replace("_", " ").replace("Woth", 'Worth')}"
(1st=3pts, 2nd=2pts, 3rd=1pt)', - x_label='Voice' - ) - - _content += f""" - {mo.ui.altair_chart(_plot)} - - """ - - mo.md(_content) - return - - -@app.cell -def _(split_group): - mo.md(rf""" - ## Character Ranking Place 1-2-3 in one (per {split_group}) - """) - return - - -@app.cell -def _(S, data): - _content = "" - for _consumer_group, _consumer_df in utils.split_consumer_groups(data).items(): - - _char_rank = S.get_character_ranking(_consumer_df)[0] - - - _plot = S.plot_top3_ranking_distribution(_char_rank, x_label='Character Personality', title='Character Personality: Rankings Top 3 - CONSUMER: "'+_consumer_group.replace("_", " ").replace("Woth", 'Worth')+'"') - - _content += f""" - {mo.ui.altair_chart(_plot)} - - """ - - mo.md(_content) - return - - -@app.cell -def _(split_group): - mo.md(rf""" - ## Character Ranking times 1st place (per {split_group}) - """) - return - - -@app.cell -def _(S, data): - _content = "" - for _consumer_group, _consumer_df in utils.split_consumer_groups(data).items(): - - _char_rank = S.get_character_ranking(_consumer_df)[0] - - _plot = S.plot_most_ranked_1(_char_rank, title=f'Most Popular Character - CONSUMER: "{_consumer_group.replace("_", " ").replace("Woth", 'Worth')}"
(Number of Times Ranked 1st)', x_label='Character Personality') - - _content += f""" - {mo.ui.altair_chart(_plot)} - - """ - - mo.md(_content) - return - - -@app.cell -def _(split_group): - mo.md(rf""" - ## Predefined personality traits WordClouds per {split_group} - """) - return - - -@app.cell -def _(S, data): - _content = "" - for _consumer_group, _consumer_df in utils.split_consumer_groups(data).items(): - _top8_traits = S.get_top_8_traits(_consumer_df)[0] - - _plot = S.plot_traits_wordcloud( - data=_top8_traits, - column='Top_8_Traits', - title=f'Most Prominent Personality Traits - CONSUMER: "{_consumer_group.replace("_", " ").replace("Woth", "Worth")}"', - ) - - _content += f""" - {_plot} - - """ - - mo.md(_content) - return - - -@app.cell -def _(split_group): - mo.md(rf""" - ## Frequency traits chosen - per {split_group} segment - """) - return - - -@app.cell -def _(S, character_colors, consistent_sort_order, data): - top_char = "The Coach" - - _content = "" - for _consumer_group, _consumer_df in utils.split_consumer_groups(data).items(): - - _char_df = S.get_character_refine(_consumer_df)[0] - - _freq_df, _ = S.transform_character_trait_frequency(_char_df, top_char) - _main_color, _highlight_color = character_colors[top_char] - _chart = S.plot_single_character_trait_frequency( - data=_freq_df, - character_name=top_char, - bar_color=_main_color, - highlight_color=_highlight_color, - trait_sort_order=consistent_sort_order, - title=f"""Top Personality Traits for '{top_char}' - CONSUMER: "{_consumer_group.replace('_', ' ').replace("Woth", "Worth")}""" - ) - _content += f""" - {mo.ui.altair_chart(_chart)} - - """ - mo.md(_content) return