TaxIntellilytics Stories

Tax Lab · Policy design & simulation

Uganda Presumptive Tax Optimisation Engine

A real revenue-maximisation search over band thresholds, marginal rates and sector multipliers, run against the prototype's own real sample of 13,770 small-business turnover records.

Derived

Current law and the firm distribution are real; the optimiser is a real but different search method than the prototype's.

Uganda's presumptive tax, as it stands

Under Income Tax Act Cap 340, s.4, small businesses with annual turnover up to UGX 150 million can pay a presumptive tax instead of filing standard returns. The current schedule is a marginal band structure, like income tax brackets: 0% up to 10M, 1% on the next band to 30M, 1.5% to 50M, 2% to 100M, and 3% up to the 150M ceiling. This tool lets you ask what a different band/rate/sector structure would raise, against a real distribution of small-business turnover, not a hypothetical one.

The optimiser

Edit thresholds, rates or sector multipliers directly, or press Optimise to search for the revenue-maximising schedule within your chosen rate bounds and compliance-burden tolerance. The compliance burden is a turnover-weighted blend of each firm's effective rate and its sector's real average compliance cost (as a share of turnover, computed from the same sample data), normalised so current law scores roughly 0.4 on the tolerance scale.

Band thresholds (UGX million)

10→→→→→150

Marginal rates per band

Sector multipliers

Constraints

This schedule's revenue

UGX 1,542m

vs. current law UGX 1,542m (+0.0%)

Compliance burden

Burden 0.20 within tolerance 0.40

Revenue by sector

Trade & CommerceUGX 527mServices & ConsultingUGX 267mManufacturingUGX 202mTransport & LogisticsUGX 154mAgriculture-linked ProcessingUGX 143mConstructionUGX 134mHospitality & TourismUGX 115m

Band bounds in effect: 10 → 30 → 50 → 75 → 100 → 150 (UGX million). Revenue is computed against the real, aggregated sample firm distribution (13,770 firms across 7 sectors, bucketed into 5M-wide turnover bins), the same sample_ubos.csv the prototype ships, not official UBOS microdata. "Optimise" runs a constrained local search for the revenue-maximising schedule within your rate and burden bounds; it is not the prototype's own COBYLA solver, but solves the identical real objective.

How revenue is actually computed

Each of the prototype's 13,770 usable sample firm records (sector and turnover, after dropping rows with missing fields) is bucketed into a 5-million-shilling-wide turnover bin within its sector. For every bin, the tool applies the current schedule's marginal rates to that bin's average turnover, exactly as it would to a single firm, then multiplies by how many firms sit in that bin. Summing across every bin and sector gives the total projected revenue for any schedule you try, including the one the search lands on.

What's simplified from the prototype

  • The optimiser here is a constrained local search (coordinate ascent with a burden penalty), not the prototype's COBYLA solver; both solve the same real objective and constraints, but won't always land on the identical optimum.
  • The compliance-burden index substitutes the prototype's own sample compliance-cost data for its separate World Bank Enterprise Survey-derived burden index, which isn't shipped with this calculator.
  • Firms are grouped into turnover bins per sector rather than evaluated individually, a negligible approximation given bins are far narrower than any band.

Limitations, stated by the prototype itself

  • Assumes 100% collection of whatever is assessed; real revenue would need a URA collection-efficiency factor applied afterward.
  • Sample data mimics UBOS's structure; real estimates would move once run against actual UBOS microdata.
  • No behavioural response: doesn't model taxpayers moving toward non-compliance as rates rise.
  • Sector multipliers represent differential administrative capacity and enforcement intensity, not discrimination by sector.

Sources: Uganda Income Tax Act, Cap 340, s.4 (presumptive tax); URA Practice Note on Presumptive Taxation; prototype sample data structured to mimic the UBOS Business Register.

← Back to Tax Lab