Hello Tomas,
The reason for the sudden dip (from application filing year 2012 to 2013) is the fact that inventors that were in previous years (appln_filing_year < 2013) also flagged as applicants started to be flagged as inventors only. Before 2013, its seem the default value was to flag all inventors equally as applicant.
I think there was a change in the PCT application or formalities handling, but I could not find any reference documents that confirm this. You will see a similar phenomena when looking at applications filed at the US patent office - but not for example for applications filed at the EPO or other offices. The data in PATSTAT reflects correctly the data on the printed documents and the PSN_SECTOR is correctly assigned - also, no missing data.
In the attached document you will find 2 queries that illustrate this:
The second query (a more or less random listing of names that have country code NL) shows that starting from application date 11-10-2012, inventors are much less labelled as also being the applicant. And therefore they are no explicitly labelled as "individuals" because all inventors are individuals.
For your research, I would use the query below to identify applications where no companies where identified and add applications (OR in the WHERE clause) that have an "individual as applicant which is not flagged as an inventor.
This is approach is not ideal as it will of course also exclude the cases where the inventor is applicant besides an applicant - company being registered as well. (query does not run on PATSTAT Online because of sub-routine restrictions, ideally would be to breaks this query in separate subroutines and tmp tables.)
Code: Select all
SELECT tls201_appln.appln_id, appln_nr, appln_filing_date,
APPL_GROUPED.APPLiCANT_GROUP,
INVT_GROUPED.INVENTOR_GROUP
FROM tls201_appln
join (select appln_id, STRING_AGG (cast((psn_name+' ['+person_ctry_code+']' )as NVARCHAR(MAX)), '¦ ') APPLICANT_GROUP
from tls207_pers_appln join tls206_person applicant on tls207_pers_appln.person_id = applicant.person_id
and applt_seq_nr > 0 and person_ctry_code = 'NL' group by appln_id)APPL_GROUPED
on tls201_appln.appln_id = APPL_GROUPED.appln_id
join (select appln_id, STRING_AGG (cast((psn_name+' ['+person_ctry_code+']' )as NVARCHAR(MAX)), '¦ ') INVENTOR_GROUP
from tls207_pers_appln join tls206_person inventor on tls207_pers_appln.person_id = inventor.person_id and invt_seq_nr > 0 group by appln_id) INVT_GROUPED
on tls201_appln.appln_id = INVT_GROUPED.appln_id
WHERE
((appln_auth = 'WO') AND
(appln_filing_year = 2015)
and APPL_GROUPED.appln_id not in (select distinct appln_id from tls207_pers_appln join tls206_person
on tls207_pers_appln.person_id = tls206_person.person_id
where psn_sector in ('COMPANY GOV NON-PROFIT ','COMPANY GOV NON-PROFIT UNIVERSITY',
'COMPANY GOV NON-PROFIT','COMPANY HOSPITAL','COMPANY INDIVIDUAL','COMPANY UNIVERSITY',
'COMPANY','GOV NON-PROFIT HOSPITAL','GOV NON-PROFIT UNIVERSITY','GOV NON-PROFIT',
'HOSPITAL','UNIVERSITY HOSPITAL','UNIVERSITY')))
or
((appln_auth = 'WO') AND
(appln_filing_year = 2015)
and APPL_GROUPED.appln_id in (select distinct appln_id from tls207_pers_appln join tls206_person
on tls207_pers_appln.person_id = tls206_person.person_id
where psn_sector in ('individual') and tls207_pers_appln.invt_seq_nr = 0 ))
ORDER BY tls201_appln.appln_id