LICENSE.md
MANIFEST.in
README.md
pyproject.toml
setup.py
fightchurn/__init__.py
fightchurn/run_churn_listing.py
fightchurn.egg-info/PKG-INFO
fightchurn.egg-info/SOURCES.txt
fightchurn.egg-info/dependency_links.txt
fightchurn.egg-info/requires.txt
fightchurn.egg-info/top_level.txt
fightchurn/churnsim/__init__.py
fightchurn/churnsim/behavior.py
fightchurn/churnsim/churndb.py
fightchurn/churnsim/churnsim.py
fightchurn/churnsim/customer.py
fightchurn/churnsim/utility.py
fightchurn/churnsim/conf/__init__.py
fightchurn/churnsim/conf/biznet5_addons.csv
fightchurn/churnsim/conf/biznet5_app.csv
fightchurn/churnsim/conf/biznet5_country.csv
fightchurn/churnsim/conf/biznet5_plans.csv
fightchurn/churnsim/conf/biznet5_population.csv
fightchurn/churnsim/conf/biznet5_updownchurn.csv
fightchurn/churnsim/conf/biznet5_utility.csv
fightchurn/churnsim/conf/crm5.yaml
fightchurn/churnsim/conf/crm5_addons.csv
fightchurn/churnsim/conf/crm5_appstore1.csv
fightchurn/churnsim/conf/crm5_appstore2.csv
fightchurn/churnsim/conf/crm5_country.csv
fightchurn/churnsim/conf/crm5_plans.csv
fightchurn/churnsim/conf/crm5_web.csv
fightchurn/churnsim/conf/crm6.yaml
fightchurn/churnsim/conf/crm6_addons.csv
fightchurn/churnsim/conf/crm6_appstore1.csv
fightchurn/churnsim/conf/crm6_appstore2.csv
fightchurn/churnsim/conf/crm6_country.csv
fightchurn/churnsim/conf/crm6_plans.csv
fightchurn/churnsim/conf/crm6_web.csv
fightchurn/churnsim/conf/default.yaml
fightchurn/churnsim/conf/negcor_behavior.csv
fightchurn/churnsim/conf/negcor_behavior_cov.csv
fightchurn/churnsim/conf/negcor_utility.csv
fightchurn/churnsim/conf/socialnet7.yaml
fightchurn/churnsim/conf/socialnet7_appstore1.csv
fightchurn/churnsim/conf/socialnet7_appstore2.csv
fightchurn/churnsim/conf/socialnet7_plans.csv
fightchurn/churnsim/conf/socialnet7_web.csv
fightchurn/churnsim/conf/test.yaml
fightchurn/churnsim/conf/test_plans.csv
fightchurn/churnsim/conf/test_web.csv
fightchurn/churnsim/dag/old/churn_data_test_2.py
fightchurn/churnsim/dag/old/covid_italy_daily.py
fightchurn/churnsim/dag/old/create_test_2.py
fightchurn/churnsim/dag/old/metric_data_5.py
fightchurn/churnsim/schema/__init__.py
fightchurn/churnsim/schema/churn_by_plan.sql
fightchurn/churnsim/schema/create_account.sql
fightchurn/churnsim/schema/create_active_period.sql
fightchurn/churnsim/schema/create_active_week.sql
fightchurn/churnsim/schema/create_event.sql
fightchurn/churnsim/schema/create_event_type.sql
fightchurn/churnsim/schema/create_metric.sql
fightchurn/churnsim/schema/create_metric_name.sql
fightchurn/churnsim/schema/create_observation.sql
fightchurn/churnsim/schema/create_subscription.sql
fightchurn/churnsim/schema/plan_check.sql
fightchurn/listings/__init__.py
fightchurn/listings/chap10/__init__.py
fightchurn/listings/chap10/listing_10_1_dataset3.sql
fightchurn/listings/chap10/listing_10_2_category_churn_cohorts.py
fightchurn/listings/chap10/listing_10_3_grouped_category_cohorts.py
fightchurn/listings/chap10/listing_10_4_dummy_variables.py
fightchurn/listings/chap10/listing_10_5_merge_groups_dummies.py
fightchurn/listings/chap10/listing_10_6_dataset3_current.sql
fightchurn/listings/chap10/listing_10_7_rescore_wcats.py
fightchurn/listings/chap10/listing_10_8_dataset3.sql
fightchurn/listings/chap10/deprecated/listing_10_5_find_groups_skip_cats.py
fightchurn/listings/chap10/deprecated/listing_10_6_prepare_data_wcats.py
fightchurn/listings/chap2/__init__.py
fightchurn/listings/chap2/listing_2_1_net_retention.sql
fightchurn/listings/chap2/listing_2_2_churn_rate.sql
fightchurn/listings/chap2/listing_2_3_activity_churn.sql
fightchurn/listings/chap2/listing_2_4_mrr_churn.sql
fightchurn/listings/chap2/listing_2_5_churn_rate_scaled.sql
fightchurn/listings/chap2/listing_2_6_churn_rate_multi.sql
fightchurn/listings/chap2/listing_2_7_mrr_churn_multi.sql
fightchurn/listings/chap2/listing_2_8_net_retention_multi.sql
fightchurn/listings/chap3/__init__.py
fightchurn/listings/chap3/listing_3_10_event_count_plot.py
fightchurn/listings/chap3/listing_3_11_events_per_account.sql
fightchurn/listings/chap3/listing_3_12_account_tenure.sql
fightchurn/listings/chap3/listing_3_13_account_tenure_insert.sql
fightchurn/listings/chap3/listing_3_14_mrr.sql
fightchurn/listings/chap3/listing_3_15_unit_quantity.sql
fightchurn/listings/chap3/listing_3_16_billing_period.sql
fightchurn/listings/chap3/listing_3_17_mrr_insert.sql
fightchurn/listings/chap3/listing_3_18_sum_metric_insert.sql
fightchurn/listings/chap3/listing_3_19_unit_quantity_insert.sql
fightchurn/listings/chap3/listing_3_1_event_count.sql
fightchurn/listings/chap3/listing_3_20_billing_period_insert.sql
fightchurn/listings/chap3/listing_3_21_discount_insert.sql
fightchurn/listings/chap3/listing_3_2_multi_date_count.sql
fightchurn/listings/chap3/listing_3_3_count_metric_insert.sql
fightchurn/listings/chap3/listing_3_4_metric_name_insert.sql
fightchurn/listings/chap3/listing_3_5_sum_metric.sql
fightchurn/listings/chap3/listing_3_6_metric_stats_over_time.sql
fightchurn/listings/chap3/listing_3_7_metric_qa_plot.py
fightchurn/listings/chap3/listing_3_8_metric_coverage.sql
fightchurn/listings/chap3/listing_3_9_events_per_day.sql
fightchurn/listings/chap4/__init__.py
fightchurn/listings/chap4/listing_4_1_ongoing_active_periods.sql
fightchurn/listings/chap4/listing_4_2_churned_periods.sql
fightchurn/listings/chap4/listing_4_3_active_event_weeks.sql
fightchurn/listings/chap4/listing_4_4_observation_dates.sql
fightchurn/listings/chap4/listing_4_5_dataset.sql
fightchurn/listings/chap4/listing_4_6_current_customers.sql
fightchurn/listings/chap4/listing_4_7_dataset.sql
fightchurn/listings/chap4/listing_4_8_dataset.sql
fightchurn/listings/chap4/listing_4_9_dataset.sql
fightchurn/listings/chap5/__init__.py
fightchurn/listings/chap5/listing_5_1_cohort_plot.py
fightchurn/listings/chap5/listing_5_2_dataset_stats.py
fightchurn/listings/chap5/listing_5_3_metric_scores.py
fightchurn/listings/chap5/listing_5_4_remove_invalid.py
fightchurn/listings/chap5/listing_5_5_fixed_cohort_plot.py
fightchurn/listings/chap5/listing_5_6_metric_histogram.py
fightchurn/listings/chap6/__init__.py
fightchurn/listings/chap6/listing_6_1_metric_pair_plot.py
fightchurn/listings/chap6/listing_6_2_dataset_correlation_matrix.py
fightchurn/listings/chap6/listing_6_3_apply_metric_groups.py
fightchurn/listings/chap6/listing_6_4_find_metric_groups.py
fightchurn/listings/chap6/listing_6_5_ordered_correlation_matrix.py
fightchurn/listings/chap7/__init__.py
fightchurn/listings/chap7/insert_7_1_ratio_metric.sql
fightchurn/listings/chap7/insert_7_3_total_metric.sql
fightchurn/listings/chap7/insert_7_4_percent_change_metric.sql
fightchurn/listings/chap7/insert_7_6_days_since_event.sql
fightchurn/listings/chap7/insert_7_7_scaled_events_per_month.sql
fightchurn/listings/chap7/insert_7_8_tenure_scaled_events_per_month.sql
fightchurn/listings/chap7/insert_7_9_count_active_users.sql
fightchurn/listings/chap7/listing_7_1_ratio_metric.sql
fightchurn/listings/chap7/listing_7_2_dataset2.sql
fightchurn/listings/chap7/listing_7_3_total_metric.sql
fightchurn/listings/chap7/listing_7_4_percent_change_metric.sql
fightchurn/listings/chap7/listing_7_5_fat_tail_scores.py
fightchurn/listings/chap7/listing_7_6_days_since_event.sql
fightchurn/listings/chap7/listing_7_7_scaled_events_per_month.sql
fightchurn/listings/chap7/listing_7_8_tenure_scaled_events_per_month.sql
fightchurn/listings/chap7/listing_7_9_count_active_users.sql
fightchurn/listings/chap8/__init__.py
fightchurn/listings/chap8/listing_8_0_dataset2.sql
fightchurn/listings/chap8/listing_8_1_prepare_data.py
fightchurn/listings/chap8/listing_8_2_logistic_regression.py
fightchurn/listings/chap8/listing_8_3_dataset2_current.sql
fightchurn/listings/chap8/listing_8_4_rescore_metrics.py
fightchurn/listings/chap8/listing_8_5_churn_forecast.py
fightchurn/listings/chap8/listing_8_6_rescore_metrics.py
fightchurn/listings/chap8/deprecated/listing_8_6_clipped_scores.py
fightchurn/listings/chap8/deprecated/listing_8_7_prepare_data.py
fightchurn/listings/chap9/__init__.py
fightchurn/listings/chap9/listing_9_1_regression_auc.py
fightchurn/listings/chap9/listing_9_2_top_decile_lift.py
fightchurn/listings/chap9/listing_9_3_backtest.py
fightchurn/listings/chap9/listing_9_4_regression_cparam.py
fightchurn/listings/chap9/listing_9_5_crossvalidate.py
fightchurn/listings/chap9/listing_9_6_crossvalidate_xgb.py
fightchurn/listings/chap9/listing_9_7_churn_forecast_xgb.py
fightchurn/listings/chap9/listing_9_8_shap_explain_xgb.py
fightchurn/listings/chap9/listing_9_9_shap_explain_logreg.py
fightchurn/listings/conf/__init__.py
fightchurn/listings/conf/biznet5_listings.json
fightchurn/listings/conf/crm5_listings.json
fightchurn/listings/conf/crm6_listings.json
fightchurn/listings/conf/socialnet7_listings.json
fightchurn/listings/conf/test_listings.json