At the end of the year, I took a look at whether Alice really had a significant impact on patents as a whole. The answer was that Alice simply doesn’t affect that many patent applications. But several important questions were left unanswered. I also wanted to know whether the affected applications are really being affected by Alice, or if there are other reasons those applications might have been rejected.
We can take a look at that using BigQuery.
Determining The Ultimate Outcome Of Applications Receiving A § 101 Rejection At Some Point In Prosecution
Applications Rejected Under § 101 And Eventually Abandoned#standardSQL
SELECT DISTINCT peds.patentCaseMetadata.patentGrantIdentification.grantDate, rejs.app_id, peds.patentCaseMetadata.applicationStatusCategory
FROM `patents-public-data.uspto_oce_office_actions.rejections` rejs
JOIN `patents-public-data.uspto_peds.applications` peds ON peds.patentCaseMetadata.applicationNumberText.electronicText = rejs.app_id
JOIN `patents-public-data.uspto_oce_office_actions.office_actions` oa ON oa.ifw_number = rejs.ifw_number
WHERE peds.patentCaseMetadata.patentGrantIdentification.grantDate IS NULL AND ((alice_in = '1') OR (bilski_in = '1') OR (mayo_in = '1') OR (myriad_in = '1')) AND oa.mail_dt > '2010-06-28' AND peds.patentCaseMetadata.applicationStatusCategory LIKE 'Abandoned%'
ORDER BY app_id
This doesn’t mean that these applications were abandoned because of the § 101 rejection—for example, a number were abandoned even though they were allowed because the applicant failed to pay the issue fee. It doesn’t even mean that the § 101 rejection wasn’t overcome—in some cases, the § 101 rejection is overcome and rejections over prior art lead to abandonment. All it means is that at some point a § 101 rejection was received, and the application was ultimately abandoned.
Still, this is the highest possible number of applications that could even arguably be considered to be abandoned for a reason that is in some way related to a § 101 rejection.
Let’s take a look at the opposite question—how many patent applicants overcome a § 101 rejection?
Applications Rejected Under § 101 And Eventually Patented After receiving a § 101 rejection, 23,314 applications subsequently issued as patents, overcoming the § 101 rejection. The final question is how many applications have neither been abandoned nor issued—how many applications have received a § 101 rejection at some point in time, and remain pending? Applications Rejected Under § 101 And Still Pending An additional 19,286 applications remain pending. Of these, the § 101 rejection has been overcome in some of them. For example, the oldest pending case which received a Bilski/Alice/Mayo/Myriad rejection at some point in time only has prior art rejections under § 103 remaining. (It’s still actively being prosecuted, 10 years after it was filed.) So, from this data, we can tell that, of the 64,647 applications receiving a § 101 rejection at some point in prosecution, 36% of applications have issued as patents, 34.1% have subsequently been abandoned, and 29.8% remain pending. But, as mentioned above, that isn’t enough; just because an application received a § 101 rejection and was subsequently abandoned doesn’t mean that it was abandoned due to the § 101 rejection. For that, we need a more specific query. First, we generate a table containing the most recent office action for each application ID in the database. Sub-Table: Most Recent Office Action Per Application After saving this table to a local dataset (in my case, I named it alice_drizzle_data.most_recent_oas_by_app_id), we can combine that table with our earlier abandonment search, and look for those applications where the last office action prior to abandonment does not contain a § 101 rejection. Abandoned Applications Where A § 101 Rejection Was Overcome This query tells us that, of the 22,047 patent applications which were abandoned after receiving a § 101 rejection, in 4,047 cases, the final office action prior to abandonment did not contain a § 101 rejection. In other words, 18% of those applications do not appear to have been abandoned due to § 101. We can also perform a similar test to determine how many of the pending applications have overcome their § 101 rejections, so we can determine the possibility of overcoming an Alice rejection. Pending Applications Where A § 101 Rejection Was Overcome This tells us that, of the 19,286 currently pending applications that received a § 101 rejection at some point in their prosecution, 2,896 no longer have a pending § 101 rejection. Based on this, we can determine that, of the 64,647 applications that received Bilski/Alice/Mayo/Myriad § 101 rejections, the rejection was overcome in 46.8% of cases. And again, referring back to my earlier post, most applications don’t receive a § 101 rejection in the first place. Alice simply does not impact most patent applications. Finally, we can look at how many applications we can state with certainty were abandoned due to a § 101 rejection—the instances in which there were no other pending rejections in the last office action before abandonment. Applications Abandoned Due Solely To A § 101 Rejection That tells us that there’s only 2,164 abandoned applications where the only rejection in the last office action was a § 101 rejection. This lets us illustrate the breakdown of applications as follows In other words, § 101 is the sole reason for abandonment in a grand total of 3.3% of cases receiving a § 101 rejection, and of only 9.8% of abandoned applications receiving a § 101 rejection. § 101 rejections are actually overcome more than ten times as often as they represent the sole remaining block to patentability. The Alice drizzle barely even merits an umbrella.#standardSQL
SELECT DISTINCT peds.patentCaseMetadata.patentGrantIdentification.grantDate, rejs.app_id, peds.patentCaseMetadata.applicationStatusCategory
FROM `patents-public-data.uspto_oce_office_actions.rejections` rejs
JOIN `patents-public-data.uspto_peds.applications` peds ON peds.patentCaseMetadata.applicationNumberText.electronicText = rejs.app_id
JOIN `patents-public-data.uspto_oce_office_actions.office_actions` oa ON oa.ifw_number = rejs.ifw_number
WHERE peds.patentCaseMetadata.patentGrantIdentification.grantDate IS NOT NULL AND ((alice_in = '1') OR (bilski_in = '1') OR (mayo_in = '1') OR (myriad_in = '1')) AND oa.mail_dt > '2010-06-28'
ORDER BY app_id
#standardSQL
SELECT DISTINCT peds.patentCaseMetadata.patentGrantIdentification.grantDate, rejs.app_id, peds.patentCaseMetadata.applicationStatusCategory
FROM `patents-public-data.uspto_oce_office_actions.rejections` rejs
JOIN `patents-public-data.uspto_peds.applications` peds ON peds.patentCaseMetadata.applicationNumberText.electronicText = rejs.app_id
JOIN `patents-public-data.uspto_oce_office_actions.office_actions` oa ON oa.ifw_number = rejs.ifw_number
WHERE peds.patentCaseMetadata.patentGrantIdentification.grantDate IS NULL AND ((alice_in = '1') OR (bilski_in = '1') OR (mayo_in = '1') OR (myriad_in = '1')) AND oa.mail_dt > '2010-06-28' AND peds.patentCaseMetadata.applicationStatusCategory NOT LIKE 'Abandoned%'
ORDER BY app_id
Overcoming § 101 Rejections
#standardSQL
SELECT oas.*
FROM `patents-public-data.uspto_oce_office_actions.office_actions` oas
LEFT OUTER JOIN `patents-public-data.uspto_oce_office_actions.office_actions` oas2 ON oas.app_id = oas2.app_id
AND (oas.mail_dt < oas2.mail_dt OR oas.mail_dt = oas2.mail_dt AND oas.app_id < oas2.app_id)
WHERE oas2.app_id IS NULL
#standardSQL
SELECT DISTINCT oas.*
FROM `patents-public-data.uspto_oce_office_actions.rejections` rejs
JOIN `patents-public-data.uspto_peds.applications` peds ON peds.patentCaseMetadata.applicationNumberText.electronicText = rejs.app_id
INNER JOIN `alice_drizzle_data.most_recent_oas_by_app_id` oas ON oas.app_id = peds.patentCaseMetadata.applicationNumberText.electronicText
WHERE peds.patentCaseMetadata.patentGrantIdentification.grantDate IS NULL AND ((alice_in = '1') OR (bilski_in = '1') OR (mayo_in = '1') OR (myriad_in = '1')) AND oas.mail_dt > '2010-06-28' AND peds.patentCaseMetadata.applicationStatusCategory LIKE 'Abandoned%' AND oas.rejection_101 = '0'
ORDER BY app_id
#standardSQL
SELECT DISTINCT oas.*
FROM `patents-public-data.uspto_oce_office_actions.rejections` rejs
JOIN `patents-public-data.uspto_peds.applications` peds ON peds.patentCaseMetadata.applicationNumberText.electronicText = rejs.app_id
INNER JOIN `alice_drizzle_data.most_recent_oas_by_app_id` oas ON oas.app_id = peds.patentCaseMetadata.applicationNumberText.electronicText
WHERE peds.patentCaseMetadata.patentGrantIdentification.grantDate IS NULL AND ((alice_in = '1') OR (bilski_in = '1') OR (mayo_in = '1') OR (myriad_in = '1')) AND oas.mail_dt > '2010-06-28' AND peds.patentCaseMetadata.applicationStatusCategory NOT LIKE 'Abandoned%' AND oas.rejection_101 = '0'
ORDER BY app_id
Applications Where § 101 Was The Sole Reason For Abandonment
#standardSQL
SELECT DISTINCT oas.*
FROM `patents-public-data.uspto_oce_office_actions.rejections` rejs
JOIN `patents-public-data.uspto_peds.applications` peds ON peds.patentCaseMetadata.applicationNumberText.electronicText = rejs.app_id
INNER JOIN `alice_drizzle_data.most_recent_oas_by_app_id` oas ON oas.app_id = peds.patentCaseMetadata.applicationNumberText.electronicText
WHERE peds.patentCaseMetadata.patentGrantIdentification.grantDate IS NULL AND ((alice_in = '1') OR (bilski_in = '1') OR (mayo_in = '1') OR (myriad_in = '1')) AND oas.mail_dt > '2010-06-28' AND peds.patentCaseMetadata.applicationStatusCategory LIKE 'Abandoned%' AND oas.rejection_101 = '1' AND oas.rejection_102 = '0' AND oas.rejection_103 = '0' AND oas.rejection_112 = '0' AND oas.rejection_dp = '0' AND oas.objection = '0'
ORDER BY app_id