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/datagen/__init__.py
fightchurn/datagen/behavior.py
fightchurn/datagen/churndb.py
fightchurn/datagen/churnsim.py
fightchurn/datagen/customer.py
fightchurn/datagen/utility.py
fightchurn/datagen/conf/__init__.py
fightchurn/datagen/conf/negcor_behavior.csv
fightchurn/datagen/conf/negcor_behavior_cov.csv
fightchurn/datagen/conf/negcor_utility.csv
fightchurn/datagen/conf/socialnet7_appstore1.csv
fightchurn/datagen/conf/socialnet7_appstore2.csv
fightchurn/datagen/conf/socialnet7_country.csv
fightchurn/datagen/conf/socialnet7_population.csv
fightchurn/datagen/conf/socialnet7_utility.csv
fightchurn/datagen/conf/socialnet7_web.csv
fightchurn/datagen/conf/test_appstore1.csv
fightchurn/datagen/conf/test_appstore2.csv
fightchurn/datagen/conf/test_country.csv
fightchurn/datagen/conf/test_population.csv
fightchurn/datagen/conf/test_utility.csv
fightchurn/datagen/conf/test_web.csv
fightchurn/datagen/dag/dags_airflow_monitoring.py
fightchurn/datagen/dag/event_count_table_11.py
fightchurn/datagen/dag/old/churn_data_test_2.py
fightchurn/datagen/dag/old/covid_italy_daily.py
fightchurn/datagen/dag/old/create_test_2.py
fightchurn/datagen/dag/old/metric_data_5.py
fightchurn/datagen/schema/__init__.py
fightchurn/datagen/schema/create_account.sql
fightchurn/datagen/schema/create_active_period.sql
fightchurn/datagen/schema/create_active_week.sql
fightchurn/datagen/schema/create_event.sql
fightchurn/datagen/schema/create_event_type.sql
fightchurn/datagen/schema/create_metric.sql
fightchurn/datagen/schema/create_metric_name.sql
fightchurn/datagen/schema/create_observation.sql
fightchurn/datagen/schema/create_subscription.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/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/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_1_event_count.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/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/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/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/socialnet7_listings.json
fightchurn/listings/conf/test_listings.json