opencivicdata / docs.opencivicdata.org

Open Civic Data project documentation
https://open-civic-data.readthedocs.io
44 stars 33 forks source link

Adding support for positions on ballot measures #79

Closed gordonje closed 7 years ago

gordonje commented 7 years ago

Came about as a result of dialogue between @aepton, @fgregg and myself.

What's missing in the current campaign finance proposal is the ability to model relationships between campaign finance committees and the ballot measures they support or oppose.

This is also related to the elections OCDEP we are discussing in PR #64.

fgregg commented 7 years ago

LGTM. @jpmckinney ?

jpmckinney commented 7 years ago

Is 'position' the common term for this? Just want to double-check before merging. 'position' can also mean office/post (which is confusing in the context of a ballot) and ordering. I've also seen 'endorsement'.

fgregg commented 7 years ago

I haven't seen a really common term for this. 'Endorsement' won't work because we want to track things like pac that spend money to oppose a candidacy or ballot measure.

gordonje commented 7 years ago

Is 'support_or_oppose' off the table? Those are the terms I've seen in the few states where I've culled through the filing forms.

Or maybe 'stance'?

jpmckinney commented 7 years ago

Re: support_or_oppose, some ballots are multiple choice though, right, not just yes-no?

jsfenfen commented 7 years ago

FWIW, federal elections in the U.S. allow "electioneering communications" which require you to list the names http://www.fec.gov/pdf/forms/fecfrm9.pdf of candidates mentioned (and the name of "the communication"), but not say what position you took and whether it supported or opposed the candidates (this type of ad is less than "express advocacy", so the magic words https://en.wikipedia.org/wiki/Eight_Magic_Words aren't uttered).This is a much less common way of spending money than it used to be, but wouldn't surprise me if some states allowed something like this as well.

I really like the approach here because I think this would be accommodated--just give it a designation of 'electioneering' and be done, I hope?

On Thu, Feb 23, 2017 at 7:53 PM, James McKinney notifications@github.com wrote:

Re: support_or_oppose, some ballots are multiple choice though, right, not just yes-no?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/opencivicdata/docs.opencivicdata.org/pull/79#issuecomment-282197113, or mute the thread https://github.com/notifications/unsubscribe-auth/AAnAJCS90Zx7wETw-iW4r1rcOq0P2M_-ks5rflQ4gaJpZM4MJNBf .

gordonje commented 7 years ago

@jpmckinney Looks like there are indeed several examples of multiple-choice referenda in places like Sweden, Australia, New Zealand and Newfoundland. Gotta admit: I didn't know that before today.

In these cases, campaign finance entities probably advocate for a specific option, but can they advocate for more than one option? And their declared stance on any option is always one of support, rather than opposition right? Surely there's never a meaningful distinction from being pro-Option A and being anti-Options B and C.

If we need to support linking a campaign finance committee to a specific option, then we might reconsider keeping BallotSelection (or something like it) in the elections proposal. This idea was ported over from VIP where it's intended to represent the exact options that appear before voters on their respective ballots, including the exact ballot name, display order and wording.

I think we all agree that we aren't in the game of modeling these fine details of every version of a ballot right now (maybe not ever). But maybe we do need to stake out something like the selections (call them 'options' or 'choices' or whatever) which will serve two purposes:

  1. Provide a reference from a campaign finance committee to a specific outcome the committee is campaigning for or against.
  2. Provide something to which vote counts can later be linked to represent the results of the election contests.

Alternatively, we could do something more freeform, as proposed with designations. So rename Committee.contest_positions back to Committee.contest_designations and rename the position property to designation and change it from enum to string, allowing for values like "Supporting Option A".

gordonje commented 7 years ago

@jsfenfen You've got me thinking more about how we describe, on a transaction-level, what position a committee took as a part of an expense/disbursement. In California, for instance, on schedule d of form 460, committees are required to say a donation or independent expenditure was intended to support or oppose a specific candidate or ballot measure.

Here are some examples of what that looks like:

ie_cap contrib_cap

It's not quite the same thing as the Transaction.recipient property we currently have. More like who benefits or is hurt by the expense. For IEs not sure we can even expect to always know which vendor gets the money.

I'm not advocating for adding something like transaction-level designations just yet. Feeling like we need to learn more by trying to implement this current proposal in the cal access project.

What I feel we definitely do need right now is the ability to somehow link committees to specific ballot measures, in addition specific candidates.

fgregg commented 7 years ago

Hrmm...

For candidate contests, the following makes a ton of sense to me

committee -- candidacy --- support or oppose

It would seem that the analog for ballot measures would be

committee -- balllot measure option -- support or oppose

This would seem pretty redundant for measures where there the only options are support or oppose.

committee -- (yes on BM 20) -- support

but, I think that's okay.

However, I think we don't want the "ballot measure option" to be BallotMeasureSelection In my understanding, that describes a concrete representation of an option as appears on a ballot. What we want is a class that stands in the same relation to BallotMeasuresSelection as Candidate stands to CandidateSelection.

I would suggest

BallotMeasureOption.

jsfenfen commented 7 years ago

@gordonje So this sorta thing is one reason some stuff doesn't carry over national boundaries super well. For decades, third-party spending in the U.S. has been classified into two (or maybe three) categories: express advocacy (which generally uses the magic words) and pretty much always either supports or opposes a candidate; and issue ads, which may be electioneering, but doesn't meet the express advocacy test. (A third category are issue ads outside--in the fed races they're aired outside the electioneering window (more than 60 days before a general election, etc. etc. etc.) but since they're not reported to the authorites it's not a problem here...).

I'm not super clear on the legal specifics, but generally because the supreme court has settled lotsa things in a way that states respect there's almost always a support or oppose to anything that is express advocacy (because supporting or opposing someone is basically written into the definition of what that is...)...

gordonje commented 7 years ago

@fgregg Your summary helped clarify for me that committees need to be linked directly to the candidacies, not the candidate contests or some more generic version of candidate selections. I've got some comments/forthcoming changes over in PR 64 related to this.

Would it be better to allow separate properties for listing a committee's candidacy designations and its ballot measure option positions?

The only thing this doesn't cover is the designations/positions the committee may have in party contests. I not familiar with examples of this sort thing in campaign finance. If we were to support, I suppose we could then add Committee.party_contest_designation.

Also wondering if we actually need a data type for ballot measure options with an identifier. I feel like there's no way to avoid this at point you add in election results, but maybe just kick that can down the road for now.

fgregg commented 7 years ago

Would it be better to allow separate properties for listing a committee's candidacy designations and its ballot measure option positions?

This sounds good actually.

Also wondering if we actually need a data type for ballot measure options with an identifier. I feel like there's no way to avoid this at point you add in election results, but maybe just kick that can down the road for now.

Sure, let's look look at an implementation without ids.

jpmckinney commented 7 years ago

I seem to have forgotten about this. Does the commit still reflect the desired changes or has the discussion led elsewhere?

gordonje commented 7 years ago

@jpmckinney I believe it's still the best proposal for the problem: Modeling which ballot measure option(s) a campaign finance committee supported, separate from which candidate they support/oppose.

jpmckinney commented 7 years ago

Looks good :)