diff --git a/changelog_entry.yaml b/changelog_entry.yaml index e69de29bb2d..05fa6eac906 100644 --- a/changelog_entry.yaml +++ b/changelog_entry.yaml @@ -0,0 +1,4 @@ +- bump: minor + changes: + added: + - Chapter 7 bankruptcy means test. diff --git a/policyengine_us/parameters/gov/bankruptcy/README.md b/policyengine_us/parameters/gov/bankruptcy/README.md new file mode 100644 index 00000000000..14c4bb278e7 --- /dev/null +++ b/policyengine_us/parameters/gov/bankruptcy/README.md @@ -0,0 +1 @@ +# Chapter 7 Bankruptcy Means Test diff --git a/policyengine_us/parameters/gov/bankruptcy/dependent_expense.yaml b/policyengine_us/parameters/gov/bankruptcy/dependent_expense.yaml new file mode 100644 index 00000000000..5760fb7e632 --- /dev/null +++ b/policyengine_us/parameters/gov/bankruptcy/dependent_expense.yaml @@ -0,0 +1,13 @@ +description: The IRS limits the expense of dependent children education to this amount to each child under the chapter 7 bankruptcy means test. + +values: + 2024-01-01: 189.58 + +metadata: + unit: currency-USD + period: month + label: Dependent children education expense per child + reference: + # The number $189.58 only appears in line 28 of the form. + - title: Official Form 122A-2 Chapter 7 Means Test Calculation + href: https://www.cacb.uscourts.gov/sites/cacb/files/documents/forms/122A2.pdf#page=6 diff --git a/policyengine_us/parameters/gov/bankruptcy/local_standards/housing_and_utilities/insurance_and_operating.yaml b/policyengine_us/parameters/gov/bankruptcy/local_standards/housing_and_utilities/insurance_and_operating.yaml new file mode 100644 index 00000000000..c9041238a49 --- /dev/null +++ b/policyengine_us/parameters/gov/bankruptcy/local_standards/housing_and_utilities/insurance_and_operating.yaml @@ -0,0 +1,574 @@ +description: The IRS limits the expense of insurance and operating by the local standards to this amount, based on household size under the chapter 7 bankruptcy means test. + +AL: + 1: + 2024-01-01: 594 + 2: + 2024-01-01: 698 + 3: + 2024-01-01: 736 + 4: + 2024-01-01: 820 + 5: + 2024-01-01: 834 +AK: + 1: + 2024-01-01: 705 + 2: + 2024-01-01: 828 + 3: + 2024-01-01: 872 + 4: + 2024-01-01: 973 + 5: + 2024-01-01: 988 +AZ: + 1: + 2024-01-01: 547 + 2: + 2024-01-01: 642 + 3: + 2024-01-01: 676 + 4: + 2024-01-01: 754 + 5: + 2024-01-01: 766 +AR: + 1: + 2024-01-01: 563 + 2: + 2024-01-01: 661 + 3: + 2024-01-01: 696 + 4: + 2024-01-01: 776 + 5: + 2024-01-01: 789 +CA: + 1: + 2024-01-01: 579 + 2: + 2024-01-01: 680 + 3: + 2024-01-01: 716 + 4: + 2024-01-01: 799 + 5: + 2024-01-01: 812 +CO: + 1: + 2024-01-01: 560 + 2: + 2024-01-01: 658 + 3: + 2024-01-01: 693 + 4: + 2024-01-01: 773 + 5: + 2024-01-01: 785 +CT: + 1: + 2024-01-01: 627 + 2: + 2024-01-01: 736 + 3: + 2024-01-01: 775 + 4: + 2024-01-01: 864 + 5: + 2024-01-01: 878 +DE: + 1: + 2024-01-01: 586 + 2: + 2024-01-01: 688 + 3: + 2024-01-01: 725 + 4: + 2024-01-01: 809 + 5: + 2024-01-01: 822 +DC: + 1: + 2024-01-01: 638 + 2: + 2024-01-01: 749 + 3: + 2024-01-01: 789 + 4: + 2024-01-01: 880 + 5: + 2024-01-01: 894 +FL: + 1: + 2024-01-01: 549 + 2: + 2024-01-01: 645 + 3: + 2024-01-01: 680 + 4: + 2024-01-01: 758 + 5: + 2024-01-01: 770 +GA: + 1: + 2024-01-01: 578 + 2: + 2024-01-01: 679 + 3: + 2024-01-01: 716 + 4: + 2024-01-01: 798 + 5: + 2024-01-01: 811 +HI: + 1: + 2024-01-01: 602 + 2: + 2024-01-01: 706 + 3: + 2024-01-01: 744 + 4: + 2024-01-01: 830 + 5: + 2024-01-01: 843 +ID: + 1: + 2024-01-01: 522 + 2: + 2024-01-01: 614 + 3: + 2024-01-01: 646 + 4: + 2024-01-01: 721 + 5: + 2024-01-01: 732 +IL: + 1: + 2024-01-01: 578 + 2: + 2024-01-01: 678 + 3: + 2024-01-01: 715 + 4: + 2024-01-01: 797 + 5: + 2024-01-01: 810 +IN: + 1: + 2024-01-01: 581 + 2: + 2024-01-01: 683 + 3: + 2024-01-01: 719 + 4: + 2024-01-01: 802 + 5: + 2024-01-01: 815 +IA: + 1: + 2024-01-01: 582 + 2: + 2024-01-01: 684 + 3: + 2024-01-01: 720 + 4: + 2024-01-01: 803 + 5: + 2024-01-01: 816 +KS: + 1: + 2024-01-01: 588 + 2: + 2024-01-01: 690 + 3: + 2024-01-01: 727 + 4: + 2024-01-01: 811 + 5: + 2024-01-01: 824 +KY: + 1: + 2024-01-01: 562 + 2: + 2024-01-01: 660 + 3: + 2024-01-01: 696 + 4: + 2024-01-01: 776 + 5: + 2024-01-01: 788 +LA: + 1: + 2024-01-01: 555 + 2: + 2024-01-01: 652 + 3: + 2024-01-01: 687 + 4: + 2024-01-01: 766 + 5: + 2024-01-01: 779 +ME: + 1: + 2024-01-01: 563 + 2: + 2024-01-01: 661 + 3: + 2024-01-01: 696 + 4: + 2024-01-01: 776 + 5: + 2024-01-01: 789 +MD: + 1: + 2024-01-01: 593 + 2: + 2024-01-01: 697 + 3: + 2024-01-01: 734 + 4: + 2024-01-01: 819 + 5: + 2024-01-01: 832 +MA: + 1: + 2024-01-01: 636 + 2: + 2024-01-01: 747 + 3: + 2024-01-01: 787 + 4: + 2024-01-01: 878 + 5: + 2024-01-01: 892 +MI: + 1: + 2024-01-01: 571 + 2: + 2024-01-01: 671 + 3: + 2024-01-01: 707 + 4: + 2024-01-01: 789 + 5: + 2024-01-01: 801 +MN: + 1: + 2024-01-01: 580 + 2: + 2024-01-01: 681 + 3: + 2024-01-01: 717 + 4: + 2024-01-01: 800 + 5: + 2024-01-01: 813 +MS: + 1: + 2024-01-01: 577 + 2: + 2024-01-01: 678 + 3: + 2024-01-01: 714 + 4: + 2024-01-01: 797 + 5: + 2024-01-01: 809 +MO: + 1: + 2024-01-01: 575 + 2: + 2024-01-01: 675 + 3: + 2024-01-01: 711 + 4: + 2024-01-01: 793 + 5: + 2024-01-01: 806 +MT: + 1: + 2024-01-01: 551 + 2: + 2024-01-01: 647 + 3: + 2024-01-01: 682 + 4: + 2024-01-01: 760 + 5: + 2024-01-01: 773 +NE: + 1: + 2024-01-01: 592 + 2: + 2024-01-01: 695 + 3: + 2024-01-01: 732 + 4: + 2024-01-01: 816 + 5: + 2024-01-01: 830 +NV: + 1: + 2024-01-01: 547 + 2: + 2024-01-01: 643 + 3: + 2024-01-01: 677 + 4: + 2024-01-01: 756 + 5: + 2024-01-01: 768 +NH: + 1: + 2024-01-01: 596 + 2: + 2024-01-01: 700 + 3: + 2024-01-01: 738 + 4: + 2024-01-01: 823 + 5: + 2024-01-01: 836 +NJ: + 1: + 2024-01-01: 626 + 2: + 2024-01-01: 736 + 3: + 2024-01-01: 775 + 4: + 2024-01-01: 865 + 5: + 2024-01-01: 879 +NM: + 1: + 2024-01-01: 568 + 2: + 2024-01-01: 667 + 3: + 2024-01-01: 703 + 4: + 2024-01-01: 784 + 5: + 2024-01-01: 796 +NY: + 1: + 2024-01-01: 589 + 2: + 2024-01-01: 692 + 3: + 2024-01-01: 729 + 4: + 2024-01-01: 813 + 5: + 2024-01-01: 826 +NC: + 1: + 2024-01-01: 564 + 2: + 2024-01-01: 662 + 3: + 2024-01-01: 698 + 4: + 2024-01-01: 778 + 5: + 2024-01-01: 791 +ND: + 1: + 2024-01-01: 597 + 2: + 2024-01-01: 701 + 3: + 2024-01-01: 739 + 4: + 2024-01-01: 824 + 5: + 2024-01-01: 837 +OH: + 1: + 2024-01-01: 576 + 2: + 2024-01-01: 676 + 3: + 2024-01-01: 713 + 4: + 2024-01-01: 794 + 5: + 2024-01-01: 807 +OK: + 1: + 2024-01-01: 574 + 2: + 2024-01-01: 674 + 3: + 2024-01-01: 710 + 4: + 2024-01-01: 791 + 5: + 2024-01-01: 804 +OR: + 1: + 2024-01-01: 536 + 2: + 2024-01-01: 630 + 3: + 2024-01-01: 664 + 4: + 2024-01-01: 740 + 5: + 2024-01-01: 752 +PA: + 1: + 2024-01-01: 583 + 2: + 2024-01-01: 684 + 3: + 2024-01-01: 721 + 4: + 2024-01-01: 804 + 5: + 2024-01-01: 817 +RI: + 1: + 2024-01-01: 603 + 2: + 2024-01-01: 708 + 3: + 2024-01-01: 746 + 4: + 2024-01-01: 831 + 5: + 2024-01-01: 845 +SC: + 1: + 2024-01-01: 581 + 2: + 2024-01-01: 682 + 3: + 2024-01-01: 719 + 4: + 2024-01-01: 801 + 5: + 2024-01-01: 814 +SD: + 1: + 2024-01-01: 603 + 2: + 2024-01-01: 708 + 3: + 2024-01-01: 746 + 4: + 2024-01-01: 832 + 5: + 2024-01-01: 846 +TN: + 1: + 2024-01-01: 552 + 2: + 2024-01-01: 648 + 3: + 2024-01-01: 683 + 4: + 2024-01-01: 761 + 5: + 2024-01-01: 773 +TX: + 1: + 2024-01-01: 584 + 2: + 2024-01-01: 686 + 3: + 2024-01-01: 723 + 4: + 2024-01-01: 806 + 5: + 2024-01-01: 819 +UT: + 1: + 2024-01-01: 523 + 2: + 2024-01-01: 615 + 3: + 2024-01-01: 648 + 4: + 2024-01-01: 722 + 5: + 2024-01-01: 734 +VT: + 1: + 2024-01-01: 581 + 2: + 2024-01-01: 682 + 3: + 2024-01-01: 719 + 4: + 2024-01-01: 802 + 5: + 2024-01-01: 814 +VA: + 1: + 2024-01-01: 564 + 2: + 2024-01-01: 663 + 3: + 2024-01-01: 699 + 4: + 2024-01-01: 779 + 5: + 2024-01-01: 791 +WA: + 1: + 2024-01-01: 638 + 2: + 2024-01-01: 632 + 3: + 2024-01-01: 666 + 4: + 2024-01-01: 743 + 5: + 2024-01-01: 755 +WV: + 1: + 2024-01-01: 562 + 2: + 2024-01-01: 660 + 3: + 2024-01-01: 695 + 4: + 2024-01-01: 775 + 5: + 2024-01-01: 788 +WI: + 1: + 2024-01-01: 555 + 2: + 2024-01-01: 651 + 3: + 2024-01-01: 686 + 4: + 2024-01-01: 765 + 5: + 2024-01-01: 778 +WY: + 1: + 2024-01-01: 554 + 2: + 2024-01-01: 651 + 3: + 2024-01-01: 686 + 4: + 2024-01-01: 764 + 5: + 2024-01-01: 777 +metadata: + unit: currency-USD + period: month + label: Local standards of insurance and operating expense + breakdown: + - state_code + - list(range(1,6)) + reference: + # We use average state level values while the amount can vary based on county + - title: Local standards -- Housing and Utilities and Transportation + href: https://www.justice.gov/ust/means-testing/20221101 diff --git a/policyengine_us/parameters/gov/bankruptcy/local_standards/housing_and_utilities/mortgage_or_rent.yaml b/policyengine_us/parameters/gov/bankruptcy/local_standards/housing_and_utilities/mortgage_or_rent.yaml new file mode 100644 index 00000000000..e8d200974e0 --- /dev/null +++ b/policyengine_us/parameters/gov/bankruptcy/local_standards/housing_and_utilities/mortgage_or_rent.yaml @@ -0,0 +1,574 @@ +description: The IRS limits the expense of mortgage or rent by the local standards to this amount, based on household size under the chapter 7 bankruptcy means test. + +AL: + 1: + 2024-01-01: 677 + 2: + 2024-01-01: 796 + 3: + 2024-01-01: 838 + 4: + 2024-01-01: 935 + 5: + 2024-01-01: 950 +AK: + 1: + 2024-01-01: 1_049 + 2: + 2024-01-01: 1_232 + 3: + 2024-01-01: 1_298 + 4: + 2024-01-01: 1_448 + 5: + 2024-01-01: 1_471 +AZ: + 1: + 2024-01-01: 840 + 2: + 2024-01-01: 987 + 3: + 2024-01-01: 1_040 + 4: + 2024-01-01: 1_160 + 5: + 2024-01-01: 1_178 +AR: + 1: + 2024-01-01: 614 + 2: + 2024-01-01: 721 + 3: + 2024-01-01: 759 + 4: + 2024-01-01: 847 + 5: + 2024-01-01: 860 +CA: + 1: + 2024-01-01: 1_558 + 2: + 2024-01-01: 1_830 + 3: + 2024-01-01: 1_928 + 4: + 2024-01-01: 2_150 + 5: + 2024-01-01: 2_184 +CO: + 1: + 2024-01-01: 1_063 + 2: + 2024-01-01: 1_248 + 3: + 2024-01-01: 1_315 + 4: + 2024-01-01: 1_466 + 5: + 2024-01-01: 1_490 +CT: + 1: + 2024-01-01: 1_507 + 2: + 2024-01-01: 1_770 + 3: + 2024-01-01: 1_865 + 4: + 2024-01-01: 2_080 + 5: + 2024-01-01: 2_114 +DE: + 1: + 2024-01-01: 1_107 + 2: + 2024-01-01: 1_301 + 3: + 2024-01-01: 1_371 + 4: + 2024-01-01: 1_528 + 5: + 2024-01-01: 1_553 +DC: + 1: + 2024-01-01: 1_958 + 2: + 2024-01-01: 2_300 + 3: + 2024-01-01: 2_424 + 4: + 2024-01-01: 2_702 + 5: + 2024-01-01: 2_746 +FL: + 1: + 2024-01-01: 935 + 2: + 2024-01-01: 1_098 + 3: + 2024-01-01: 1_157 + 4: + 2024-01-01: 1_290 + 5: + 2024-01-01: 1_311 +GA: + 1: + 2024-01-01: 790 + 2: + 2024-01-01: 928 + 3: + 2024-01-01: 978 + 4: + 2024-01-01: 1_090 + 5: + 2024-01-01: 1_108 +HI: + 1: + 2024-01-01: 1_733 + 2: + 2024-01-01: 2_036 + 3: + 2024-01-01: 2_145 + 4: + 2024-01-01: 2_392 + 5: + 2024-01-01: 2_431 +ID: + 1: + 2024-01-01: 865 + 2: + 2024-01-01: 1_016 + 3: + 2024-01-01: 1_071 + 4: + 2024-01-01: 1_194 + 5: + 2024-01-01: 1_213 +IL: + 1: + 2024-01-01: 788 + 2: + 2024-01-01: 926 + 3: + 2024-01-01: 975 + 4: + 2024-01-01: 1_087 + 5: + 2024-01-01: 1_105 +IN: + 1: + 2024-01-01: 699 + 2: + 2024-01-01: 821 + 3: + 2024-01-01: 865 + 4: + 2024-01-01: 965 + 5: + 2024-01-01: 981 +IA: + 1: + 2024-01-01: 746 + 2: + 2024-01-01: 876 + 3: + 2024-01-01: 923 + 4: + 2024-01-01: 1_029 + 5: + 2024-01-01: 1_046 +KS: + 1: + 2024-01-01: 747 + 2: + 2024-01-01: 877 + 3: + 2024-01-01: 924 + 4: + 2024-01-01: 1_031 + 5: + 2024-01-01: 1_047 +KY: + 1: + 2024-01-01: 683 + 2: + 2024-01-01: 802 + 3: + 2024-01-01: 845 + 4: + 2024-01-01: 942 + 5: + 2024-01-01: 957 +LA: + 1: + 2024-01-01: 788 + 2: + 2024-01-01: 926 + 3: + 2024-01-01: 975 + 4: + 2024-01-01: 1_088 + 5: + 2024-01-01: 1_105 +ME: + 1: + 2024-01-01: 880 + 2: + 2024-01-01: 1_034 + 3: + 2024-01-01: 1_089 + 4: + 2024-01-01: 1_216 + 5: + 2024-01-01: 1_234 +MD: + 1: + 2024-01-01: 1_314 + 2: + 2024-01-01: 1_575 + 3: + 2024-01-01: 1_660 + 4: + 2024-01-01: 1_851 + 5: + 2024-01-01: 1_881 +MA: + 1: + 2024-01-01: 1_602 + 2: + 2024-01-01: 1_881 + 3: + 2024-01-01: 1_982 + 4: + 2024-01-01: 2_210 + 5: + 2024-01-01: 2_246 +MI: + 1: + 2024-01-01: 749 + 2: + 2024-01-01: 879 + 3: + 2024-01-01: 927 + 4: + 2024-01-01: 1_033 + 5: + 2024-01-01: 1_050 +MN: + 1: + 2024-01-01: 896 + 2: + 2024-01-01: 1_053 + 3: + 2024-01-01: 1_109 + 4: + 2024-01-01: 1_237 + 5: + 2024-01-01: 1_257 +MS: + 1: + 2024-01-01: 662 + 2: + 2024-01-01: 778 + 3: + 2024-01-01: 819 + 4: + 2024-01-01: 914 + 5: + 2024-01-01: 928 +MO: + 1: + 2024-01-01: 686 + 2: + 2024-01-01: 806 + 3: + 2024-01-01: 850 + 4: + 2024-01-01: 947 + 5: + 2024-01-01: 962 +MT: + 1: + 2024-01-01: 865 + 2: + 2024-01-01: 1_016 + 3: + 2024-01-01: 1_071 + 4: + 2024-01-01: 1_194 + 5: + 2024-01-01: 1_213 +NE: + 1: + 2024-01-01: 735 + 2: + 2024-01-01: 864 + 3: + 2024-01-01: 910 + 4: + 2024-01-01: 1_015 + 5: + 2024-01-01: 1_031 +NV: + 1: + 2024-01-01: 960 + 2: + 2024-01-01: 1_127 + 3: + 2024-01-01: 1_188 + 4: + 2024-01-01: 1_324 + 5: + 2024-01-01: 1_346 +NH: + 1: + 2024-01-01: 1_272 + 2: + 2024-01-01: 1_494 + 3: + 2024-01-01: 1_575 + 4: + 2024-01-01: 1_756 + 5: + 2024-01-01: 1_784 +NJ: + 1: + 2024-01-01: 1_801 + 2: + 2024-01-01: 2_115 + 3: + 2024-01-01: 2_229 + 4: + 2024-01-01: 2_485 + 5: + 2024-01-01: 2_525 +NM: + 1: + 2024-01-01: 762 + 2: + 2024-01-01: 895 + 3: + 2024-01-01: 943 + 4: + 2024-01-01: 1_051 + 5: + 2024-01-01: 1_068 +NY: + 1: + 2024-01-01: 1_157 + 2: + 2024-01-01: 1_359 + 3: + 2024-01-01: 1_432 + 4: + 2024-01-01: 1_596 + 5: + 2024-01-01: 1_622 +NC: + 1: + 2024-01-01: 829 + 2: + 2024-01-01: 973 + 3: + 2024-01-01: 1_026 + 4: + 2024-01-01: 1_144 + 5: + 2024-01-01: 1_162 +ND: + 1: + 2024-01-01: 782 + 2: + 2024-01-01: 918 + 3: + 2024-01-01: 968 + 4: + 2024-01-01: 1_079 + 5: + 2024-01-01: 1_096 +OH: + 1: + 2024-01-01: 797 + 2: + 2024-01-01: 936 + 3: + 2024-01-01: 986 + 4: + 2024-01-01: 1_099 + 5: + 2024-01-01: 1_117 +OK: + 1: + 2024-01-01: 699 + 2: + 2024-01-01: 821 + 3: + 2024-01-01: 866 + 4: + 2024-01-01: 965 + 5: + 2024-01-01: 981 +OR: + 1: + 2024-01-01: 1_045 + 2: + 2024-01-01: 1_227 + 3: + 2024-01-01: 1_293 + 4: + 2024-01-01: 1_442 + 5: + 2024-01-01: 1_465 +PA: + 1: + 2024-01-01: 888 + 2: + 2024-01-01: 1_043 + 3: + 2024-01-01: 1_099 + 4: + 2024-01-01: 1_225 + 5: + 2024-01-01: 1_245 +RI: + 1: + 2024-01-01: 1_506 + 2: + 2024-01-01: 1_769 + 3: + 2024-01-01: 1_864 + 4: + 2024-01-01: 2_079 + 5: + 2024-01-01: 2_113 +SC: + 1: + 2024-01-01: 758 + 2: + 2024-01-01: 890 + 3: + 2024-01-01: 938 + 4: + 2024-01-01: 1_046 + 5: + 2024-01-01: 1_063 +SD: + 1: + 2024-01-01: 749 + 2: + 2024-01-01: 879 + 3: + 2024-01-01: 926 + 4: + 2024-01-01: 1_033 + 5: + 2024-01-01: 1_050 +TN: + 1: + 2024-01-01: 730 + 2: + 2024-01-01: 857 + 3: + 2024-01-01: 903 + 4: + 2024-01-01: 1_007 + 5: + 2024-01-01: 1_024 +TX: + 1: + 2024-01-01: 854 + 2: + 2024-01-01: 1_003 + 3: + 2024-01-01: 1_057 + 4: + 2024-01-01: 1_178 + 5: + 2024-01-01: 1_197 +UT: + 1: + 2024-01-01: 997 + 2: + 2024-01-01: 1_171 + 3: + 2024-01-01: 1_234 + 4: + 2024-01-01: 1_376 + 5: + 2024-01-01: 1_398 +VT: + 1: + 2024-01-01: 1_109 + 2: + 2024-01-01: 1_302 + 3: + 2024-01-01: 1_372 + 4: + 2024-01-01: 1_530 + 5: + 2024-01-01: 1_555 +VA: + 1: + 2024-01-01: 1_026 + 2: + 2024-01-01: 1_205 + 3: + 2024-01-01: 1_270 + 4: + 2024-01-01: 1_416 + 5: + 2024-01-01: 1_439 +WA: + 1: + 2024-01-01: 1_138 + 2: + 2024-01-01: 1_337 + 3: + 2024-01-01: 1_408 + 4: + 2024-01-01: 1_570 + 5: + 2024-01-01: 1_596 +WV: + 1: + 2024-01-01: 614 + 2: + 2024-01-01: 721 + 3: + 2024-01-01: 760 + 4: + 2024-01-01: 847 + 5: + 2024-01-01: 861 +WI: + 1: + 2024-01-01: 920 + 2: + 2024-01-01: 1_081 + 3: + 2024-01-01: 1_139 + 4: + 2024-01-01: 1_270 + 5: + 2024-01-01: 1_290 +WY: + 1: + 2024-01-01: 1_044 + 2: + 2024-01-01: 1_227 + 3: + 2024-01-01: 1_293 + 4: + 2024-01-01: 1_441 + 5: + 2024-01-01: 1_465 +metadata: + unit: currency-USD + period: month + label: Local standards of mortgage or rent expense + breakdown: + - state_code + - list(range(1,6)) + reference: + # We use average state level values while the amount can vary based on county + - title: Local standards -- Housing and Utilities and Transportation + href: https://www.justice.gov/ust/means-testing/20221101 diff --git a/policyengine_us/parameters/gov/bankruptcy/local_standards/vehicle_operation/ownership_costs.yaml b/policyengine_us/parameters/gov/bankruptcy/local_standards/vehicle_operation/ownership_costs.yaml new file mode 100644 index 00000000000..9f29b8a52c8 --- /dev/null +++ b/policyengine_us/parameters/gov/bankruptcy/local_standards/vehicle_operation/ownership_costs.yaml @@ -0,0 +1,16 @@ +description: The IRS limits the ownership costs by the local standards to this amount, based on the number of owned vehicle, under the chapter 7 bankruptcy means test. + +1: + 2024-01-01: 619 +2: + 2024-01-01: 1_238 + +metadata: + unit: currency-USD + period: month + label: Local standards of ownership costs + breakdown: + - list(range(1,3)) + reference: + - title: Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation diff --git a/policyengine_us/parameters/gov/bankruptcy/local_standards/vehicle_operation/public_transportation.yaml b/policyengine_us/parameters/gov/bankruptcy/local_standards/vehicle_operation/public_transportation.yaml new file mode 100644 index 00000000000..98f56ec40ec --- /dev/null +++ b/policyengine_us/parameters/gov/bankruptcy/local_standards/vehicle_operation/public_transportation.yaml @@ -0,0 +1,12 @@ +description: The IRS limits the expense of public transportation by the local standards to this amount under the chapter 7 bankruptcy means test. + +values: + 2024-01-01: 215 + +metadata: + unit: currency-USD + period: month + label: Local standards of public transportation amount + reference: + - title: Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation diff --git a/policyengine_us/parameters/gov/bankruptcy/local_standards/vehicle_operation/region_operating_costs/midwest.yaml b/policyengine_us/parameters/gov/bankruptcy/local_standards/vehicle_operation/region_operating_costs/midwest.yaml new file mode 100644 index 00000000000..d73363a9f15 --- /dev/null +++ b/policyengine_us/parameters/gov/bankruptcy/local_standards/vehicle_operation/region_operating_costs/midwest.yaml @@ -0,0 +1,48 @@ +description: The IRS limits the expense of midwest region operating costs by the local standards to this amount, based on the number of owned vehicle, under the Chapter 7 Bankruptcy means test. + +MIDWEST_DEFAULT: + 1: + 2024-01-01: 239 + 2: + 2024-01-01: 478 +CHICAGO: + 1: + 2024-01-01: 266 + 2: + 2024-01-01: 532 +CLEVELAND: + 1: + 2024-01-01: 239 + 2: + 2024-01-01: 478 +DETROIT: + 1: + 2024-01-01: 299 + 2: + 2024-01-01: 598 +MINNEAPOLIS_ST_PAUL: + 1: + 2024-01-01: 243 + 2: + 2024-01-01: 486 +ST_LOUIS: + 1: + 2024-01-01: 220 + 2: + 2024-01-01: 440 +NONE: + 1: + 2024-01-01: 0 + 2: + 2024-01-01: 0 + +metadata: + unit: currency-USD + period: month + label: Local standards of operating costs amount + breakdown: + - midwest_county + - list(range(1,3)) + reference: + - title: Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation diff --git a/policyengine_us/parameters/gov/bankruptcy/local_standards/vehicle_operation/region_operating_costs/northeast.yaml b/policyengine_us/parameters/gov/bankruptcy/local_standards/vehicle_operation/region_operating_costs/northeast.yaml new file mode 100644 index 00000000000..80f3ca51f33 --- /dev/null +++ b/policyengine_us/parameters/gov/bankruptcy/local_standards/vehicle_operation/region_operating_costs/northeast.yaml @@ -0,0 +1,38 @@ +description: The IRS limits the expense of northeast region operating costs by the local standards to this amount, based on the number of owned vehicle, under the Chapter 7 Bankruptcy means test. + +NORTHEAST_DEFAULT: + 1: + 2024-01-01: 285 + 2: + 2024-01-01: 570 +BOSTON: + 1: + 2024-01-01: 310 + 2: + 2024-01-01: 620 +NEW_YORK: + 1: + 2024-01-01: 377 + 2: + 2024-01-01: 754 +PHILADELPHIA: + 1: + 2024-01-01: 307 + 2: + 2024-01-01: 614 +NONE: + 1: + 2024-01-01: 0 + 2: + 2024-01-01: 0 + +metadata: + unit: currency-USD + period: month + label: Local standards of operating costs amount + breakdown: + - northeast_county + - list(range(1,3)) + reference: + - title: Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation diff --git a/policyengine_us/parameters/gov/bankruptcy/local_standards/vehicle_operation/region_operating_costs/south.yaml b/policyengine_us/parameters/gov/bankruptcy/local_standards/vehicle_operation/region_operating_costs/south.yaml new file mode 100644 index 00000000000..bc274030b91 --- /dev/null +++ b/policyengine_us/parameters/gov/bankruptcy/local_standards/vehicle_operation/region_operating_costs/south.yaml @@ -0,0 +1,58 @@ +description: The IRS limits the expense of south region operating costs by the local standards to this amount, based on the number of owned vehicle, under the Chapter 7 Bankruptcy means test. + +SOUTH_DEFAULT: + 1: + 2024-01-01: 260 + 2: + 2024-01-01: 520 +ATLANTA: + 1: + 2024-01-01: 304 + 2: + 2024-01-01: 608 +BALTIMORE: + 1: + 2024-01-01: 272 + 2: + 2024-01-01: 544 +DALLAS_FT_WORTH: + 1: + 2024-01-01: 292 + 2: + 2024-01-01: 584 +HOUSTON: + 1: + 2024-01-01: 332 + 2: + 2024-01-01: 664 +MIAMI: + 1: + 2024-01-01: 355 + 2: + 2024-01-01: 710 +TAMPA: + 1: + 2024-01-01: 305 + 2: + 2024-01-01: 610 +WASHINGTON_DC: + 1: + 2024-01-01: 301 + 2: + 2024-01-01: 602 +NONE: + 1: + 2024-01-01: 0 + 2: + 2024-01-01: 0 + +metadata: + unit: currency-USD + period: month + label: Local standards of operating costs amount + breakdown: + - south_county + - list(range(1,3)) + reference: + - title: Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation diff --git a/policyengine_us/parameters/gov/bankruptcy/local_standards/vehicle_operation/region_operating_costs/west.yaml b/policyengine_us/parameters/gov/bankruptcy/local_standards/vehicle_operation/region_operating_costs/west.yaml new file mode 100644 index 00000000000..a3b1d603508 --- /dev/null +++ b/policyengine_us/parameters/gov/bankruptcy/local_standards/vehicle_operation/region_operating_costs/west.yaml @@ -0,0 +1,63 @@ +description: The IRS limits the expense of west region operating costs by the local standards to this amount, based on the number of owned vehicle, under the Chapter 7 Bankruptcy means test. + +WEST_DEFAULT: + 1: + 2024-01-01: 273 + 2: + 2024-01-01: 546 +ANCHORAGE: + 1: + 2024-01-01: 200 + 2: + 2024-01-01: 400 +DENVER: + 1: + 2024-01-01: 321 + 2: + 2024-01-01: 642 +HONOLULU: + 1: + 2024-01-01: 254 + 2: + 2024-01-01: 508 +LOS_ANGELES: + 1: + 2024-01-01: 331 + 2: + 2024-01-01: 662 +PHOENIX: + 1: + 2024-01-01: 300 + 2: + 2024-01-01: 600 +SAN_DIEGO: + 1: + 2024-01-01: 310 + 2: + 2024-01-01: 620 +SAN_FRANCISCO: + 1: + 2024-01-01: 348 + 2: + 2024-01-01: 696 +SEATTLE: + 1: + 2024-01-01: 271 + 2: + 2024-01-01: 542 +NONE: + 1: + 2024-01-01: 0 + 2: + 2024-01-01: 0 + +metadata: + unit: currency-USD + period: month + label: Local standards of operating costs amount + breakdown: + - west_county + - list(range(1,3)) + reference: + - title: Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation diff --git a/policyengine_us/parameters/gov/bankruptcy/local_standards/vehicle_operation/vehicles_owned_cap.yaml b/policyengine_us/parameters/gov/bankruptcy/local_standards/vehicle_operation/vehicles_owned_cap.yaml new file mode 100644 index 00000000000..6a8a0e17eea --- /dev/null +++ b/policyengine_us/parameters/gov/bankruptcy/local_standards/vehicle_operation/vehicles_owned_cap.yaml @@ -0,0 +1,12 @@ +description: The IRS limits the number of owned vehicles to this amount under the chapter 7 bankruptcy means test. + +values: + 2024-01-01: 2 + +metadata: + unit: float + period: year + label: Qualified vehicles owned cap amount + reference: + - title: Form 122A-2 Chapter 7 Means Test Calculation + href: https://www.cacb.uscourts.gov/sites/cacb/files/documents/forms/122A2.pdf#page=4 diff --git a/policyengine_us/parameters/gov/bankruptcy/national_standards/food_clothing_and_others/additional.yaml b/policyengine_us/parameters/gov/bankruptcy/national_standards/food_clothing_and_others/additional.yaml new file mode 100644 index 00000000000..9a1d9f7e255 --- /dev/null +++ b/policyengine_us/parameters/gov/bankruptcy/national_standards/food_clothing_and_others/additional.yaml @@ -0,0 +1,12 @@ +description: The IRS increases the expense of food, clothing and other items by the national standards to this amount, for each additonal person under the chapter 7 bankruptcy means test. + +values: + 2024-01-01: 386 + +metadata: + unit: currency-USD + period: year + label: National standards of food, clothing and other items additional amount + reference: + - title: National standards -- Food, clothing and other items + href: https://www.irs.gov/businesses/small-businesses-self-employed/national-standards-food-clothing-and-other-items diff --git a/policyengine_us/parameters/gov/bankruptcy/national_standards/food_clothing_and_others/main.yaml b/policyengine_us/parameters/gov/bankruptcy/national_standards/food_clothing_and_others/main.yaml new file mode 100644 index 00000000000..bfda0e5d543 --- /dev/null +++ b/policyengine_us/parameters/gov/bankruptcy/national_standards/food_clothing_and_others/main.yaml @@ -0,0 +1,21 @@ +description: The IRS limits the expense of food, clothing and other items by the national standards to this amount, based on household size under the chapter 7 bankruptcy means test. + +1: + 2024-01-01: 808 +2: + 2024-01-01: 1_411 +3: + 2024-01-01: 1_677 +4: + 2024-01-01: 2_027 + +metadata: + unit: currency-USD + period: year + label: National standards of food, clothing and other items amount + breakdown: + - list(range(1,5)) + reference: + - title: National standards -- Food, clothing and other items + href: https://www.irs.gov/businesses/small-businesses-self-employed/national-standards-food-clothing-and-other-items + diff --git a/policyengine_us/parameters/gov/bankruptcy/national_standards/out_of_pocket_health_care/amount.yaml b/policyengine_us/parameters/gov/bankruptcy/national_standards/out_of_pocket_health_care/amount.yaml new file mode 100644 index 00000000000..317b29d8311 --- /dev/null +++ b/policyengine_us/parameters/gov/bankruptcy/national_standards/out_of_pocket_health_care/amount.yaml @@ -0,0 +1,20 @@ +description: The IRS sets different expense limits on out-of-pocket health care for filers based on this age threshold under the Chapter 7 Bankruptcy means test. +brackets: + - threshold: + 2024-01-01: 0 + amount: + 2024-01-01: 83 + - threshold: + 2024-01-01: 65 + amount: + 2024-01-01: 158 +metadata: + label: National Standards out of pocket health care allowance + type: single_amount + threshold_unit: year + amount_unit: currency-USD + period: month + reference: + - title: National standards -- Out-of-pocket health care + href: https://www.irs.gov/businesses/small-businesses-self-employed/national-standards-out-of-pocket-health-care + diff --git a/policyengine_us/parameters/gov/bankruptcy/presumption_abuse/amount/higher.yaml b/policyengine_us/parameters/gov/bankruptcy/presumption_abuse/amount/higher.yaml new file mode 100644 index 00000000000..4ed0e5f9249 --- /dev/null +++ b/policyengine_us/parameters/gov/bankruptcy/presumption_abuse/amount/higher.yaml @@ -0,0 +1,12 @@ +description: The IRS determines whether there is a presumption of abuse with this higher amount under the chapter 7 bankruptcy means test. + +values: + 2024-01-01: 15_150 + +metadata: + unit: currency-USD + period: year + label: Presumption of abuse higher amount + reference: + - title: Official Form 122A-2 Chapter 7 Means Test Calculation + href: https://www.cacb.uscourts.gov/sites/cacb/files/documents/forms/122A2.pdf#page=8 diff --git a/policyengine_us/parameters/gov/bankruptcy/presumption_abuse/amount/lower.yaml b/policyengine_us/parameters/gov/bankruptcy/presumption_abuse/amount/lower.yaml new file mode 100644 index 00000000000..b395eca5d7f --- /dev/null +++ b/policyengine_us/parameters/gov/bankruptcy/presumption_abuse/amount/lower.yaml @@ -0,0 +1,12 @@ +description: The IRS determines whether there is a presumption of abuse with this lower amount under the chapter 7 bankruptcy means test. + +values: + 2024-01-01: 9_075 + +metadata: + unit: currency-USD + period: year + label: Presumption of abuse lower amount + reference: + - title: Official Form 122A-2 Chapter 7 Means Test Calculation + href: https://www.cacb.uscourts.gov/sites/cacb/files/documents/forms/122A2.pdf#page=8 diff --git a/policyengine_us/parameters/gov/bankruptcy/presumption_abuse/rate.yaml b/policyengine_us/parameters/gov/bankruptcy/presumption_abuse/rate.yaml new file mode 100644 index 00000000000..96621cdb4a5 --- /dev/null +++ b/policyengine_us/parameters/gov/bankruptcy/presumption_abuse/rate.yaml @@ -0,0 +1,14 @@ +description: The IRS matches this percent of the nonpriorirty unsecured debt under the chapter 7 bankruptcy means test. + +values: + 2024-01-01: 0.25 + +metadata: + unit: /1 + period: year + label: Nonpriority unsecured debt rate + reference: + - title: Official Form 122A-2 Chapter 7 Means Test Calculation + href: https://www.cacb.uscourts.gov/sites/cacb/files/documents/forms/122A2.pdf#page=9 + - title: 11 U.S.C. ยง 707(b)(2)(A)(i)(I) + href: https://www.law.cornell.edu/uscode/text/11/707 diff --git a/policyengine_us/parameters/household/county_group/midwest/chicago.yaml b/policyengine_us/parameters/household/county_group/midwest/chicago.yaml new file mode 100644 index 00000000000..dd624b1e37e --- /dev/null +++ b/policyengine_us/parameters/household/county_group/midwest/chicago.yaml @@ -0,0 +1,26 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the Chicago area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area Chicago area counties + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - COOK_COUNTY_IL + - DEKALB_COUNTY_IL + - DUPAGE_COUNTY_IL + - GRUNDY_COUNTY_IL + - KANE_COUNTY_IL + - KENDALL_COUNTY_IL + - LAKE_COUNTY_IL + - MCHENRY_COUNTY_IL + - WILL_COUNTY_IL + - JASPER_COUNTY_IN + - LAKE_COUNTY_IN + - NEWTON_COUNTY_IN + - PORTER_COUNTY_IN + - KENOSHA_COUNTY_WI + diff --git a/policyengine_us/parameters/household/county_group/midwest/cleveland.yaml b/policyengine_us/parameters/household/county_group/midwest/cleveland.yaml new file mode 100644 index 00000000000..6b462d040bd --- /dev/null +++ b/policyengine_us/parameters/household/county_group/midwest/cleveland.yaml @@ -0,0 +1,20 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the Cleveland area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area Cleveland area counties + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - ASHTABULA_COUNTY_OH + - CUYAHOGA_COUNTY_OH + - GEAUGA_COUNTY_OH + - LAKE_COUNTY_OH + - LORAIN_COUNTY_OH + - MEDINA_COUNTY_OH + - PORTAGE_COUNTY_OH + - SUMMIT_COUNTY_OH + diff --git a/policyengine_us/parameters/household/county_group/midwest/detroit.yaml b/policyengine_us/parameters/household/county_group/midwest/detroit.yaml new file mode 100644 index 00000000000..46673be4d14 --- /dev/null +++ b/policyengine_us/parameters/household/county_group/midwest/detroit.yaml @@ -0,0 +1,17 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the Detroit area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area Detroit area counties + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - LAPEER_COUNTY_MI + - LIVINGSTON_COUNTY_MI + - MACOMB_COUNTY_MI + - OAKLAND_COUNTY_MI + - ST_CLAIR_COUNTY_MI + - WAYNE_COUNTY_MI diff --git a/policyengine_us/parameters/household/county_group/midwest/minneapolis_st_paul.yaml b/policyengine_us/parameters/household/county_group/midwest/minneapolis_st_paul.yaml new file mode 100644 index 00000000000..7d4768d899b --- /dev/null +++ b/policyengine_us/parameters/household/county_group/midwest/minneapolis_st_paul.yaml @@ -0,0 +1,27 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the Minneapolis-St.Paul area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area Minneapolis-St.Paul area counties + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - ANOKA_COUNTY_MN + - CARVER_COUNTY_MN + - CHISAGO_COUNTY_MN + - DAKOTA_COUNTY_MN + - HENNEPIN_COUNTY_MN + - ISANTI_COUNTY_MN + - LESUEUR_COUNTY_MN + - MILLE_LACS_COUNTY_MN + - RAMSEY_COUNTY_MN + - SCOTT_COUNTY_MN + - SHERBURNE_COUNTY_MN + - SIBLEY_COUNTY_MN + - WASHINGTON_COUNTY_MN + - WRIGHT_COUNTY_MN + - PIERCE_COUNTY_WI + - ST_CROIX_WI diff --git a/policyengine_us/parameters/household/county_group/midwest/st_louis.yaml b/policyengine_us/parameters/household/county_group/midwest/st_louis.yaml new file mode 100644 index 00000000000..c865ed904ef --- /dev/null +++ b/policyengine_us/parameters/household/county_group/midwest/st_louis.yaml @@ -0,0 +1,26 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the St.Louis area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area St.Louis area counties + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - FRANKLIN_COUNTY_MO + - JEFFERSON_COUNTY_MO + - LINCOLN_COUNTY_MO + - ST_CHARLES_COUNTY_MO + - ST_LOUIS_COUNTY_MO + - WARREN_COUNTY_MO + - ST_LOUIS_CITY_COUNTY_MO + - BOND_COUNTY_IL + - CALHOUN_COUNTY_IL + - CLINTON_COUNTY_IL + - JERSEY_COUNTY_IL + - MACOUPIN_COUNTY_IL + - MADISON_COUNTY_IL + - MONROW_COUNTY_IL + - ST_CLAIR_COUNTY_IL diff --git a/policyengine_us/parameters/household/county_group/northeast/boston.yaml b/policyengine_us/parameters/household/county_group/northeast/boston.yaml new file mode 100644 index 00000000000..62ad9b83031 --- /dev/null +++ b/policyengine_us/parameters/household/county_group/northeast/boston.yaml @@ -0,0 +1,18 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the Boston area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area Boston area counties + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - ESSEX_COUNTY_MA + - MIDDLESEX_COUNTY_MA + - NORFOLK_COUNTY_MA + - PLYMOUTH_COUNTY_MA + - SUFFOLK_COUNTY_MA + - ROCKINGHAM_COUNTY_NH + - STRAFFORD_COUNTY_NH diff --git a/policyengine_us/parameters/household/county_group/northeast/new_york.yaml b/policyengine_us/parameters/household/county_group/northeast/new_york.yaml new file mode 100644 index 00000000000..c8e69bc05ec --- /dev/null +++ b/policyengine_us/parameters/household/county_group/northeast/new_york.yaml @@ -0,0 +1,36 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the New York area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area New York area counties + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - BRONX_COUNTY_NY + - DUTCHESS_COUNTY_NY + - KINGS_COUNTY_NY + - NASSAU_COUNTY_NY + - NEW_YORK_COUNTY_NY + - ORANGE_COUNTY_NY + - PUTNAM_COUNTY_NY + - QUEENS_COUNTY_NY + - RICHMOND_COUNTY_NY + - ROCKLAND_COUNTY_NY + - SUFFOLK_COUNTY_NY + - WESTCHESTER_COUNTY_NY + - BERGEN_COUNTY_NJ + - ESSEX_COUNTY_NJ + - HUDSON_COUNTY_NJ + - HUNTERDON_COUNTY_NJ + - MIDDLESEX_COUNTY_NJ + - MONMOUTH_COUNTY_NJ + - MORRIS_COUNTY_NJ + - OCEAN_COUNTY_NJ + - PASSAIC_COUNTY_NJ + - SOMERSET_COUNTY_NJ + - SUSSEX_COUNTY_NJ + - UNION_COUNTY_NJ + - PIKE_COUNTY_PA diff --git a/policyengine_us/parameters/household/county_group/northeast/philadelphia.yaml b/policyengine_us/parameters/household/county_group/northeast/philadelphia.yaml new file mode 100644 index 00000000000..c034131ca1b --- /dev/null +++ b/policyengine_us/parameters/household/county_group/northeast/philadelphia.yaml @@ -0,0 +1,22 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the Philadelphia area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area Philadelphia area counties + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - BUCKS_COUNTY_PA + - CHESTER_COUNTY_PA + - DELAWARE_COUNTY_PA + - MONTGOMERY_COUNTY_PA + - PHILADELPHIA_COUNTY_PA + - BURLINGTON_COUNTY_NJ + - CAMDEN_COUNTY_NJ + - GLOUCESTER_COUNTY_NJ + - SALEM_COUNTY_NJ + - NEW_CASTLE_COUNTY_DE + - CECIL_COUNTY_MD diff --git a/policyengine_us/parameters/household/county_group/south/atlanta.yaml b/policyengine_us/parameters/household/county_group/south/atlanta.yaml new file mode 100644 index 00000000000..9bed0bedf74 --- /dev/null +++ b/policyengine_us/parameters/household/county_group/south/atlanta.yaml @@ -0,0 +1,40 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the Atlanta area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area Atlanta area counties + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - BARROW_COUNTY_GA + - BARTOW_COUNTY_GA + - BUTTS_COUNTY_GA + - CARROLL_COUNTY_GA + - CHEROKEE_COUNTY_GA + - CLAYTON_COUNTY_GA + - COBB_COUNTY_GA + - COWETA_COUNTY_GA + - DAWSON_COUNTY_GA + - DEKALB_COUNTY_GA + - DOUGLAS_COUNTY_GA + - FAYETTE_COUNTY_GA + - FORSYTH_COUNTY_GA + - FULTON_COUNTY_GA + - GWINNETT_COUNTY_GA + - HARALSON_COUNTY_GA + - HEARD_COUNTY_GA + - HENRY_COUNTY_GA + - JASPER_COUNTY_GA + - LAMAR_COUNTY_GA + - MERIWETHER_COUNTY_GA + - MORGAN_COUNTY_GA + - NEWTON_COUNTY_GA + - PAULDING_COUNTY_GA + - PICKENS_COUNTY_GA + - PIKE_COUNTY_GA + - ROCKDALE_COUNTY_GA + - SPALDING_COUNTY_GA + - WALTON_COUNTY_GA diff --git a/policyengine_us/parameters/household/county_group/south/baltimore.yaml b/policyengine_us/parameters/household/county_group/south/baltimore.yaml new file mode 100644 index 00000000000..e912649bb0c --- /dev/null +++ b/policyengine_us/parameters/household/county_group/south/baltimore.yaml @@ -0,0 +1,18 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the Baltimore area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area Baltimore area counties + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - ANNE_ARUNDEL_COUNTY_MD + - BALTIMORE_COUNTY_MD + - CARROLL_COUNTY_MD + - HARFORD_COUNTY_MD + - HOWARD_COUNTY_MD + - QUEEN_ANNE_S_COUNTY_MD + - BALTIMORE_CITY_MD diff --git a/policyengine_us/parameters/household/county_group/south/dallas_ft_worth.yaml b/policyengine_us/parameters/household/county_group/south/dallas_ft_worth.yaml new file mode 100644 index 00000000000..8c39c6db33e --- /dev/null +++ b/policyengine_us/parameters/household/county_group/south/dallas_ft_worth.yaml @@ -0,0 +1,24 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the Dallas Ft.Worth area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area Dallas Ft.Worth area counties + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - COLLIN_COUNTY_TX + - DALLAS_COUNTY_TX + - DENTON_COUNTY_TX + - ELLIS_COUNTY_TX + - HOOD_COUNTY_TX + - HUNT_COUNTY_TX + - JOHNSON_COUNTY_TX + - KAUFMAN_COUNTY_TX + - PARKER_COUNTY_TX + - ROCKWALL_COUNTY_TX + - SOMERVELL_COUNTY_TX + - TARRANT_COUNTY_TX + - WISE_COUNTY_TX diff --git a/policyengine_us/parameters/household/county_group/south/houston.yaml b/policyengine_us/parameters/household/county_group/south/houston.yaml new file mode 100644 index 00000000000..8911fd690a5 --- /dev/null +++ b/policyengine_us/parameters/household/county_group/south/houston.yaml @@ -0,0 +1,20 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the Houston area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area Houston area counties + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - AUSTIN_COUNTY_TX + - BRAZORIA_COUNTY_TX + - CHAMBERS_COUNTY_TX + - FORT_BEND_COUNTY_TX + - GALVESTON_COUNTY_TX + - HARRIS_COUNTY_TX + - LIBERTY_COUNTY_TX + - MONTGOMERY_COUNTY_TX + - WALLER_COUNTY_TX diff --git a/policyengine_us/parameters/household/county_group/south/miami.yaml b/policyengine_us/parameters/household/county_group/south/miami.yaml new file mode 100644 index 00000000000..85097626cba --- /dev/null +++ b/policyengine_us/parameters/household/county_group/south/miami.yaml @@ -0,0 +1,14 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the Miami area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area Miami area counties + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - BROWARD_COUNTY_FL + - MIAMI_DADE_COUNTY_FL + - PALM_BEACH_COUNTY_FL diff --git a/policyengine_us/parameters/household/county_group/south/tampa.yaml b/policyengine_us/parameters/household/county_group/south/tampa.yaml new file mode 100644 index 00000000000..bf5d71f612c --- /dev/null +++ b/policyengine_us/parameters/household/county_group/south/tampa.yaml @@ -0,0 +1,15 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the Tampa area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area Tampa area counties + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - HERNANDO_COUNTY_FL + - HILLSBOROUGH_COUNTY_FL + - PASCO_COUNTY_FL + - PINELLAS_COUNTY_FL diff --git a/policyengine_us/parameters/household/county_group/south/washington_dc.yaml b/policyengine_us/parameters/household/county_group/south/washington_dc.yaml new file mode 100644 index 00000000000..35c7f6c6d02 --- /dev/null +++ b/policyengine_us/parameters/household/county_group/south/washington_dc.yaml @@ -0,0 +1,35 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the Washington DC area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area Washington DC area counties + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - DISTRICT_OF_COLUMBIA_DC + - CALVERT_COUNTY_MD + - CHARLES_COUNTY_MD + - FREDERICK_COUNTY_MD + - MONTGOMERY_COUNTY_MD + - PRINCE_GEORGE_COUNTY_MD + - ARLINGTON_COUNTY_VA + - CLARKE_COUNTY_VA + - CULPEPER_COUNTY_VA + - FAIRFAX_COUNTY_VA + - FAUQUIER_COUNTY_VA + - LOUDOUN_COUNTY_VA + - PRINCE_WILLIAM_COUNTY_VA + - RAPPAHANNOCK_COUNTY_VA + - SPOTSYLVANIA_COUNTY_VA + - STAFFORD_COUNTY_VA + - WARREN_COUNTY_VA + - ALEXANDRIA_CITY_VA + - FAIRFAX_CITY_VA + - FALLS_CHURCH_CITY_VA + - FREDERICKSBURG_CITY_VA + # - MANASSAS_CITY_VA ## We don't have this county in county_enum.py + - MANASSAS_PARK_CITY_VA + - JEFFERSON_COUNTY_WV diff --git a/policyengine_us/parameters/household/county_group/west/anchorage.yaml b/policyengine_us/parameters/household/county_group/west/anchorage.yaml new file mode 100644 index 00000000000..00fd889940d --- /dev/null +++ b/policyengine_us/parameters/household/county_group/west/anchorage.yaml @@ -0,0 +1,13 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the Anchorage area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area Anchorage area counties + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - ANCHORAGE_MUNICIPALITY_AK + - MATANUSKA_SUSITNA_BOROUGH_AK diff --git a/policyengine_us/parameters/household/county_group/west/denver.yaml b/policyengine_us/parameters/household/county_group/west/denver.yaml new file mode 100644 index 00000000000..82d5b78b8aa --- /dev/null +++ b/policyengine_us/parameters/household/county_group/west/denver.yaml @@ -0,0 +1,21 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the Denver area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area Denver area counties + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - ADAMS_COUNTY_CO + - ARAPAHOE_COUNTY_CO + - BROOMFIELD_COUNTY_CO + - CLEAR_CREEK_COUNTY_CO + - DENVER_COUNTY_CO + - DOUGLAS_COUNTY_CO + - ELBERT_COUNTY_CO + - GILPIN_COUNTY_CO + - JEFFERSON_COUNTY_CO + - PARK_COUNTY_CO diff --git a/policyengine_us/parameters/household/county_group/west/honolulu.yaml b/policyengine_us/parameters/household/county_group/west/honolulu.yaml new file mode 100644 index 00000000000..e08420d8166 --- /dev/null +++ b/policyengine_us/parameters/household/county_group/west/honolulu.yaml @@ -0,0 +1,12 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the Honolulu area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area Honolulu area county + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - HONOLULU_COUNTY_HI diff --git a/policyengine_us/parameters/household/county_group/west/los_angeles.yaml b/policyengine_us/parameters/household/county_group/west/los_angeles.yaml new file mode 100644 index 00000000000..864cb1e0b7a --- /dev/null +++ b/policyengine_us/parameters/household/county_group/west/los_angeles.yaml @@ -0,0 +1,15 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the Los Angeles area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area Los Angeles area counties + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - LOS_ANGELES_COUNTY_CA + - ORANGE_COUNTY_CA + - RIVERSIDE_COUNTY_CA + - SAN_BERNARDINO_COUNTY_CA diff --git a/policyengine_us/parameters/household/county_group/west/phoenix.yaml b/policyengine_us/parameters/household/county_group/west/phoenix.yaml new file mode 100644 index 00000000000..99268837800 --- /dev/null +++ b/policyengine_us/parameters/household/county_group/west/phoenix.yaml @@ -0,0 +1,13 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the Phoenix area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area Phoenix area counties + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - MARICOPA_COUNTY_AZ + - PINAL_COUNTY_AZ diff --git a/policyengine_us/parameters/household/county_group/west/san_diego.yaml b/policyengine_us/parameters/household/county_group/west/san_diego.yaml new file mode 100644 index 00000000000..0506cc9f119 --- /dev/null +++ b/policyengine_us/parameters/household/county_group/west/san_diego.yaml @@ -0,0 +1,12 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the San Diego area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area San Diego area county + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - SAN_DIEGO_COUNTY_CA diff --git a/policyengine_us/parameters/household/county_group/west/san_francisco.yaml b/policyengine_us/parameters/household/county_group/west/san_francisco.yaml new file mode 100644 index 00000000000..e83aec1a792 --- /dev/null +++ b/policyengine_us/parameters/household/county_group/west/san_francisco.yaml @@ -0,0 +1,16 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the San Francisco area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area San Francisco area counties + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - ALAMEDA_COUNTY_CA + - CONTRA_COSTA_COUNTY_CA + - MARIN_COUNTY_CA + - SAN_FRANCISCO_COUNTY_CA + - SAN_MATEO_COUNTY_CA diff --git a/policyengine_us/parameters/household/county_group/west/seattle.yaml b/policyengine_us/parameters/household/county_group/west/seattle.yaml new file mode 100644 index 00000000000..1d6d74443fa --- /dev/null +++ b/policyengine_us/parameters/household/county_group/west/seattle.yaml @@ -0,0 +1,14 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default counties in the Seattle area under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area Seattle area counties + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - KING_COUNTY_WA + - PIERCE_COUNTY_WA + - SNOHOMISH_COUNTY_WA diff --git a/policyengine_us/parameters/household/state_group/midwest.yaml b/policyengine_us/parameters/household/state_group/midwest.yaml new file mode 100644 index 00000000000..7b6534c4176 --- /dev/null +++ b/policyengine_us/parameters/household/state_group/midwest.yaml @@ -0,0 +1,23 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default states in the midwest region under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area midwest region states + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - ND + - SD + - NE + - KS + - MO + - IL + - IN + - OH + - MI + - WI + - MN + - IA diff --git a/policyengine_us/parameters/household/state_group/northeast.yaml b/policyengine_us/parameters/household/state_group/northeast.yaml new file mode 100644 index 00000000000..68848211330 --- /dev/null +++ b/policyengine_us/parameters/household/state_group/northeast.yaml @@ -0,0 +1,20 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default states in the northeast region under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area northeast region states + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - ME + - NH + - VT + - MA + - RI + - CT + - PA + - NY + - NJ diff --git a/policyengine_us/parameters/household/state_group/south.yaml b/policyengine_us/parameters/household/state_group/south.yaml new file mode 100644 index 00000000000..4508e08ea9d --- /dev/null +++ b/policyengine_us/parameters/household/state_group/south.yaml @@ -0,0 +1,27 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default states in the south region under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area south region states + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - TX + - OK + - AR + - LA + - MS + - TN + - KY + - WV + - MD + - DC + - DE + - NC + - SC + - GA + - FL + - AL diff --git a/policyengine_us/parameters/household/state_group/west.yaml b/policyengine_us/parameters/household/state_group/west.yaml new file mode 100644 index 00000000000..7a7e8d27063 --- /dev/null +++ b/policyengine_us/parameters/household/state_group/west.yaml @@ -0,0 +1,24 @@ +description: The IRS follows the Metropolitan Statistical Area to define the default states in the west region under the Chapter 7 Bankruptcy means test. + +metadata: + unit: list + period: year + label: IRS Metropolitan Statistical Area west region states + reference: + - title: Internal Revenue Service, Local standards -- Transportation + href: https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation +values: + 2024-01-01: + - NM + - AZ + - CO + - WY + - MT + - NV + - UT + - WA + - OR + - ID + - CA + - AK + - HI diff --git a/policyengine_us/tests/policy/baseline/gov/bankruptcy/chapter_7_bankruptcy_adjust_monthly_income.yaml b/policyengine_us/tests/policy/baseline/gov/bankruptcy/chapter_7_bankruptcy_adjust_monthly_income.yaml new file mode 100644 index 00000000000..a23dad776bd --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/bankruptcy/chapter_7_bankruptcy_adjust_monthly_income.yaml @@ -0,0 +1,17 @@ +- name: Case 1. + period: 2024 + input: + irs_employment_income: 100 + alimony_income: 100 + child_support_received: 100 + partnership_s_corp_income: 100 + farm_income: 100 + farm_rent_income: 100 + rental_income: 100 + dividend_income: 100 + interest_income: 100 + unemployment_compensation: 100 + pension_income: 100 + retirement_distributions: 100 + output: + chapter_7_bankruptcy_adjust_monthly_income: 1_200 diff --git a/policyengine_us/tests/policy/baseline/gov/bankruptcy/deductions/chapter_7_bankruptcy_additonal_expenses_deductions.yaml b/policyengine_us/tests/policy/baseline/gov/bankruptcy/deductions/chapter_7_bankruptcy_additonal_expenses_deductions.yaml new file mode 100644 index 00000000000..0433ecf48ac --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/bankruptcy/deductions/chapter_7_bankruptcy_additonal_expenses_deductions.yaml @@ -0,0 +1,12 @@ +- name: Case 1, have housing cost and vehile mortgage expense. + period: 2024-01 + input: + health_insurance_premiums: 120 + health_savings_account_payroll_contributions: 120 + care_expenses: 0 + k12_tuition_and_fees: 2_400 + is_child_dependent: true + charitable_cash_donations: 0 + charitable_non_cash_donations: 0 + output: + chapter_7_bankruptcy_additonal_expenses_deductions: 209.58 diff --git a/policyengine_us/tests/policy/baseline/gov/bankruptcy/deductions/chapter_7_bankruptcy_debt_payment_deductions.yaml b/policyengine_us/tests/policy/baseline/gov/bankruptcy/deductions/chapter_7_bankruptcy_debt_payment_deductions.yaml new file mode 100644 index 00000000000..4841619ffdf --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/bankruptcy/deductions/chapter_7_bankruptcy_debt_payment_deductions.yaml @@ -0,0 +1,15 @@ +- name: Case 1, have housing cost and vehile mortgage expense. + period: 2024-01 + input: + housing_cost: 120 + vehicle_mortgage_expense: 0 + output: + chapter_7_bankruptcy_debt_payment_deductions: 10 + +- name: Case 2, both expenses are 0. + period: 2024-01 + input: + housing_cost: 0 + vehicle_mortgage_expense: 0 + output: + chapter_7_bankruptcy_debt_payment_deductions: 0 diff --git a/policyengine_us/tests/policy/baseline/gov/bankruptcy/deductions/chapter_7_bankruptcy_food_clothing_and_others_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/bankruptcy/deductions/chapter_7_bankruptcy_food_clothing_and_others_deduction.yaml new file mode 100644 index 00000000000..74ac5dcc45b --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/bankruptcy/deductions/chapter_7_bankruptcy_food_clothing_and_others_deduction.yaml @@ -0,0 +1,27 @@ +- name: Case 1, size 1. + period: 2024-01 + input: + spm_unit_size: 1 + output: + chapter_7_bankruptcy_food_clothing_and_others_deduction: 808 + +- name: Case 2, size 4. + period: 2024-01 + input: + spm_unit_size: 4 + output: + chapter_7_bankruptcy_food_clothing_and_others_deduction: 2027 + +- name: Case 3, size 5. + period: 2024-01 + input: + spm_unit_size: 5 + output: + chapter_7_bankruptcy_food_clothing_and_others_deduction: 2413 + +- name: Case 4, size 7. + period: 2024-01 + input: + spm_unit_size: 7 + output: + chapter_7_bankruptcy_food_clothing_and_others_deduction: 3185 diff --git a/policyengine_us/tests/policy/baseline/gov/bankruptcy/deductions/chapter_7_bankruptcy_local_standards_deductions.yaml b/policyengine_us/tests/policy/baseline/gov/bankruptcy/deductions/chapter_7_bankruptcy_local_standards_deductions.yaml new file mode 100644 index 00000000000..4c83867eefe --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/bankruptcy/deductions/chapter_7_bankruptcy_local_standards_deductions.yaml @@ -0,0 +1,13 @@ +- name: Case 1, have housing cost and vehile mortgage expense. + period: 2024-01 + input: + spm_unit_size: 3 + state_code: CA + housing_cost: 22_800 + has_a_vehicle_loan: true + vehicle_mortgage_expense: 7_200 + public_transportation_expense: 230 + + output: + chapter_7_bankruptcy_local_standards_deductions: 978 + # 716 + 28 + 19 + 215 diff --git a/policyengine_us/tests/policy/baseline/gov/bankruptcy/deductions/chapter_7_bankruptcy_other_necessary_expenses_deductions.yaml b/policyengine_us/tests/policy/baseline/gov/bankruptcy/deductions/chapter_7_bankruptcy_other_necessary_expenses_deductions.yaml new file mode 100644 index 00000000000..89e5cac1b2a --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/bankruptcy/deductions/chapter_7_bankruptcy_other_necessary_expenses_deductions.yaml @@ -0,0 +1,24 @@ +- name: Case 1, medical expense higher than medical deductions. + period: 2024-01 + input: + income_tax: 120 + child_support_expense: 0 + childcare_expenses: 0 + chapter_7_bankruptcy_out_of_pocket_health_care_deduction: 100 + medical_out_of_pocket_expenses: 220 + + output: + chapter_7_bankruptcy_other_necessary_expenses_deductions: 20 + +- name: Case 2, medical expense smaller than medical deductions. + period: 2024-01 + input: + income_tax: 120 + child_support_expense: 0 + childcare_expenses: 0 + chapter_7_bankruptcy_out_of_pocket_health_care_deduction: 100 + medical_out_of_pocket_expenses: 20 + + output: + chapter_7_bankruptcy_other_necessary_expenses_deductions: 10 + diff --git a/policyengine_us/tests/policy/baseline/gov/bankruptcy/deductions/chapter_7_bankruptcy_out_of_pocket_health_care_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/bankruptcy/deductions/chapter_7_bankruptcy_out_of_pocket_health_care_deduction.yaml new file mode 100644 index 00000000000..2760d6b8f07 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/bankruptcy/deductions/chapter_7_bankruptcy_out_of_pocket_health_care_deduction.yaml @@ -0,0 +1,50 @@ +- name: Case 1, both people below age 65. + period: 2024-01 + input: + people: + person1: + age: 40 + person2: + age: 45 + spm_units: + spm_unit: + members: [person1, person2] + households: + household: + members: [person1, person2] + output: + chapter_7_bankruptcy_out_of_pocket_health_care_deduction: 166 + +- name: Case 2, one above age 65, one below age 65. + period: 2024-01 + input: + people: + person1: + age: 70 + person2: + age: 45 + spm_units: + spm_unit: + members: [person1, person2] + households: + household: + members: [person1, person2] + output: + chapter_7_bankruptcy_out_of_pocket_health_care_deduction: 241 + +- name: Case 3, both age above 65. + period: 2024-01 + input: + people: + person1: + age: 75 + person2: + age: 78 + spm_units: + spm_unit: + members: [person1, person2] + households: + household: + members: [person1, person2] + output: + chapter_7_bankruptcy_out_of_pocket_health_care_deduction: 316 diff --git a/policyengine_us/tests/policy/baseline/gov/bankruptcy/is_presumption_of_abuse.yaml b/policyengine_us/tests/policy/baseline/gov/bankruptcy/is_presumption_of_abuse.yaml new file mode 100644 index 00000000000..d2e86807d71 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/bankruptcy/is_presumption_of_abuse.yaml @@ -0,0 +1,39 @@ +- name: Case 1, total_disposable_income less than 9075, no abuse. + period: 2024 + input: + chapter_7_bankruptcy_adjust_monthly_income: 2_000 + chapter_7_bankruptcy_total_deductions: 1_900 + chapter_7_bankruptcy_nonpriority_unsecured_debt: 0 + output: + is_presumption_of_abuse: false + # (2000 - 1900)*60 = 6000 < 9075 + +- name: Case 2, total_disposable_income higher than 15150, has abuse. + period: 2024 + input: + chapter_7_bankruptcy_adjust_monthly_income: 2_000 + chapter_7_bankruptcy_total_deductions: 1_700 + chapter_7_bankruptcy_nonpriority_unsecured_debt: 0 + output: + is_presumption_of_abuse: true + # (2000-1700)*60 = 18000 > 15150 + +- name: Case 3, total_disposable_income in between, and enough to pay 25% of nonpriority unsecured debt. + period: 2024 + input: + chapter_7_bankruptcy_adjust_monthly_income: 2_000 + chapter_7_bankruptcy_total_deductions: 1_750 + chapter_7_bankruptcy_nonpriority_unsecured_debt: 1_000 + output: + is_presumption_of_abuse: true + # (2000-1750)*60 = 15000 is higher than 1000*25% + +- name: Case 4, total_disposable_income in between, and not enough to pay 25% of nonpriority unsecured debt. + period: 2024 + input: + chapter_7_bankruptcy_adjust_monthly_income: 2_000 + chapter_7_bankruptcy_total_deductions: 1_750 + chapter_7_bankruptcy_nonpriority_unsecured_debt: 61_000 + output: + is_presumption_of_abuse: false + # (2000-1750)*60 = 15000 is less than 61000*25% = 15250 diff --git a/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/is_midwest_region.yaml b/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/is_midwest_region.yaml new file mode 100644 index 00000000000..64c6751f9ad --- /dev/null +++ b/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/is_midwest_region.yaml @@ -0,0 +1,20 @@ +- name: Illinois is in midwest region. + period: 2024 + input: + state_code: IL + output: + is_midwest_region: true + +- name: North Dakota is in midwest region. + period: 2024 + input: + state_code: ND + output: + is_midwest_region: true + +- name: Massachusetts is not in midwest region. + period: 2024 + input: + state_code: MA + output: + is_midwest_region: false diff --git a/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/is_northeast_region.yaml b/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/is_northeast_region.yaml new file mode 100644 index 00000000000..c38bd8858eb --- /dev/null +++ b/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/is_northeast_region.yaml @@ -0,0 +1,20 @@ +- name: Massachusetts is in northeast region. + period: 2024 + input: + state_code: MA + output: + is_northeast_region: true + +- name: Pennsylvania is in northeast region. + period: 2024 + input: + state_code: PA + output: + is_northeast_region: true + +- name: Illinois is not in northeast region. + period: 2024 + input: + state_code: IL + output: + is_northeast_region: false diff --git a/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/is_south_region.yaml b/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/is_south_region.yaml new file mode 100644 index 00000000000..a140bf4778b --- /dev/null +++ b/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/is_south_region.yaml @@ -0,0 +1,20 @@ +- name: Georgia is in south region. + period: 2024 + input: + state_code: GA + output: + is_south_region: true + +- name: Florida is in south region. + period: 2024 + input: + state_code: FL + output: + is_south_region: true + +- name: Massachusetts is not in south region. + period: 2024 + input: + state_code: MA + output: + is_south_region: false diff --git a/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/is_west_region.yaml b/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/is_west_region.yaml new file mode 100644 index 00000000000..861446846db --- /dev/null +++ b/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/is_west_region.yaml @@ -0,0 +1,20 @@ +- name: New Mexico is in west region. + period: 2024 + input: + state_code: NM + output: + is_west_region: true + +- name: California is in west region. + period: 2024 + input: + state_code: CA + output: + is_west_region: true + +- name: Massachusetts is not in west region. + period: 2024 + input: + state_code: MA + output: + is_west_region: false diff --git a/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/midwest_county.yaml b/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/midwest_county.yaml new file mode 100644 index 00000000000..1df9a6f1324 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/midwest_county.yaml @@ -0,0 +1,23 @@ +- name: Cook county belongs to Chicago by MSA. + period: 2024 + input: + state_code: IL + county_str: COOK_COUNTY_IL + output: + midwest_county: CHICAGO + +- name: Slope county belongs to default midwest. + period: 2024 + input: + state_code: ND + county_str: SLOPE_COUNTY_ND + output: + midwest_county: MIDWEST_DEFAULT + +- name: Not part of any midwest region. + period: 2024 + input: + state_code: MA + county_str: SUFFOLK_COUNTY_MA + output: + midwest_county: NONE diff --git a/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/northeast_county.yaml b/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/northeast_county.yaml new file mode 100644 index 00000000000..161992073d3 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/northeast_county.yaml @@ -0,0 +1,23 @@ +- name: Essex county belongs to Boston by MSA. + period: 2024 + input: + state_code: MA + county_str: ESSEX_COUNTY_MA + output: + northeast_county: BOSTON + +- name: Barnstable county belongs to default northeast. + period: 2024 + input: + state_code: MA + county_str: BARNSTABLE_COUNTY_MA + output: + northeast_county: NORTHEAST_DEFAULT + +- name: Not part of any northeast region. + period: 2024 + input: + state_code: IL + county_str: COOK_COUNTY_IL + output: + northeast_county: NONE diff --git a/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/south_county.yaml b/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/south_county.yaml new file mode 100644 index 00000000000..ec3e3042bbb --- /dev/null +++ b/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/south_county.yaml @@ -0,0 +1,23 @@ +- name: Fulton county belongs to Atlanta by MSA. + period: 2024 + input: + state_code: GA + county_str: FULTON_COUNTY_GA + output: + south_county: ATLANTA + +- name: Calhoun county belongs to default south. + period: 2024 + input: + state_code: FL + county_str: CALHOUN_COUNTY_FL + output: + south_county: SOUTH_DEFAULT + +- name: Not part of any south region. + period: 2024 + input: + state_code: MA + county_str: SUFFOLK_COUNTY_MA + output: + south_county: NONE diff --git a/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/west_county.yaml b/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/west_county.yaml new file mode 100644 index 00000000000..a2386b4e5a8 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/household/demographic/geographic/region/west_county.yaml @@ -0,0 +1,24 @@ +- name: Orange county belongs to Los Angeles by MSA. + period: 2024 + input: + state_code: CA + county: ORANGE_COUNTY_CA + output: + west_county: LOS_ANGELES + +- name: Kern county belongs to default west. + period: 2024 + input: + state_code: CA + county: KERN_COUNTY_CA + output: + west_county: WEST_DEFAULT + +- name: Not part of any west region. + period: 2024 + input: + state_code: MA + county: SUFFOLK_COUNTY_MA + is_west_region: false + output: + west_county: NONE diff --git a/policyengine_us/tests/policy/baseline/household/demographic/person/has_a_vehicle_loan.yaml b/policyengine_us/tests/policy/baseline/household/demographic/person/has_a_vehicle_loan.yaml new file mode 100644 index 00000000000..5345fff1e29 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/household/demographic/person/has_a_vehicle_loan.yaml @@ -0,0 +1,14 @@ +- name: Has a vehicle loan. + period: 2024 + input: + vehicle_mortgage_expense: 1_000 + output: + has_a_vehicle_loan: true + +- name: Don't have a vehicle loan. + period: 2024 + input: + vehicle_mortgage_expense: 0 + output: + has_a_vehicle_loan: false + diff --git a/policyengine_us/variables/gov/bankruptcy/chapter_7_bankruptcy_adjust_monthly_income.py b/policyengine_us/variables/gov/bankruptcy/chapter_7_bankruptcy_adjust_monthly_income.py new file mode 100644 index 00000000000..ac2c36612dc --- /dev/null +++ b/policyengine_us/variables/gov/bankruptcy/chapter_7_bankruptcy_adjust_monthly_income.py @@ -0,0 +1,46 @@ +from policyengine_us.model_api import * + + +class chapter_7_bankruptcy_adjust_monthly_income(Variable): + value_type = float + entity = SPMUnit + label = "Adjust monthly income" + definition_period = MONTH + reference = ( + "https://www.uscourts.gov/sites/default/files/form_b122a-1.pdf#page=1", + "https://www.cacb.uscourts.gov/sites/cacb/files/documents/forms/122A2.pdf#page=1", + ) + documentation = "Line 4 in form 122A-2" + + def formula(spm_unit, period, parameters): + employment_income = add(spm_unit, period, ["irs_employment_income"]) + alimony_income = add(spm_unit, period, ["alimony_income"]) + child_support_received = add( + spm_unit, period, ["child_support_received"] + ) + business_and_farm_income = add( + spm_unit, period, ["partnership_s_corp_income", "farm_income"] + ) + rental_income = add( + spm_unit, period, ["farm_rent_income", "rental_income"] + ) + interest_and_dividends_income = add( + spm_unit, period, ["dividend_income", "interest_income"] + ) + unemployment_compensation = add( + spm_unit, period, ["unemployment_compensation"] + ) + pension_and_retirement_income = add( + spm_unit, period, ["pension_income", "retirement_distributions"] + ) + total = ( + employment_income + + alimony_income + + child_support_received + + business_and_farm_income + + rental_income + + interest_and_dividends_income + + unemployment_compensation + + pension_and_retirement_income + ) + return total diff --git a/policyengine_us/variables/gov/bankruptcy/chapter_7_bankruptcy_nonpriority_unsecured_debt.py b/policyengine_us/variables/gov/bankruptcy/chapter_7_bankruptcy_nonpriority_unsecured_debt.py new file mode 100644 index 00000000000..dc861a22cc3 --- /dev/null +++ b/policyengine_us/variables/gov/bankruptcy/chapter_7_bankruptcy_nonpriority_unsecured_debt.py @@ -0,0 +1,10 @@ +from policyengine_us.model_api import * + + +class chapter_7_bankruptcy_nonpriority_unsecured_debt(Variable): + value_type = float + entity = SPMUnit + label = "Nonpriority unsecured debt" + definition_period = MONTH + reference = "https://www.cacb.uscourts.gov/sites/cacb/files/documents/forms/122A2.pdf#page=9" + documentation = "Line 41a in form 122A-2" diff --git a/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_additional_expense_deductions.py b/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_additional_expense_deductions.py new file mode 100644 index 00000000000..f352cbbdc0d --- /dev/null +++ b/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_additional_expense_deductions.py @@ -0,0 +1,43 @@ +from policyengine_us.model_api import * + + +class chapter_7_bankruptcy_additonal_expenses_deductions(Variable): + value_type = float + entity = SPMUnit + label = "Additional expenses deductions" + definition_period = MONTH + reference = "https://www.cacb.uscourts.gov/sites/cacb/files/documents/forms/122A2.pdf#page=6" + + def formula(spm_unit, period, parameters): + health_insurance_expense = add( + spm_unit, period, ["health_insurance_premiums"] + ) + health_savings_account_expense = add( + spm_unit, period, ["health_savings_account_payroll_contributions"] + ) + + care_expense = add(spm_unit, period, ["care_expenses"]) + home_energy_costs = spm_unit.household( + "current_home_energy_use", period + ) + education_expense = add(spm_unit, period, ["k12_tuition_and_fees"]) + child_count = add(spm_unit, period, ["is_child_dependent"]) + p = parameters(period).gov.bankruptcy + education_expense_allowance = child_count * p.dependent_expense + adjust_education_expense = min_( + education_expense, education_expense_allowance + ) + + charitable_contributions = add( + spm_unit, + period, + ["charitable_cash_donations", "charitable_non_cash_donations"], + ) + return ( + health_insurance_expense + + health_savings_account_expense + + care_expense + + home_energy_costs + + adjust_education_expense + + charitable_contributions + ) diff --git a/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_debt_payment_deductions.py b/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_debt_payment_deductions.py new file mode 100644 index 00000000000..ac5abc5a9e1 --- /dev/null +++ b/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_debt_payment_deductions.py @@ -0,0 +1,16 @@ +from policyengine_us.model_api import * + + +class chapter_7_bankruptcy_debt_payment_deductions(Variable): + value_type = float + entity = SPMUnit + label = "Debt payment deduction" + definition_period = MONTH + reference = "https://www.cacb.uscourts.gov/sites/cacb/files/documents/forms/122A2.pdf#page=7" + + def formula(spm_unit, period, parameters): + housing_expense = add(spm_unit, period, ["housing_cost"]) + vehicle_mortgage_expense = add( + spm_unit, period, ["vehicle_mortgage_expense"] + ) + return housing_expense + vehicle_mortgage_expense diff --git a/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_food_clothing_and_others_deduction.py b/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_food_clothing_and_others_deduction.py new file mode 100644 index 00000000000..55b1967b698 --- /dev/null +++ b/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_food_clothing_and_others_deduction.py @@ -0,0 +1,22 @@ +from policyengine_us.model_api import * + + +class chapter_7_bankruptcy_food_clothing_and_others_deduction(Variable): + value_type = float + entity = SPMUnit + label = "National standards of food, clothing and other items deduction" + definition_period = MONTH + reference = "https://www.cacb.uscourts.gov/sites/cacb/files/documents/forms/122A2.pdf#page=2" + documentation = "Line 6 in form 122A-2" + + def formula(spm_unit, period, parameters): + p = parameters( + period + ).gov.bankruptcy.national_standards.food_clothing_and_others + size = spm_unit("spm_unit_size", period) + capped_people = min_(size, 4).astype(int) + additional_people = size - capped_people + base = p.main[capped_people] + additional_amount = p.additional * additional_people + + return base + additional_amount diff --git a/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_local_standards_deductions.py b/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_local_standards_deductions.py new file mode 100644 index 00000000000..65caded19d8 --- /dev/null +++ b/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_local_standards_deductions.py @@ -0,0 +1,64 @@ +from policyengine_us.model_api import * + + +class chapter_7_bankruptcy_local_standards_deductions(Variable): + value_type = float + entity = SPMUnit + label = "Local standards deduction" + definition_period = MONTH + reference = "https://www.cacb.uscourts.gov/sites/cacb/files/documents/forms/122A2.pdf#page=3" + documentation = "Line 8 to line 15 (expect line 12)in form 122A-2" + + def formula(spm_unit, period, parameters): + p = parameters(period).gov.bankruptcy.local_standards + size = spm_unit("spm_unit_size", period) + state = spm_unit.household("state_code_str", period) + insurance_and_operating_allowance = ( + p.housing_and_utilities.insurance_and_operating[state][size] + ) + + mortgage_or_rent_allowance = p.housing_and_utilities.mortgage_or_rent[ + state + ][size] + housing_expense = add(spm_unit, period, ["housing_cost"]) + net_mortgage_or_rent_expense = max_( + mortgage_or_rent_allowance - housing_expense, 0 + ) + + qualify_vehicles_owned = add(spm_unit, period, ["has_a_vehicle_loan"]) + qualify_vehicles_owned_cap = min_( + qualify_vehicles_owned, p.vehicle_operation.vehicles_owned_cap + ) + ownership_costs_allowance = p.vehicle_operation.ownership_costs[ + qualify_vehicles_owned_cap + ] + vehicle_mortgage_expense = add( + spm_unit, period, ["vehicle_mortgage_expense"] + ) + + net_vehicle_ownership_expense = max_( + ownership_costs_allowance - vehicle_mortgage_expense, 0 + ) + + public_transportation_allowance = ( + p.vehicle_operation.public_transportation + ) + public_transportation_expense = add( + spm_unit, period, ["public_transportation_expense"] + ) + + have_one_ore_more_vehicles = qualify_vehicles_owned >= 1 + capped_public_transportation_expense = min_( + public_transportation_expense, public_transportation_allowance + ) + additional_public_transportation_allowance = where( + have_one_ore_more_vehicles, capped_public_transportation_expense, 0 + ) + + return ( + insurance_and_operating_allowance + + net_mortgage_or_rent_expense + + net_vehicle_ownership_expense + + public_transportation_allowance + + additional_public_transportation_allowance + ) diff --git a/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_other_necessary_expenses_deductions.py b/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_other_necessary_expenses_deductions.py new file mode 100644 index 00000000000..4b0fef415cc --- /dev/null +++ b/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_other_necessary_expenses_deductions.py @@ -0,0 +1,36 @@ +from policyengine_us.model_api import * + + +class chapter_7_bankruptcy_other_necessary_expenses_deductions(Variable): + value_type = float + entity = SPMUnit + label = "Other necessary expenses deduction" + definition_period = MONTH + reference = "https://www.cacb.uscourts.gov/sites/cacb/files/documents/forms/122A2.pdf#page=5" + + def formula(spm_unit, period, parameters): + income_tax = add(spm_unit, period, ["income_tax"]) + + child_support_expense = add( + spm_unit, period, ["child_support_expense"] + ) + childcare_expenses = spm_unit("childcare_expenses", period) + + out_of_pocket_healthcare_allowance = spm_unit( + "chapter_7_bankruptcy_out_of_pocket_health_care_deduction", period + ) + out_of_pocket_healthcare_expense = add( + spm_unit, period, ["medical_out_of_pocket_expenses"] + ) + additional_health_care_expenses = max_( + out_of_pocket_healthcare_expense + - out_of_pocket_healthcare_allowance, + 0, + ) + + return ( + income_tax + + child_support_expense + + childcare_expenses + + additional_health_care_expenses + ) diff --git a/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_out_of_pocket_health_care_deduction.py b/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_out_of_pocket_health_care_deduction.py new file mode 100644 index 00000000000..4ddc4766149 --- /dev/null +++ b/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_out_of_pocket_health_care_deduction.py @@ -0,0 +1,22 @@ +from policyengine_us.model_api import * + + +class chapter_7_bankruptcy_out_of_pocket_health_care_deduction(Variable): + value_type = float + entity = SPMUnit + label = "National standard of Out-of-pocket health care deduction" + definition_period = YEAR + reference = "https://www.cacb.uscourts.gov/sites/cacb/files/documents/forms/122A2.pdf#page=2" + documentation = "Line 7 in form 122A-2" + + def formula(spm_unit, period, parameters): + p = parameters( + period + ).gov.bankruptcy.national_standards.out_of_pocket_health_care.amount + + age = spm_unit.members("age", period) + out_of_pocket_health_care_allowance = p.calc(age) + + return ( + spm_unit.sum(out_of_pocket_health_care_allowance) * MONTHS_IN_YEAR + ) diff --git a/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_total_deductions.py b/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_total_deductions.py new file mode 100644 index 00000000000..fd97573a928 --- /dev/null +++ b/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_total_deductions.py @@ -0,0 +1,18 @@ +from policyengine_us.model_api import * + + +class chapter_7_bankruptcy_total_deductions(Variable): + value_type = float + entity = SPMUnit + label = "Total deductions from Income" + definition_period = MONTH + + adds = [ + "chapter_7_bankruptcy_food_clothing_and_others_deduction", + "chapter_7_bankruptcy_out_of_pocket_health_care_deduction", + "chapter_7_bankruptcy_local_standards_deductions", + "chapter_7_bankruptcy_vehicle_operation_expense_deduction", + "chapter_7_bankruptcy_other_necessary_expenses_deductions", + "chapter_7_bankruptcy_additional_expense_deductions", + "chapter_7_bankruptcy_debt_payment_deductions", + ] diff --git a/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_vehicle_operation_expense_deduction.py b/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_vehicle_operation_expense_deduction.py new file mode 100644 index 00000000000..8f157c25c19 --- /dev/null +++ b/policyengine_us/variables/gov/bankruptcy/deductions/chapter_7_bankruptcy_vehicle_operation_expense_deduction.py @@ -0,0 +1,41 @@ +from policyengine_us.model_api import * + + +class chapter_7_bankruptcy_vehicle_operation_expense_deduction(Variable): + value_type = float + entity = SPMUnit + label = "Vehicle operation expense deduction" + definition_period = MONTH + reference = "https://www.cacb.uscourts.gov/sites/cacb/files/documents/forms/122A2.pdf#page=4" + documentation = "Line 12 in form 122A-2" + + def formula(spm_unit, period, parameters): + p = parameters( + period + ).gov.bankruptcy.local_standards.vehicle_operation.region_operating_costs + + qualify_vehicles_owned = add(spm_unit, period, ["has_a_vehicle_loan"]) + qualify_vehicles_owned_cap = min_(qualify_vehicles_owned, 2) + northeast = spm_unit.household("northeast_county", period) + midwest = spm_unit.household("midwest_county", period) + south = spm_unit.household("south_county", period) + west = spm_unit.household("west_county", period) + vehicle_operating_expense_northeast = p.northeast[northeast][ + qualify_vehicles_owned_cap + ] + vehicle_operating_expense_midwest = p.midwest[midwest][ + qualify_vehicles_owned_cap + ] + vehicle_operating_expense_south = p.south[south][ + qualify_vehicles_owned_cap + ] + vehicle_operating_expense_west = p.west[west][ + qualify_vehicles_owned_cap + ] + + return ( + vehicle_operating_expense_northeast + + vehicle_operating_expense_midwest + + vehicle_operating_expense_south + + vehicle_operating_expense_west + ) diff --git a/policyengine_us/variables/gov/bankruptcy/expenses/public_transportation_expense.py b/policyengine_us/variables/gov/bankruptcy/expenses/public_transportation_expense.py new file mode 100644 index 00000000000..e1b6a6afa9b --- /dev/null +++ b/policyengine_us/variables/gov/bankruptcy/expenses/public_transportation_expense.py @@ -0,0 +1,9 @@ +from policyengine_us.model_api import * + + +class public_transportation_expense(Variable): + value_type = float + entity = Person + label = "Public transportation expense" + unit = USD + definition_period = YEAR diff --git a/policyengine_us/variables/gov/bankruptcy/expenses/vehicle_mortgage_expense.py b/policyengine_us/variables/gov/bankruptcy/expenses/vehicle_mortgage_expense.py new file mode 100644 index 00000000000..c9da02b5719 --- /dev/null +++ b/policyengine_us/variables/gov/bankruptcy/expenses/vehicle_mortgage_expense.py @@ -0,0 +1,10 @@ +from policyengine_us.model_api import * + + +class vehicle_mortgage_expense(Variable): + value_type = float + entity = Person + label = "Vehicle mortgage expense" + unit = USD + definition_period = YEAR + reference = "https://www.cacb.uscourts.gov/sites/cacb/files/documents/forms/122A2.pdf#page=4" diff --git a/policyengine_us/variables/gov/bankruptcy/is_presumption_of_abuse.py b/policyengine_us/variables/gov/bankruptcy/is_presumption_of_abuse.py new file mode 100644 index 00000000000..25447928125 --- /dev/null +++ b/policyengine_us/variables/gov/bankruptcy/is_presumption_of_abuse.py @@ -0,0 +1,39 @@ +from policyengine_us.model_api import * + + +class is_presumption_of_abuse(Variable): + value_type = bool + entity = SPMUnit + label = "Is presumption of abuse" + definition_period = YEAR + reference = "https://www.cacb.uscourts.gov/sites/cacb/files/documents/forms/122A2.pdf#page=8" + documentation = "Line 39-xx in form 122A-2" + + def formula(spm_unit, period, parameters): + p = parameters(period).gov.bankruptcy.presumption_abuse + + adjusted_monthly_income = spm_unit( + "chapter_7_bankruptcy_adjust_monthly_income", period + ) + total_deductions = spm_unit( + "chapter_7_bankruptcy_total_deductions", period + ) + monthly_disposable_income = adjusted_monthly_income - total_deductions + total_disposable_income = ( + monthly_disposable_income * MONTHS_IN_YEAR * 5 + ) + nonpriority_unsecured_debt = spm_unit( + "chapter_7_bankruptcy_nonpriority_unsecured_debt", period + ) + adjust_nonpriority_unsecured_debt = nonpriority_unsecured_debt * p.rate + is_income_high = total_disposable_income > p.amount.higher + is_income_in_between = ( + p.amount.lower < total_disposable_income < p.amount.higher + ) + is_income_exceeding_debt = ( + total_disposable_income >= adjust_nonpriority_unsecured_debt + ) + + return is_income_high | ( + is_income_in_between & is_income_exceeding_debt + ) diff --git a/policyengine_us/variables/household/demographic/geographic/region/is_midwest_region.py b/policyengine_us/variables/household/demographic/geographic/region/is_midwest_region.py new file mode 100644 index 00000000000..5d2e6e19f95 --- /dev/null +++ b/policyengine_us/variables/household/demographic/geographic/region/is_midwest_region.py @@ -0,0 +1,16 @@ +from policyengine_us.model_api import * + + +class is_midwest_region(Variable): + value_type = bool + entity = SPMUnit + label = "Is in Midwest region" + definition_period = YEAR + reference = "https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation" + + def formula(spm_unit, period, parameters): + state_code = spm_unit.household("state_code", period).decode_to_str() + + p = parameters(period).household.state_group + + return np.isin(state_code, p.midwest) diff --git a/policyengine_us/variables/household/demographic/geographic/region/is_northeast_region.py b/policyengine_us/variables/household/demographic/geographic/region/is_northeast_region.py new file mode 100644 index 00000000000..512e5bff2e3 --- /dev/null +++ b/policyengine_us/variables/household/demographic/geographic/region/is_northeast_region.py @@ -0,0 +1,16 @@ +from policyengine_us.model_api import * + + +class is_northeast_region(Variable): + value_type = bool + entity = SPMUnit + label = "Is in Northeast region" + definition_period = YEAR + reference = "https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation" + + def formula(spm_unit, period, parameters): + state_code = spm_unit.household("state_code", period).decode_to_str() + + p = parameters(period).household.state_group + + return np.isin(state_code, p.northeast) diff --git a/policyengine_us/variables/household/demographic/geographic/region/is_south_region.py b/policyengine_us/variables/household/demographic/geographic/region/is_south_region.py new file mode 100644 index 00000000000..a1d445b7a31 --- /dev/null +++ b/policyengine_us/variables/household/demographic/geographic/region/is_south_region.py @@ -0,0 +1,16 @@ +from policyengine_us.model_api import * + + +class is_south_region(Variable): + value_type = bool + entity = SPMUnit + label = "Is in South region" + definition_period = YEAR + reference = "https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation" + + def formula(spm_unit, period, parameters): + state_code = spm_unit.household("state_code", period).decode_to_str() + + p = parameters(period).household.state_group + + return np.isin(state_code, p.south) diff --git a/policyengine_us/variables/household/demographic/geographic/region/is_west_region.py b/policyengine_us/variables/household/demographic/geographic/region/is_west_region.py new file mode 100644 index 00000000000..d38061ea8e3 --- /dev/null +++ b/policyengine_us/variables/household/demographic/geographic/region/is_west_region.py @@ -0,0 +1,16 @@ +from policyengine_us.model_api import * + + +class is_west_region(Variable): + value_type = bool + entity = SPMUnit + label = "Is in West region" + definition_period = YEAR + reference = "https://www.irs.gov/businesses/small-businesses-self-employed/local-standards-transportation" + + def formula(spm_unit, period, parameters): + state_code = spm_unit.household("state_code", period).decode_to_str() + + p = parameters(period).household.state_group + + return np.isin(state_code, p.west) diff --git a/policyengine_us/variables/household/demographic/geographic/region/midwest_county.py b/policyengine_us/variables/household/demographic/geographic/region/midwest_county.py new file mode 100644 index 00000000000..3a82314a810 --- /dev/null +++ b/policyengine_us/variables/household/demographic/geographic/region/midwest_county.py @@ -0,0 +1,55 @@ +from policyengine_us.model_api import * + + +class MidWestCounty(Enum): + CHICAGO = "Chicago" + CLEVELAND = "Cleveland" + DETROIT = "Detroit" + MINNEAPOLIS_ST_PAUL = "Minneapolis-St. Paul" + ST_LOUIS = "St. Louis" + MIDWEST_DEFAULT = "Midwest default" + NONE = "None" + + +class midwest_county(Variable): + value_type = Enum + entity = Household + possible_values = MidWestCounty + default_value = MidWestCounty.NONE + definition_period = YEAR + defined_for = "is_midwest_region" + label = "Midwest region county group" + + def formula(household, period, parameters): + county = household("county_str", period) + + p = parameters(period).household.county_group + + chicago = np.isin(county, p.midwest.chicago) + cleveland = np.isin(county, p.midwest.cleveland) + detroit = np.isin(county, p.midwest.detroit) + minneapolis_st_paul = np.isin(county, p.midwest.minneapolis_st_paul) + st_louis = np.isin(county, p.midwest.st_louis) + + conditions = [ + chicago, + cleveland, + detroit, + minneapolis_st_paul, + st_louis, + ~(chicago | cleveland | detroit | minneapolis_st_paul | st_louis), + ] + results = [ + MidWestCounty.CHICAGO, + MidWestCounty.CLEVELAND, + MidWestCounty.DETROIT, + MidWestCounty.MINNEAPOLIS_ST_PAUL, + MidWestCounty.ST_LOUIS, + MidWestCounty.MIDWEST_DEFAULT, + ] + + return select( + conditions, + results, + default=MidWestCounty.NONE, + ) diff --git a/policyengine_us/variables/household/demographic/geographic/region/northeast_county.py b/policyengine_us/variables/household/demographic/geographic/region/northeast_county.py new file mode 100644 index 00000000000..4023c1ee457 --- /dev/null +++ b/policyengine_us/variables/household/demographic/geographic/region/northeast_county.py @@ -0,0 +1,46 @@ +from policyengine_us.model_api import * + + +class NorthEastCounty(Enum): + BOSTON = "Boston" + NEW_YORK = "New York" + PHILADELPHIA = "Philadelphia" + NORTHEAST_DEFAULT = "Northeast default" + NONE = "None" + + +class northeast_county(Variable): + value_type = Enum + entity = Household + possible_values = NorthEastCounty + default_value = NorthEastCounty.NONE + definition_period = YEAR + defined_for = "is_northeast_region" + label = "Northeast region county group" + + def formula(household, period, parameters): + county = household("county_str", period) + + p = parameters(period).household.county_group + boston = np.isin(county, p.northeast.boston) + new_york = np.isin(county, p.northeast.new_york) + philadelphia = np.isin(county, p.northeast.philadelphia) + + conditions = [ + boston, + new_york, + philadelphia, + ~(boston | new_york | philadelphia), + ] + results = [ + NorthEastCounty.BOSTON, + NorthEastCounty.NEW_YORK, + NorthEastCounty.PHILADELPHIA, + NorthEastCounty.NORTHEAST_DEFAULT, + ] + + return select( + conditions, + results, + default=NorthEastCounty.NONE, + ) diff --git a/policyengine_us/variables/household/demographic/geographic/region/south_county.py b/policyengine_us/variables/household/demographic/geographic/region/south_county.py new file mode 100644 index 00000000000..1a61c350212 --- /dev/null +++ b/policyengine_us/variables/household/demographic/geographic/region/south_county.py @@ -0,0 +1,71 @@ +from policyengine_us.model_api import * + + +class SouthCounty(Enum): + ATLANTA = "Atlanta" + BALTIMORE = "Baltimore" + DALLAS_FT_WORTH = "Dallas-Ft. Worth" + HOUSTON = "Houston" + MIAMI = "Miami" + TAMPA = "Tampa" + WASHINGTON_DC = "Washington DC" + SOUTH_DEFAULT = "South default" + NONE = "None" + + +class south_county(Variable): + value_type = Enum + entity = Household + possible_values = SouthCounty + default_value = SouthCounty.NONE + definition_period = YEAR + defined_for = "is_south_region" + label = "South region county group" + + def formula(household, period, parameters): + county = household("county_str", period) + + p = parameters(period).household.county_group + + atlanta = np.isin(county, p.south.atlanta) + baltimore = np.isin(county, p.south.baltimore) + dallas_ft_worth = np.isin(county, p.south.dallas_ft_worth) + houston = np.isin(county, p.south.houston) + miami = np.isin(county, p.south.miami) + tampa = np.isin(county, p.south.tampa) + washington_dc = np.isin(county, p.south.washington_dc) + + conditions = [ + atlanta, + baltimore, + dallas_ft_worth, + houston, + miami, + tampa, + washington_dc, + ~( + atlanta + | baltimore + | dallas_ft_worth + | houston + | miami + | tampa + | washington_dc + ), + ] + results = [ + SouthCounty.ATLANTA, + SouthCounty.BALTIMORE, + SouthCounty.DALLAS_FT_WORTH, + SouthCounty.HOUSTON, + SouthCounty.MIAMI, + SouthCounty.TAMPA, + SouthCounty.WASHINGTON_DC, + SouthCounty.SOUTH_DEFAULT, + ] + + return select( + conditions, + results, + default=SouthCounty.NONE, + ) diff --git a/policyengine_us/variables/household/demographic/geographic/region/west_county.py b/policyengine_us/variables/household/demographic/geographic/region/west_county.py new file mode 100644 index 00000000000..44cffe22a8a --- /dev/null +++ b/policyengine_us/variables/household/demographic/geographic/region/west_county.py @@ -0,0 +1,76 @@ +from policyengine_us.model_api import * + + +class WestCounty(Enum): + ANCHORAGE = "Anchorage" + DENVER = "Denver" + HONOLULU = "Honolulu" + LOS_ANGELES = "Los Angeles" + PHOENIX = "Phoenix" + SAN_DIEGO = "San Diego" + SAN_FRANCISCO = "San Francisco" + SEATTLE = "Seattle" + WEST_DEFAULT = "West default" + NONE = "None" + + +class west_county(Variable): + value_type = Enum + entity = Household + possible_values = WestCounty + default_value = WestCounty.NONE + definition_period = YEAR + defined_for = "is_west_region" + label = "West region county group" + + def formula(household, period, parameters): + county = household("county", period).decode_to_str() + + p = parameters(period).household.county_group + + anchorage = np.isin(county, p.west.anchorage) + denver = np.isin(county, p.west.denver) + honolulu = np.isin(county, p.west.honolulu) + los_angeles = np.isin(county, p.west.los_angeles) + phoenix = np.isin(county, p.west.phoenix) + san_diego = np.isin(county, p.west.san_diego) + san_francisco = np.isin(county, p.west.san_francisco) + seattle = np.isin(county, p.west.seattle) + + conditions = [ + anchorage, + denver, + honolulu, + los_angeles, + phoenix, + san_diego, + san_francisco, + seattle, + ~( + anchorage + | denver + | honolulu + | los_angeles + | phoenix + | san_diego + | san_francisco + | seattle + ), + ] + results = [ + WestCounty.ANCHORAGE, + WestCounty.DENVER, + WestCounty.HONOLULU, + WestCounty.LOS_ANGELES, + WestCounty.PHOENIX, + WestCounty.SAN_DIEGO, + WestCounty.SAN_FRANCISCO, + WestCounty.SEATTLE, + WestCounty.WEST_DEFAULT, + ] + + return select( + conditions, + results, + default=WestCounty.NONE, + ) diff --git a/policyengine_us/variables/household/demographic/person/has_a_vehicle_loan.py b/policyengine_us/variables/household/demographic/person/has_a_vehicle_loan.py new file mode 100644 index 00000000000..38191684874 --- /dev/null +++ b/policyengine_us/variables/household/demographic/person/has_a_vehicle_loan.py @@ -0,0 +1,12 @@ +from policyengine_us.model_api import * + + +class has_a_vehicle_loan(Variable): + value_type = bool + entity = Person + label = "Has vehicel loan or lease" + definition_period = YEAR + + def formula(person, period, parameters): + total_mortage_expenses = person("vehicle_mortgage_expense", period) + return total_mortage_expenses > 0