Government owned patents / public-private co-patents

Here you can post your opinions, ask questions and share experiences on the PATSTAT product line. Please always indicate the PATSTAT edition (e.g. 2015 Autumn Edition) and the database (e.g. PATSTAT Online, MySQL, MS SQL Server, ...) you are using.
Post Reply

KenoHaverkamp
Posts: 5
Joined: Tue Aug 09, 2022 12:29 pm

Government owned patents / public-private co-patents

Post by KenoHaverkamp » Thu Nov 24, 2022 11:26 am

Dear PATSTAT team,

I'm looking for a way to isolate patents that are either held by government organisations or any public-private co-patents (e.g. co-ownership of private companies and public research institutes).

Is there a way to do this with the PATSTAT product line?
I've come across the ECOOM EEE-PPAT table, which seems to do exactly that ("harmonize applicant names and allocate applicants to sectors such as private business enterprises, universities and higher education institutions, governmental agencies, individuals). However, the table is created for the Flemish government and I am so far unable to register to check whether this covers only Flemish patents or all patents in PATSTAT. Is there a way to find this information directly in PATSTAT?

I'd be grateful for any help or advice you might have.
Many thanks as always!
Keno


EPO / PATSTAT Support
Posts: 425
Joined: Thu Feb 22, 2007 5:33 pm
Contact:

Re: Government owned patents / public-private co-patents

Post by EPO / PATSTAT Support » Mon Nov 28, 2022 1:41 pm

Hello Keno,
I am not sure what the latest release is for the ECOOM EEE-PPAT table, but in principle, I assume it is the same what you will find in PATSTAT under the PSN_SECTOR. This indicator is used for all patent applications in PATSTAT, so not only for "Flemish patents".
However, in PATSTAT, this indicator has not (yet) been updated for the 2022a and b releases.
You will need to check with KU Leuven whether their data covers the PATSTAT 2022a release. If yes, then the data can be linked to (any) PATSTAT release.
PATSTAT Support Team
EPO - Vienna
patstat @ epo.org


KenoHaverkamp
Posts: 5
Joined: Tue Aug 09, 2022 12:29 pm

Re: Government owned patents / public-private co-patents

Post by KenoHaverkamp » Mon Jan 16, 2023 2:47 pm

Thanks so much for the previous answer.
Do you know if the PSN_Sector indicator has been integrated into the latest releases by now? 2022a would be fine.

Just wondering if my code below would achieve an aggregated sum of all PV energy patents per country and year with any government involvement between 2000 and 2020?

Code: Select all

SELECT person_ctry_code, 
COUNT(distinct(case when appln_filing_year = 2000 then tls201_appln.appln_id end)) as '2000',
COUNT(distinct(case when appln_filing_year = 2001 then tls201_appln.appln_id end)) as '2001',
COUNT(distinct(case when appln_filing_year = 2002 then tls201_appln.appln_id end)) as '2002',
COUNT(distinct(case when appln_filing_year = 2003 then tls201_appln.appln_id end)) as '2003',
COUNT(distinct(case when appln_filing_year = 2004 then tls201_appln.appln_id end)) as '2004',
COUNT(distinct(case when appln_filing_year = 2005 then tls201_appln.appln_id end)) as '2005',
COUNT(distinct(case when appln_filing_year = 2006 then tls201_appln.appln_id end)) as '2006',
COUNT(distinct(case when appln_filing_year = 2007 then tls201_appln.appln_id end)) as '2007',
COUNT(distinct(case when appln_filing_year = 2008 then tls201_appln.appln_id end)) as '2008',
COUNT(distinct(case when appln_filing_year = 2009 then tls201_appln.appln_id end)) as '2009',
COUNT(distinct(case when appln_filing_year = 2010 then tls201_appln.appln_id end)) as '2010',
COUNT(distinct(case when  appln_filing_year = 2011 then tls201_appln.appln_id end)) as '2011',
COUNT(distinct(case when  appln_filing_year = 2012 then tls201_appln.appln_id end)) as '2012',
COUNT(distinct(case when  appln_filing_year = 2013 then tls201_appln.appln_id end)) as '2013',
COUNT(distinct(case when  appln_filing_year = 2014 then tls201_appln.appln_id end)) as '2014',
COUNT(distinct(case when  appln_filing_year = 2015 then tls201_appln.appln_id end)) as '2015',
COUNT(distinct(case when  appln_filing_year = 2016 then tls201_appln.appln_id end)) as '2016',
COUNT(distinct(case when  appln_filing_year = 2017 then tls201_appln.appln_id end)) as '2017',
COUNT(distinct(case when  appln_filing_year = 2018 then tls201_appln.appln_id end)) as '2018',
COUNT(distinct(case when  appln_filing_year = 2019 then tls201_appln.appln_id end)) as '2019',
COUNT(distinct(case when  appln_filing_year = 2020 then tls201_appln.appln_id end)) as '2020',
count (tls201_appln.appln_id) total
FROM   tls201_appln  join tls207_pers_appln on tls201_appln.appln_id = tls207_pers_appln.appln_id
join tls206_person on tls207_pers_appln.person_id = tls206_person.person_id
join tls801_country on tls206_person.person_ctry_code = tls801_country.ctry_code
AND appln_filing_year between 2000 and 2020
AND psn_sector LIKE 'GOV%'
AND applt_seq_nr > 0 
AND granted = 'y'
AND (tls201_appln.appln_id in (select distinct appln_id from tls224_appln_cpc WHERE cpc_class_symbol like 'Y02E  10/5%'))
group by person_ctry_code
order by total desc


EPO / PATSTAT Support
Posts: 425
Joined: Thu Feb 22, 2007 5:33 pm
Contact:

Re: Government owned patents / public-private co-patents

Post by EPO / PATSTAT Support » Wed Jan 25, 2023 4:48 pm

Hello KenoHaverkamp,
no new data for the PSN name or sector was added to the data for the PATSTAT 2022b release. We recently started a new contract to receive the harmonised names, so we hope this will be be reflected in the new Spring 2023 release.
Your query is ok, keep in mind that the country code in your query is the country code attached to the applicant. If you look at the data coverage and completeness data (mapping-data-completeness-of-patstat-gl ... ls231-7984), you can see that we have nearly no data on the applicant country for patents filed in China and Japan. (and a substantial amount of PV patents are filed in Japan and China)
Those (unknowns) are grouped in your query under the "blank" country. But one could in fact assign some of the unknowns by looking closser at the applicant names and doing an extra round on grouping those unknowns. Easiest is probably to do it manually in excel or any other tool; as the data set is not too large.
If you run the query below, you will immediately know what I mean when looking at the data.

Code: Select all

SELECT psn_name,person_ctry_code, 
COUNT(distinct(case when appln_filing_year = 2000 then tls201_appln.appln_id end)) as '2000',
COUNT(distinct(case when appln_filing_year = 2001 then tls201_appln.appln_id end)) as '2001',
COUNT(distinct(case when appln_filing_year = 2002 then tls201_appln.appln_id end)) as '2002',
COUNT(distinct(case when appln_filing_year = 2003 then tls201_appln.appln_id end)) as '2003',
COUNT(distinct(case when appln_filing_year = 2004 then tls201_appln.appln_id end)) as '2004',
COUNT(distinct(case when appln_filing_year = 2005 then tls201_appln.appln_id end)) as '2005',
COUNT(distinct(case when appln_filing_year = 2006 then tls201_appln.appln_id end)) as '2006',
COUNT(distinct(case when appln_filing_year = 2007 then tls201_appln.appln_id end)) as '2007',
COUNT(distinct(case when appln_filing_year = 2008 then tls201_appln.appln_id end)) as '2008',
COUNT(distinct(case when appln_filing_year = 2009 then tls201_appln.appln_id end)) as '2009',
COUNT(distinct(case when appln_filing_year = 2010 then tls201_appln.appln_id end)) as '2010',
COUNT(distinct(case when  appln_filing_year = 2011 then tls201_appln.appln_id end)) as '2011',
COUNT(distinct(case when  appln_filing_year = 2012 then tls201_appln.appln_id end)) as '2012',
COUNT(distinct(case when  appln_filing_year = 2013 then tls201_appln.appln_id end)) as '2013',
COUNT(distinct(case when  appln_filing_year = 2014 then tls201_appln.appln_id end)) as '2014',
COUNT(distinct(case when  appln_filing_year = 2015 then tls201_appln.appln_id end)) as '2015',
COUNT(distinct(case when  appln_filing_year = 2016 then tls201_appln.appln_id end)) as '2016',
COUNT(distinct(case when  appln_filing_year = 2017 then tls201_appln.appln_id end)) as '2017',
COUNT(distinct(case when  appln_filing_year = 2018 then tls201_appln.appln_id end)) as '2018',
COUNT(distinct(case when  appln_filing_year = 2019 then tls201_appln.appln_id end)) as '2019',
COUNT(distinct(case when  appln_filing_year = 2020 then tls201_appln.appln_id end)) as '2020',
count (tls201_appln.appln_id) total
FROM   tls201_appln  join tls207_pers_appln on tls201_appln.appln_id = tls207_pers_appln.appln_id
join tls206_person on tls207_pers_appln.person_id = tls206_person.person_id
join tls801_country on tls206_person.person_ctry_code = tls801_country.ctry_code
AND appln_filing_year between 2000 and 2020
AND psn_sector LIKE 'GOV%'
AND applt_seq_nr > 0 
AND granted = 'y'
AND (tls201_appln.appln_id in (select distinct appln_id from tls224_appln_cpc WHERE cpc_class_symbol like 'Y02E  10/5%'))
group by person_ctry_code,psn_name
order by psn_name asc , total
PATSTAT Support Team
EPO - Vienna
patstat @ epo.org


Post Reply