Skip to content

Apply Arkansas HB1001 (2026 1st Extraordinary Session) individual income tax rate cuts#8245

Draft
DTrim99 wants to merge 2 commits intoPolicyEngine:mainfrom
DTrim99:ar-hb1001-2026-rates
Draft

Apply Arkansas HB1001 (2026 1st Extraordinary Session) individual income tax rate cuts#8245
DTrim99 wants to merge 2 commits intoPolicyEngine:mainfrom
DTrim99:ar-hb1001-2026-rates

Conversation

@DTrim99
Copy link
Copy Markdown
Collaborator

@DTrim99 DTrim99 commented May 7, 2026

Summary

Implements Arkansas HB1001 (2026 First Extraordinary Session) Section 1, which reduces the individual income tax rates effective for tax years beginning on or after January 1, 2026. Closes #8244.

Corporate rate changes in Sections 2–3 of the bill are out of scope for this PR.

Statutory authority

A.C.A. § 26-51-201(a)(4) as amended by HB1001.

Bill schedules

(a)(4)(A) — Net income ≤ $94,700

Bracket Threshold Rate (2026) Rate (2025)
1 $0 0% 0%
2 $5,600 2% 2%
3 $11,200 3% 3%
4 $16,000 3.4% 3.4%
5 $26,400 3.7% 3.9%

(a)(4)(B) — Net income > $94,700

Bracket Threshold Rate (2026) Rate (2025)
1 $0 2% 2%
2 $4,701 3.7% 3.9%

(a)(4)(C) — Bracket adjustment for net income $94,701 – $97,600

A new bracket-adjustment schedule that reduces the (a)(4)(B) tax due by amounts ranging from $290 (at $94,701 – $94,800) down to $10 (at $97,501 – $97,600), in $10 / $100 steps.

Files changed

  • policyengine_us/parameters/gov/states/ar/tax/income/rates/main/rate.yaml — added 2026-01-01 entries; top bracket rate 3.9% → 3.7%.
  • policyengine_us/parameters/gov/states/ar/tax/income/rates/main/reduction.yaml — added 2026-01-01 entries to all 35 active brackets; deactivated 3 brackets that no longer apply.
  • policyengine_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits_indiv.yaml — added 10 integration tests covering all 2026 brackets, the (a)(4)(A)/(B) boundary, and the bracket-adjustment range.
  • changelog.d/ar-hb1001-2026-rates.changed.md — changelog fragment.

Reduction-amount derivation

PolicyEngine's AR formula is tax = top_rate * income - reduction. Under the bill's marginal schedule the reduction at high income equals $4,700 × (3.7% − 2%) = $79.90. The reduction at each (a)(4)(C) row is the bill's bracket-adjustment plus this $79.90 base — e.g. $290 + $79.90 = $369.90 at $94,701; $10 + $79.90 = $89.90 at $97,501; $0 + $79.90 = $79.90 at $97,601 and above.

For the (a)(4)(A) brackets the reduction is the cumulative impact of the lower marginal rates: $112 / $224 / $288 / $367.20 at thresholds $5,600 / $11,200 / $16,000 / $26,400 respectively.

Test plan

  • CI passes
  • New 2026 YAML tests verify low-income, mid-income, boundary, bracket-adjustment, and high-income cases
  • Existing 2022 / 2023 tests still pass (no rate or threshold changes for those years)

DTrim99 added 2 commits May 7, 2026 13:40
…x rate cuts

Updates Arkansas individual income tax rates for tax year 2026 per
A.C.A. § 26-51-201(a)(4) as amended by HB1001:

- Top marginal rate: 3.9% -> 3.7% (rate.yaml)
- Bracket thresholds align with bill (a)(4)(A): $5,600 / $11,200 /
  $16,000 / $26,400
- Bracket-adjustment table (a)(4)(C) refreshed for income $94,701 -
  $97,600; high-income (a)(4)(B) tail value updated from $89.30 to
  $79.90 (reflecting $4,700 * (3.7% - 2%))

Closes PolicyEngine#8244
# Conflicts:
#	policyengine_us/parameters/gov/states/ar/tax/income/rates/main/rate.yaml
#	policyengine_us/parameters/gov/states/ar/tax/income/rates/main/reduction.yaml
#	policyengine_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits_indiv.yaml
@codecov
Copy link
Copy Markdown

codecov Bot commented May 7, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 70.55%. Comparing base (623a65c) to head (a99541c).
⚠️ Report is 136 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##              main    #8245       +/-   ##
============================================
- Coverage   100.00%   70.55%   -29.45%     
============================================
  Files           12     4715     +4703     
  Lines          173    68522    +68349     
  Branches         4      345      +341     
============================================
+ Hits           173    48346    +48173     
- Misses           0    20176    +20176     
Flag Coverage Δ
unittests 70.55% <ø> (-29.45%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@DTrim99
Copy link
Copy Markdown
Collaborator Author

DTrim99 commented May 7, 2026

PR Review

Cross-checked the parameter values against the official HB1001 PDF (Section 1, A.C.A. § 26-51-201(a)(4)) and re-derived the reductions algebraically. The implementation is correct.

Verification

Check Result
(a)(4)(A) brackets & rates ($0/$5,600/$11,200/$16,000/$26,400 at 0/2/3/3.4/3.7%) Match bill
(a)(4)(B) brackets ($0/$4,700 at 2/3.7%) Match bill
(a)(4)(C) bracket-adjustment table — all 30 rows ($94,701→$290 down to $97,501→$10, $97,601→$0) Match bill
Base high-income reduction = $79.90 = 0.037·X − (0.02·4,700 + 0.037·(X−4,700)) Algebraically correct
(a)(4)(A) reduction at $26,400 = $367.20 (cumulative $112 + $144 + $353.60 of lower-rate savings) Correct
All 10 new test outputs Independently re-derived, all match
References in rate.yaml and reduction.yaml metadata Added, point to authoritative bill PDF
Changelog Present, changed type appropriate
CI Passing (only codecov/project soft-fail)

Critical (Must Fix)

None.

Should Address

None.

Suggestions

  1. Boundary discontinuity at $94,700 ↔ $94,701 — the (a)(4)(C) $290 adjustment causes tax to decrease by $2.66 ($3,136.70 → $3,134.04) when crossing the threshold. This is by the bill's design (the adjustment is calibrated to smooth what would otherwise be a ~$287 jump under raw (a)(4)(B)). The boundary tests at $94,700 / $94,701 / $97,600 / $97,601 already cover this, but a brief note in the test file or reduction.yaml description explaining that the slight reverse-step is intentional could help future maintainers.

  2. Optional extra boundary tests — coverage at the exact (a)(4)(A) bracket edges ($5,600, $11,200, $16,000) would round out the new test suite, though existing in-bracket tests already exercise the cumulative reductions.

  3. Pre-existing rounding (out of scope) — the 2025 high-income reduction is $89 but should be $89.30 (analogous to the new $79.90 for 2026). Not introduced by this PR; flagging only because the new value sets a more precise precedent.

Recommendation

Approve. Math, references, and tests are solid.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Arkansas: implement HB1001 (2026 1st Extraordinary Session) individual income tax rate cuts

1 participant