Advanced Research in Government Operations

[A]dvanced [R]esearch in [G]overnment [O]perations (“ARGO”) is a startup nonprofit that builds, operates and maintains pioneering data infrastructure to transform how water reliability, street quality or other basic public services are delivered.

A rough ontology of California's drought-inspired water usage data

As part of his drought executive order, the Governor instructed the State Water Resources Control Board to "request by June 15 [2014] an update from urban water agencies on their actions to reduce water usage and the effectiveness of these efforts." 

This Water Board has collected water usage data from urban utilities and conservation responses under the following categories (verbatim from the official state data available here):

  • Supplier Name
  • Stage Invoked
  • Mandatory Restrictions
  • Reporting Month
  • Total Monthly Potable Water Production 2014
  • Total Monthly Potable Water Production 2013
  • Units
  • Qualification
  • Total Population Served
  • REPORTED Residential Gallons-per-Capita-Day (R-GPCD) (starting in September 2014)
  • Optional - Enforcement Actions
  • Optional - Implementation
  • Optional - Recycled Water
  • Recycled Water Units
  •  CALCULATED Production Monthly Gallons Month 2014 
  •  CALCULATED Production Monthly Gallons Month 2013 
  • CALCULATED R-GPCD 2014 (Values calculated by Water Board staff using methodology available at http://www.waterboards.ca.gov/waterrights/water_issues/programs/drought/docs/ws_tools/guidance_estimate_res_gpcd.pdf)
  • CALCULATED R-GPCD 2013 (Values calculated by Water Board staff using methodology available at http://www.waterboards.ca.gov/waterrights/water_issues/programs/drought/docs/ws_tools/guidance_estimate_res_gpcd.pdf)
  • % Residential Use
  • Comments/Corrections
  • Hydrologic Region

Frustratingly, many of the actions beyond mandatory restrictions aren't available in a computationally meaningful format, which makes it difficult to evaluate the "effectiveness of their effort" to conserve water per Governor Brown's instructions. Consider the unique responses in the "stage invoked" field in the data provided:

In [4]: waterData['Stage Invoked'].unique()

Out[4]: array(['Moderate', 'Severly Restricted', 'Severely Restricted',
       'Severely Restricted ', 'Stage 1', 'Permanent Restrictions Only',
       'Stage 1 Shortage', 'Imminent Shortage',
       'Imminent Water Supply Shortage', 'Immanent Shortage', '3', '1',
       'stage 1', 'Level 2', 'Stage 2-Water Shortage Emergency Warning',
       'Stage 2 - Water Shortage Emergency Warning', 'Stage 2', 'Stage 3',
       'Stage 3 Water Warningate',and many more], dtype=object)

Bit of a ball of wax, eh?  Unfortunately the SWRCB doesn't provide a definition of stages 1,2,3,4,5 actions (maybe these phrases are unique to each agency?).  As a result, the analysis of conservation actions in the official SWRCB presentation and the Association of California Water Agencies' drought conservation action map focus simply on mandatory water restrictions yes or no, which fails to capture the above nuance and other actions such as rate structure changes.

I put together a quick histogram comparing December 2013 and 2014 gallons per capita per day (GPCD) usage across water utilities that imposed mandatory restrictions and those that did not.  The mean usage decreased 12.8 GPCD from 2013 to 2014 for utilities without mandatory restrictions and 23.4 GPCD for utilities with mandatory restrictions.  

This obviously is NOT a complete analysis (ignoring for instance a longer historical usage timeline) but is intended to illustrate what's possible with the current data to showcase the need for making other information the Water Board is collecting more accessible.  

[Hit play with this data for better, full size viewing]

December 2013 versus 2014 Gallons per capita per day of water utilities with mandatory restrictions

The "enforcement actions" field offers tantalizingly rich information on conservation steps to better answer the Governor's call but (so far as I am aware) no one has taken the step of standardizing that information into categories meaningful for evaluation.  Consider the following example response from the Monte Vista Water District:

MVWD has held two Drought Response Clinics, where over 150 customers received one-on-one conservation program assistance and bilingual gardening mini-classes and demonstration garden tours. One more clinic and additional public events are scheduled for the coming months. MVWD has begun implementing a special nozzle direct install program targeting those charged penalty rates through MVWD’s budget-based tiered rate structure. MVWD is currently exceeding its 20% urban water use reduction requirement as called for under SBX7-7 (2009).

Water is a complex issue and actions need a lot of local context.  That said, why not report what type of water rate structure a utility uses (such as a flat or tiered volumetric or a water budget)?  Further why not note any rate structure changes and the "typical" rate paid by a 200ccf single family home?

The California Public Utilities Commission collects rate data from private water companies but note the data is formatted in pdf -- and one for each utility no less!  Making analysts dig through dozens of pdf to get simple data points isn't a good use of public resources.  Further there's still the question of public water utilities, which serve the bulk of California's cities.

In addition, several utilities mention using "apps" to communicate conservation messages to the public.  Why not have those listed clearly?  Sure it's possible to do some text parsing but this could easily be broken out as a specific category.  For what it's worth, here's what a simple text parse of "app" in the "Enforcement Actions" field returns:

In [36]: appList = []

for action in waterData['Optional - Enforcement Actions']:
    if "app" in str(action):
        addAgency = waterData['Supplier Name'][waterData['Optional - Enforcement Actions'] == action].values[0]
        if addAgency not in appList:
            appList.append( addAgency )

for city in appList:
    print city

Out [36]:
Santa Rosa  City of
Yuba City  City of
Camarillo  City of
Rancho California Water District
Oceanside  City of
San Diego  City of
Exeter  City of
San Bernardino  City of
Sacramento  City of
Moulton Niguel Water District
South Coast Water District
Las Virgenes Municipal Water District
Valley County Water District
Padre Dam Municipal Water District
Pasadena  City of

There's a big opportunity to make this data more useful to California's water community in the ongoing Urban Water Management Planning process.  The 2010 reports are available publicly on the Department of Water Resources webpage and contain a wealth of information but are only available as pdfs.  

Why not take that effort to the next level and take a quantum leap in how California's water utilities manage their data?

Print Friendly and PDF