Shortly after the #MeToo Movement thrust issues of workplace harassment into the public spotlight in late 2017, my colleague and I began to investigate how well the nation protects victims of discrimination on the job. To that end, we analyzed eight years of complaint data from the federal Equal Employment Opportunity Commission as well as its state and local counterparts, reviewed hundreds of court cases and interviewed dozens of people who filed complaints. What emerged was a picture of a system that routinely fails workers. I made the code and data behind the story’s analysis publicly available on GitHub. The story was published in partnership with Vox.
Tools used: Excel, Git/GitHub, Python.
As the first year following enactment of President Donald Trump’s tax bill came to a close, my colleagues and I investigated what role, if any, major GOP donors may have played in ensuring the bill’s passage. Some big-time Republican money men had made public pronouncements that they’d turn off the cash spigot should their party’s Congressional majorities fail to deliver tax reform. Many of these same big-money donors were among those Americans tax experts pegged to reap windfalls in tax savings from the law. I made the code and data behind the story’s analysis publicly available on GitHub. The story was published in partnership with Mother Jones.
Tools used: Excel, Git/GitHub, Python, SQL.
With 2018 midterm campaigns in full swing, my colleague and I investigated the extent to which out-of-state donors were influencing the course of state and local elections, all the way down to the state legislative level. We found that the amount of of-out-state money flowing to these races was surging, topping more than $173 million with a month to go before races were decided. And unlike prior years, Democratic candidates were out-raising their GOP opponents. This windfall in contributions from non-constituent sources raised questions about whether some newly-elected officials might be beholden to outsiders. We explored this issue, an especially salient one since much of the money came from out-of-state corporate PACs, in the story. I made the code and data behind the story’s analysis publicly available on GitHub and wrote a detailed methodology.. The story was published in partnership with USA TODAY.
Tools used: Excel, Git/GitHub, Python
As the cost of Medicaid ballooned following its expansion under the Affordable Care Act, my colleagues and I investigated the extent to which drug companies sway states to profit off the program. We found that pharmaceutical companies had infiltrated nearly every part of the process that determines how their drugs will be covered by taxpayers: giving free dinners and consulting gigs to many doctors on the obscure committees advising state Medicaid programs; asking speakers who don’t disclose their financial ties with drug companies to testify about their drugs; and paying for state Medicaid officials to attend all-inclusive conferences where they can mingle with drug representatives. I made the code and data behind the story’s analysis publicly available on GitHub and wrote a detailed methodology. The story was published in partnership with NPR and won a Gerald Loeb Award for Distinguished Business and Financial Journalism.
Tools used: Excel, Git/GitHub, Python, SQL.
As politicians in Washington took the first steps toward repealing the Affordable Care Act, my colleague and I investigated the potential impact of the law's repeal on San Diego County residents. We augmented the voices of regular people, public health experts and elected officials with data analysis and interactive elements to examine what was at stake in the repeal debate. Using data from two state-level departments and the Census Bureau, I was able to show that one in nine residents could lose their health insurance. We told the story through text, audio, video, an interactive chart, a searchable database and interactive maps.
Tools used: DataTables, Excel, Highcharts, Leaflet, QGIS.
By crunching data from the Census Bureau's 2006-10 and 2011-15 American Community Survey data sets, I revealed that a higher proportion of San Diego County residents were living in poverty during the Great Recession's "recovery" than during the recession itself and the years that bookended it. Because I wanted to measure the changes in poverty on a census tract-level for the story and the interactive map I built for it, I had to calculate whether the change in poverty for each tract was statistically significant. I told the story through text, audio, interactive charts and an interactive map.
Tools used: Excel, Google Fusion Tables, Google Fusion Tables Searchable Map Template, Highcharts, QGIS, SQL.
I used a mix of data analysis, document digging and on-the-ground reporting to shine a light on the funds powering one side of a county ballot measure campaign. I followed the money trail behind a six-figure donation from a nonprofit with a checkered record that refused to disclose its source of funds. The donation served as a test case for new state regulations policing the political activities of nonprofits. This in-depth story stemmed from earlier reporting of mine on the hard-fought campaign and was followed by a lawsuit and investigations by California's elections watchdog, all of which I reported on. I told the story through text, audio, video and interactive charts.
Tools used: Excel, Highcharts, QGIS.
In the midst of a contentious local debate over whether San Diego should raise its minimum wage, my colleague and I investigated the city's decade-old living wage law for government contractors. We wanted to test both whether the law had hurt businesses as its critics contended and also whether the city was adequately enforcing it. By cleaning, standardizing and analyzing several decade-old data sets acquired through public records act requests, I was able to prove that it didn't hurt city contractors and that the city had room for improvement when it came to enforcement. We told the story through text, audio, video, an interactive chart and a searchable database.
Tools used: DataTables, Excel, Highcharts, OpenRefine, SQL.
A freelance web developer and I built this news app that allows users to search contributions to candidates, ballot measures and independent committees in the city of San Diego. The app automatically updates every morning with data that was previously locked away in an Excel file on the city clerk's website. I wrote custom Python code to grab the file from the web, parse and clean it and repackage it for uploading to our server. I also wrote a detailed explainer of San Diego's campaign finance regulations so users would better understand how to use the app.
Tools used: CSS, Django, Excel, HTML, Python.
Despite tens of millions of dollars in infrastructure upgrades, San Diego's repair crews are in a perennial battle to keep the city's water in its pipes. With this story, I showed that water mains in San Diego broke 306 times in a little under four years, wasting an estimated 35 million gallons of water. My analysis revealed that most breaks were occurring in a type of pipe whose replacement the city had only recently begun to address. By combining data from the city's Public Utilities and Risk Management Departments, I was also able to reveal the city had paid out nearly $9.8 million in break-related claims and cleanup fees in that period. I told the story through text, audio, video, an interactive chart and an interactive map.
Tools used: Excel, Google Fusion Tables, Google Fusion Tables Searchable Map Template, Plotly, SQL.
San Diego County stores sell more than $300 million in lottery tickets annually. Who's buying them and where does the money go? By combining store-level sales data from the State Lottery with American Community Survey data from the Census Bureau, I was able to disprove the myth that a disproportionate number of tickets are sold in low-income areas. I also revealed how much local school districts receive in lottery money. I told the story through text, audio, a searchable database and an interactive map.
Tools used: DataTables, Excel, Google Fusion Tables, Google Fusion Tables Searchable Map Template, QGIS, SQL.
I reported this story shortly after the high-profile Measles outbreak at Disneyland. I showed that nearly 8 percent of San Diego County’s kindergarteners are not up-to-date on their vaccinations. I pinpointed the kindergartens with the highest vaccination exemption rate and, by combining data from the state Departments of Education and Public Health, was able to disprove the myth that it was the least-educated parents who were opting not to vaccinate their children. I told the story through text, audio, video, a searchable database and an interactive map.
Tools used: DataTables, Excel, Google Fusion Tables, Google Fusion Tables Searchable Map Template, SQL.
By building and comparing a database of political action committee (PAC) contributions to Democratic Representative Scott Peters' 2014 reelection campaign with a database of PACs that had donated to Republican incumbent Brian Bilbray in 2012, I was able to show that one hundred PACs that had donated to his opponent in 2012 were donating to Peters now that he was the incumbent. In his 2012 race, Peters had criticized Bilbray's reliance on these same donors. Further analysis of the data revealed many of the PACs that had switched were those of defense contractors with business before the House Armed Services Committee on which Peters sat. I told the story through text, audio and searchable databases.
Tools used: DataTables, Excel, SQL.
The Small Business Administration is tasked with supporting small businesses' formation and growth by guaranteeing bank loans to them. I took a look to see whether the recipients of SBA-backed loans in the San Antonio metro area reflected the region's diversity. As it turned out, they didn't. By analyzing five years of Small Business Administration data, I revealed that — in a metro area with a non-white population of 64 percent — just 44 percent of Small Business Administration loans went to minority-owned businesses. And, by combining that data with neighborhood-level statistics from the Census Bureau, I further showed that barely a quarter of loans went to businesses located in poor- and moderate-income areas.
Tools used: ArcMap, Excel, SQL.
Following a hard-fought sheriff's race in which departmental budget overruns featured prominently, my colleague and I investigated claims of out-of-control overtime at San Antonio's Bexar County jail. By analyzing several different data sets, we revealed the facility's staffing crisis was exacerbated by chronic absenteeism among a handful of jailers. We dug into the data to show how, over a three-year period, just 2.7 percent of jailers accounted for 12 percent of the department's 861,842 hours of absenteeism. We proved the absenteeism was mishandled by the former sheriff, forcing more deputies to work extra shifts and causing a huge increase in overtime costs.
Tools used: Excel, SQL.
As Barack Obama and Mitt Romney were on their way to raising record amounts of money in the 2012 presidential race, I investigated how the candidates were doing so in San Antonio. By analyzing contribution-level data from the Federal Election Commission, I was able to show that while Romney outraised Obama, the president had many more individual donors. Furthermore, I discovered the candidates were raising money in dramatically different ways: in Romney's case, a relative handful of donors were cutting four-figure checks while Obama was heavily reliant on many more donors repeatedly making small contributions. And, by geocoding donor addresses and combining that information with data from the Census Bureau, I was able to show that nearly a quarter of the funds raised in the race came from the wealthiest 25 census tracts in the eight-county metro area.
Tools used: ArcMap, Excel, SQL.
It's no secret that housing is the greatest regular expense for most Americans. With San Antonio's housing market several years down the road to recovery from its depths during the Great Recession, I set out to learn just how much of a burden rising rents and mortgage payments were for the region's residents. To get the story, I analyzed multiple sets of income, rental and mortgage survey data from the US Census Bureau. My analysis revealed that the proportion of San Antonio area households spending at least half their incomes on housing costs had nearly doubled in a decade.
Tools used: Excel, Google Fusion Tables, SQL.
High gas prices aside, have you ever wondered whether you were getting what you paid for at the pump? I analyzed a year's worth of state inspections data to reveal that nearly one in five gas stations in the San Antonio metro area were operating at least one pump that could stiff customers, shortchanging motorists by as much as $3 per fill. Despite the frequent pump failures, my analysis showed that fewer than one in three failing stations were fined and that not a single station had ever faced criminal prosecution.
Tools used: Caspio, Excel, Google Fusion Tables, SQL.