PermitPortal reference memo · AHJ intelligence
How jurisdiction feasibility scores are built
The evidence, rubrics, weights, arithmetic and confidence behind every AHJ score, with worked examples you can check against the public record.
Executive summary
Higher always means more favorable for development.
Each AHJ receives one composite score built from six category scores, and each category from the research flows beneath it. Every flow score is tied to cited evidence and a written rubric. Thin evidence is pulled toward neutral; missing evidence is excluded, never treated as favorable. Conditions that can stop a project cap the result after the weighted score is calculated. The weights depend on the asset class; this memo is showing utility-scale solar.
What is measured, and what is not
The score does not estimate how people feel. It measures what a jurisdiction has already done on the public record: how its bodies voted, what its ordinances say, whether residents organized, what they filed and said at hearings, how much comparable development it already carries, and what its grid, land and tax regime look like. Every input is a dated, citable act.
Counted
Roll-call votes and their tallies. Ordinance text, amendments and repeals. Named opposition groups, petitions, lawsuits by residents, recall efforts. Hearing turnout and public comment records. Projects operating, approved and queued. Published hazard, wetland, flood and tax data.
Not counted
Private opinion, polling, and conversations that never reach a record. A quiet board majority is invisible until it votes. A township that publishes little gets a low-confidence score, not a favorable one.
How a score is produced
Research, judgment and arithmetic are separate steps, so each can be checked on its own.
Research: collect cited evidence for each flow
A research agent works each flow separately across official records (minutes, agendas, ordinances, dockets, state filings), news and local social channels. It returns dated facts with source links, a completeness estimate and a source-quality label. Voting History and Water Sentiment use the deepest research tier, because they require reading months of minutes.
Judgment: score the evidence against a written rubric
A separate model scores each flow from the research output alone. It has no web access, so it cannot add evidence that is not cited. Each flow has anchors (for example, "0 binding ordinance constraints = 95, 1 = 80, 2 = 65"), and solar flows are scored in steps of 5 with the arithmetic written into the summary. The rubric changes with the asset class: for solar, only solar and comparable votes count, and the grid question is whether the project can export power, not whether the utility can serve load.
Adjust each flow for completeness
Thin evidence cannot move a score far. Each raw score is pulled toward a neutral baseline in proportion to how incomplete its evidence is. Neutral is 50 for every flow except Grid Readiness, which falls back to 35, because an absence of grid evidence is itself a warning. A flow with no score is excluded.
adjusted = neutral + completeness × (raw − neutral)Roll flows into categories, categories into the composite
Each category is a weighted average of its scored flows, and the composite a weighted average of the six categories, with weights renormalized over whatever was scored. This step is plain code, the same code that produces the number on the AHJ card.
category = Σ(adjusted × flow weight) ÷ Σ(weights of scored flows)Apply red-flag caps
A verified condition that can stop the project caps the composite; the tightest cap wins.
final = min(weighted composite, binding caps)Weights depend on the asset class
The same six categories matter differently to a data center and a solar farm. A jurisdiction researched for one asset class is researched again, on that asset's own terms, before it is scored for another.
| Category | Data center | Utility-scale solar | Battery storage | Industrial |
|---|---|---|---|---|
| Regulatory | 25% | 35% | 30% | 30% |
| Grid Readiness | 23% | 15% | 30% | 15% |
| Community | 15% | 30% | 25% | 25% |
| Water | 13% | — | — | 10% |
| Environment | 12% | 15% | 10% | 10% |
| Incentives | 12% | 5% | 5% | 10% |
Utility-scale solar: Approval path and community record dominate. Water is not scored. Data center moratoria do not bind.
The 16 flows, as scored for utility-scale solar
For each flow: the question it answers for solar, the evidence it reads, the rule that turns evidence into a number, and the result for one real jurisdiction, Ingersoll Township, Midland County, Michigan (scored September 2026). The share next to each flow is its weight in the whole solar composite.
Regulatory
35% of the utility-scale solar composite
Can you legally build here, and how fast?
Approval Simplicity
30% of category · 10.5% of compositeHow discretionary is the path to approve solar in the district where it would actually go (usually agricultural)?
- Evidence
- The adopted zoning ordinance and use tables; the state siting statute where one exists (Michigan PA 233).
- Rule
- Ranked: by right > administrative site plan > special use > conditional rezoning > rezoning plus overlay > solar absent from the ordinance. A viable state siting path counts as a simplification.
Ingersoll: Special use permit and site plan approval in the Agricultural district: 50, + 5 because projects of 50 MW or more can use the PA 233 state siting route. Zoning ordinance
Policy Favorability
30% of category · 10.5% of compositeIs local policy moving toward or away from solar?
- Evidence
- Solar ordinances, amendments and repeals, moratoria, acreage caps, overlay districts, and whether the township has a compatible renewable energy ordinance (CREO) under PA 233.
- Rule
- Data-center policy is excluded. A restrictive ordinance with no valid CREO scores more permissive than its text, because the state can site the project.
Ingersoll: Restrictive local permitting baseline 30, + 5 for a potential PA 233 state route. CREO status unconfirmed, so completeness is 0.3. April 2026 minutes
Entitlement Velocity
25% of category · 8.8% of compositeHow long does a complete solar application take to reach an approval?
- Evidence
- Filing and decision dates from minutes and dockets over 60 months, including continuances and re-notices.
- Rule
- Only approvals measure speed. Denials and withdrawals are excluded (they are scored in Voting History). With no local approval, fall back to wind or storage approvals here, then solar approvals in the county at half weight. With none, the flow is not scored.
Ingersoll: Not scored. No solar approval in 60 months; Poseyville ran Nov 2025 to Apr 2026 but ended in denial, which says nothing about approval speed.
Design Flexibility
15% of category · 5.3% of compositeHow many binding physical standards would a 50 MW+ layout have to meet?
- Evidence
- The adopted ordinance text: counted, not summarized.
- Rule
- Eight listed constraints (contiguity, acreage cap, setbacks ≥300 ft from dwellings, height ≤15 ft, mandatory berms, decommissioning surety ≥125%, solar absent from agricultural district, third-party ground-cover mandates). 0 = 95, 1 = 80, 2 = 65, 3 = 50, 4 = 35, 5 = 20, 6+ = 5. ±10 for a granted variance or a written no-waiver policy.
Ingersoll: One counted constraint: Section 9.1's contiguous-parcel rule, which the township used to deny Poseyville. 1 constraint = 80. Zoning ordinance
Grid Readiness
15% of the utility-scale solar composite
Can you get power, and at what cost?
Grid Readiness
60% of category · 9% of compositequestion replaced for generationCan this project inject power on a bankable schedule, judged from what is knowable before filing?
- Evidence
- Transmission lines near the township, RTO zone constraints, county queue depth, cluster upgrade costs, curtailment at nearby solar.
- Rule
- Start at 50. Nearest line within 5 miles: 345 kV +25, 138 kV +15, ≤69 kV +5, none −10. Documented zone export limit −20. Queue congestion −15 to +10. Upgrade allocation −15 to +10. Curtailment above 5% −10. An input not found is 0 and lowers completeness.
Ingersoll: 50 + 0 (no verified line within 5 miles) − 20 (reported MISO Zone 7 transfer constraint) + 0 for the three inputs not found = 30.
Power Economics
40% of category · 6% of compositequestion replaced for generationHow durable is the revenue from selling this power?
- Evidence
- Zone constraints, node-to-hub basis, curtailment, upgrade cost history, utility procurement plans.
- Rule
- Start at 50. Zone export problem −20. Basis within 5% +10, over 15% −15. Curtailment −15. Upgrades −15 to +10. Utility-owned or IRP-backed procurement +10. Declining capacity accreditation −5.
Ingersoll: 50 + 10 for utility solar procurement in the Consumers Energy territory; basis, curtailment and upgrade inputs not public, so completeness is 0.5.
Community
30% of the utility-scale solar composite
Will stakeholders fight you?
Voting History
35% of category · 10.5% of compositeHow have the deciding bodies voted on solar and comparable uses in the last 24 months?
- Evidence
- Minutes, agendas, roll calls and staff reports of the township board and planning commission.
- Rule
- Counts solar permits, rezonings, ordinance adoptions and repeals, and co-located storage. Wind and standalone storage count about half. Data center and warehouse votes are excluded. A repeal that removes the solar pathway counts as a denial.
Ingersoll: One qualifying vote, a 5-1 denial, so completeness is 0.33. April 2026 minutes
Public Opposition (Utility-scale solar)
20% of category · 6% of compositeIs there organized opposition to solar here?
- Evidence
- Named groups, petitions, referendum drives, neighbor litigation, hearing turnout and public comment records, local press.
- Rule
- Organized, named opposition weighs more than scattered comment. Opposition to data centers is scored in the industrial flow, not here.
Ingersoll: Sustained hostile turnout, a 5-1 denial and a later recall effort.
Market Saturation
20% of category · 6% of compositeHow much solar does the area already carry, in acres and in political tolerance?
- Evidence
- Operating, approved and pending projects; farmland already leased; queue positions at local interconnection points; adopted acreage caps.
- Rule
- Start from a headroom baseline and subtract for each project and queue signal, showing the arithmetic. Watch for the pattern where a county approves several projects and then caps or pauses.
Ingersoll: 75 − 10 − 5 = 60.
Social Sentiment
15% of category · 4.5% of compositeWhat is the net tone of local conversation about solar and farmland?
- Evidence
- Local Facebook groups and township pages (the main channel in rural townships), Reddit, X, Nextdoor, petitions, legal-defense fundraisers; weighed against landowner, farm bureau, chamber and building-trades support.
- Rule
- Anchored on intensity and escalation (fundraisers, recalls, lawsuits by residents), then adjusted for supportive signals.
Ingersoll: Petition campaign, legal-defense GoFundMe and recall activity outweighed narrower support.
Public Opposition (Industrial)
10% of category · 3% of compositeDoes this community oppose everything, or specifically solar?
- Evidence
- Hearing records on data centers, warehouses, wind, standalone storage, digesters, quarries and similar uses. Solar is excluded.
- Rule
- Same anchors as solar opposition, applied to other heavy uses.
Ingersoll: 0 of 2 commenters opposed the 2025 storage ordinance: the hostility is specific to solar.
Water
0% of the utility-scale solar composite
Will the bodies that approve water use let you draw it?
Water Sentiment
100% of category · not in compositeWill the bodies that touch this project's water (drain commissioner, stormwater permitting) create friction?
- Evidence
- Drain commissioner policies, erosion and stormwater permit requirements, groundwater rules.
- Rule
- Solar has no cooling load, so routine permitting with no objection scores high. Water limits aimed at data centers do not apply. Water carries 0% of the solar composite; it is shown for information.
Ingersoll: 90 routine posture − 5 for an unresolved drainage review = 85.
Environment
15% of the utility-scale solar composite
Are there physical or environmental constraints?
Environmental Clearance
65% of category · 9.8% of compositeWhat share of the township is constrained, from public layers?
- Evidence
- NWI wetlands, NRCS prime farmland, FEMA flood zones, county drain density, listed-species ranges, PA 116 farmland enrollment.
- Rule
- "Generally mitigable" is not a finding. 90 = at most one material layer; 70 = two; 50 = three, or any one above 25%; 30 = four or more; 10 = a site-killing constraint.
Ingersoll: Three documented layers (prime-if-drained soils, wetlands, floodplain) = 50, − 10 for PA 116 enrollment as a fourth = 40. Shares not quantified, which the summary states.
Hazard Exposure
35% of category · 5.3% of compositeWhich natural hazards drive insurance and hardening cost for a PV plant here?
- Evidence
- FEMA National Risk Index county scores and flood mapping.
- Rule
- Hail weighted most (the largest cause of catastrophic PV loss), then wind, tornado, flood, winter storm; seismic and wildfire minor.
Ingersoll: 100 − [0.30 × 76.0 hail + 0.20 × 92.1 wind + 0.15 × 80.3 tornado + 0.20 × 76.9 flood + 0.10 × 91.6 winter + 0.03 × 36.2 seismic + 0.02 × 32.6 wildfire] = 20.
Incentives
5% of the utility-scale solar composite
How heavy is the tax and cost burden?
Tax Burden
55% of category · 2.8% of compositequestion replaced for generationWhat does a generating asset carry in tax over a 30-year life?
- Evidence
- State solar tax statutes (Michigan PA 108), local millage against the state median, PA 116 recapture exposure, local per-MW fees.
- Rule
- Start at 50. By-right relief +15, negotiated only 0, none −10. Millage below median +15, above −15. PA 116 share −15 to +10. Local fee −15. Rate-reduction precedent +10.
Ingersoll: 50 + 0 (PA 108 relief is discretionary) + 15 (four of five rate areas below the 41.56-mill median) = 65.
Incentives
45% of category · 2.3% of compositeWhat local incentive or host-community precedent exists?
- Evidence
- State PILT or specific-tax regimes, signed host-community and road-use agreements in the township or county, local fees. Federal ITC and PTC are excluded because they are the same everywhere.
- Rule
- 95 by-right regime plus a local agreement precedent; 70 negotiated with a county precedent; 50 framework with no local precedent; 30 no relief plus fees; 10 punitive local fee.
Ingersoll: State framework (PA 108) with no local precedent and no local fee = 50.
A seventeenth flow, Governing Structure, records who decides (board composition, which body hears which application) and is shown on the AHJ page but never scored.
Worked example: one Community score, end to end
Ingersoll Township's Community score is 37.4. Every input below is on the AHJ page with its sources; the arithmetic reproduces the stored number exactly.
| Flow and evidence | Raw | Complete | Adjusted | Weight | Adds |
|---|---|---|---|---|---|
Voting History Planning Commission denied the 129 MW Poseyville Solar special use permit 5-1 on 20 Apr 2026. It is the only qualifying solar vote in 24 months, so completeness is one third. Sand-mining approvals were excluded as not comparable. April 2026 Planning Commission minutes | 15 | 0.33 | 38.5 | 35% | 13.5 |
Public Opposition (Utility-scale solar) Sustained, largely hostile turnout across the March and April 2026 hearings, then a recall effort against township officials in June. April 2026 public comment record | 15 | 0.75 | 23.8 | 20% | 4.8 |
Market Saturation 75 baseline (no operating or approved solar) − 10 for Poseyville's 626+ fenced acres − 5 for an active 175 MW county queue position = 60. Township project notice | 60 | 1 | 60 | 20% | 12 |
Social Sentiment A named petition campaign, a GoFundMe for the legal defense of the denial, and recall activity. Supportive farmer and building-trades voices exist but are much narrower. Change.org petition | 0 | 1 | 0 | 15% | 0 |
Public Opposition (Industrial) At the 2025 battery-storage ordinance hearing, 0 of 2 named commenters opposed. No organized action against any other industrial use was found. June 2025 Planning Commission minutes | 90 | 0.55 | 72 | 10% | 7.2 |
| Community score | 37.4 | ||||
Voting History is only one-third complete because there is a single qualifying vote, so the method deliberately does not let one denial read as a settled pattern: a raw 15 becomes 38.5.
From six categories to the solar composite
| Category | Score | Solar weight | Adds |
|---|---|---|---|
| Regulatory | 54.7 | 35% | 19.1 |
| Grid Readiness | 40 | 15% | 6 |
| Community | 37.4 | 30% | 11.2 |
| Water | 85 | not scored | — |
| Environment | 33 | 15% | 5 |
| Incentives | 58.3 | 5% | 2.9 |
| Solar composite (no red flag binds) | 44.2 | ||
Why one score is better than another
A higher score has to be explained by records that went the other way. Raisin Charter Township (Lenawee County, MI) and Iosco Township (Livingston County, MI) sit at opposite ends of the solar list.
| Flow | Raisin: raw → adjusted | Iosco: raw → adjusted |
|---|---|---|
| Voting History35% | 90 → 76.8 Planning Commission approved the Beecher Solar site-plan extension unanimously (Jun 2025) and its revised site plan 5-0 (Mar 2026). 100 approval anchor − 10 because both votes concern one project. March 2026 Planning Commission minutes | 10 → 10 Board tabled both solar rezonings in Oct 2025, adopted an ordinance requiring local applications before any state filing, then denied both rezonings 4-0 on 18 Dec 2025. December 2025 board meeting |
| Public Opposition (Utility-scale solar)20% | 90 → 52 One Beecher meeting had no public speakers at the opening comment period. No organized group was found. Almost no evidence, so the score barely moves off neutral. | 15 → 15 Packed hearings running more than three hours and a denial meeting of about 200 people, focused on farmland, rural character and property values. WHMI, Dec 2025 |
| Market Saturation20% | 65 → 65 85 baseline − 10 for approved Beecher − 5 for Rouget Road − 5 for Glacier Meadows = 65. | 35 → 35 The township already fought an 1,800-acre proposal, and Headland Solar adds about 2,375 participating acres in the county. |
| Social Sentiment15% | not scored No local social posts, petitions or escalation artifacts were verified. Not scored, so the flow drops out rather than counting as favorable. | 20 → 20 25 high-intensity anchor − 5 for unusually strong coordinated turnout and a unanimous defeat = 20. |
| Public Opposition (Industrial)10% | 85 → 50 Two gravel-pit hearing notices, neither documenting objections. Zero completeness, so it counts as neutral 50. | 100 → 50 No record of opposition to non-solar industrial uses. Zero completeness, so it counts as neutral 50. |
| Community score | 65 (Low confidence) | 21.5 (Medium confidence) |
Most of the gap is the votes. Raisin's planning commission approved solar twice; Iosco's board denied both rezonings 4-0 after hearings that drew about 200 people.
Silence does not earn points. Raisin had no verified social evidence, so Social Sentiment drops out rather than counting as favorable, and its opposition score of 90 rests on almost no evidence (completeness 0.05), so it counts as 52.
Confidence tells you how hard to lean on each. Raisin is Low confidence; Iosco is Medium. Read it as: Iosco is clearly hostile; Raisin looks favorable, mostly on the strength of two votes.
The score moves when the record moves. If an organized petition and a named opposition group appeared at Raisin's next hearing, solar opposition would go from 90 on 5% evidence to roughly 25 on 80% evidence, and Raisin's Community score would fall from 65 to about 60.
Score interpretation
The bands are descriptive labels, not probabilities of approval. Scores are built for ranking and comparing jurisdictions; a difference of a few points is not meaningful, because rubric anchors move in steps of 5.
Red-flag caps
A weighted average can hide a binary blocker. Caps stop strength in unrelated categories from averaging away a condition that can stop the project. A moratorium or prohibition caps a score only when it covers the asset class being scored: the research records what the enacting instrument actually covers, so a data center moratorium does not cap a solar score.
Confidence is separate from feasibility
Confidence says how much weight the score can bear, not whether the jurisdiction is favorable. It never changes the score. For each scored flow it multiplies three things the research reports, then averages across flows.
flow confidence = completeness × source quality × min(1, evidence items ÷ 5)High 0.70 and above
Broad, current evidence supports the scored pattern.
Medium 0.40 to 0.69
Useful directional evidence, with material gaps to review.
Low below 0.40
Treat the score as preliminary until missing evidence is resolved.
Example: Ingersoll's Voting History rests on one vote from official minutes plus news, so its confidence is 0.33 × 0.9 × 0.2 = 0.06, while its Market Saturation (complete, six evidence items, mixed sources) is 1 × 0.7 × 1 = 0.7. Averaged over its scored flows, Ingersoll is 0.569 (Medium).
Refresh, history and reproducibility
Refresh
Jurisdictions on a watch list are re-scored every week; others are re-scored on request. Between scoring runs, monitoring reads new agendas, minutes, filings and local news and attaches dated events to the jurisdiction and to affected projects.
History
Every run is saved as a snapshot, so the trend of each flow and category can be inspected. Trends only compare snapshots researched for the same asset class; a switch from data center to solar research is a change of question, not a change in the jurisdiction.
Stability
Weekly re-runs receive the previous snapshot as context, which damps run-to-run drift: a change in a flow score should trace to a change in its evidence, and the flow summary says what the new evidence is.
Checking a score
Every flow on the AHJ page shows its raw score, completeness, summary with any arithmetic, and the source links it relied on. Any number on the card can be rebuilt by hand from those, as in the worked example above.
Scores against outcomes
Every Michigan township scored under the solar profile, ranked by Community score, next to what happened to the utility-scale solar project there.
| Township | Community | Solar score | Confidence | What happened |
|---|---|---|---|---|
| RaisinLenawee County | 65 | 56 | Low | Beecher Solar approved; revised site plan approved 5-0 (Mar 2026) |
| TurnerArenac County | 44.5 | 48 | Medium | Au Gres Solar: Planning Commission recommended approval; organized opposition forming |
| EscanabaDelta County | 43.3 | 48 | High | Barron Farms rezoning: one parcel approved, six denied |
| IngersollMidland County | 37.4 | 44 | Medium | Poseyville Solar special use permit denied 5-1 (Apr 2026); on appeal |
| ChesaningSaginaw County | 35 | 46 | High | Northwood Solar denied 3-2 (2024); settlement approved 7-0 |
| ArthurClare County | 31 | 48 | Medium | Cedar Fields still in local review after repeated hearings; a solar ordinance section was repealed in 2026 |
| IoscoLivingston County | 21.5 | 32 | Medium | Both solar rezonings denied 4-0 (Dec 2025) |
Limitations
The public record, not private opinion
The score sees what reaches minutes, filings, press and public social channels. It cannot see landowner negotiations, a board majority that has not voted, or sentiment nobody records.
Judgment is constrained, not removed
Rubric scoring is done by a model applying written anchors to cited evidence, with arithmetic shown. That makes each score checkable, but two runs on the same evidence can still differ by an anchor step. Confidence and the flow summaries are there to expose this.
Coarse steps
Scores are quantized: solar flows in steps of 5, data center flows on anchors of 0, 25, 50, 75 and 100. Rank and compare; do not read decimals.
Uneven records
Some jurisdictions publish far more than others. Low confidence can reflect a thin record rather than an unfavorable jurisdiction.
Current conditions
Ordinances, boards, queues and sentiment change. Check the snapshot date and re-score before a major commitment.
Jurisdiction, not site
Parcel geometry, interconnection, adjacency, project design and timing can change the result for an individual site. Site screening and due diligence cover that.