Faits :
A.
A.a. A._ a occupé successivement les postes d'employé de bureau, d'employé de direction et de spécialiste administratif au sein de l'entreprise B._ SA à U._. Le 6 juin 2005, il a été victime d'un accident de la circulation routière. Depuis cet accident, il n'a plus travaillé, si ce n'est dans le cadre d'une tentative de reprise du travail à 50 % du 3 au 8 mai 2006. Les rapports de travail ont cessé avec effet au 31 juillet 2008.
Par décisions des 28 mai 2008 et 15 septembre 2011, l'Office de l'assurance-invalidité du canton de Genève (ci-après: l'office AI) a rejeté les deux premières demandes de prestations déposées par l'assuré respectivement les 3 octobre 2006 et 2 février 2010. Par jugement du 18 juin 2013, la Cour de justice de la République et canton de Genève, Chambre des assurances sociales, a débouté l'assuré de son recours formé contre la décision du 15 septembre 2011. Le Tribunal fédéral a rejeté le recours formé contre ce jugement (arrêt 9C_573/2013 du 29 juillet 2014).
Le 26 février 2016, l'office AI a déclaré irrecevable une demande de révision déposée par l'assuré contre la décision du 28 mai 2008. La Cour de justice a, par jugement du 1er février 2017, rejeté le recours formé par l'assuré contre cette décision dans la mesure de sa recevabilité.
A.b. Entre-temps, en octobre 2014, l'assuré a déposé une nouvelle demande de prestations. Les 11 septembre 2015 et 28 septembre 2016, les médecins du Service médical régional de l'assurance-invalidité (SMR) ont retenu que l'assuré présentait une aggravation de son état de santé; à compter du 1er octobre 2015, il pouvait travailler à 50 % dans une activité adaptée (100 %, avec une baisse de rendement de 50 %). Par décision du 20 mars 2018, l'office AI a octroyé à l'assuré une rente entière du 1er août au 31 décembre 2015 (taux d'invalidité de 100 %), puis trois quarts de rente dès le 1er janvier 2016 (taux d'invalidité de 68 %).
B.
A._ a déféré cette décision à la Cour de justice de la République et canton de Genève, Chambre des assurances sociales, puis produit notamment un document intitulé "People Management & Compensation" daté d'octobre 2000. La Cour de justice a invité la société B._ SA à préciser le revenu annuel brut que l'assuré aurait pu percevoir sans invalidité en 2014, 2015 et 2016. La directrice des ressources humaines de la société a répondu les 18 juin, 21 juin et 24 septembre 2019. Par jugement du 12 novembre 2019, la Cour de justice a admis le recours en ce sens que l'assuré a droit à une rente entière d'invalidité dès le 1er août 2015.
C.
L'office AI forme un recours en matière de droit public contre ce jugement. Il conclut à la confirmation de la décision du 20 mars 2018. Le recours est assorti d'une requête d'effet suspensif.
L'assuré conclut au rejet du recours. Subsidiairement, en cas d'admission du recours, il demande le renvoi de la cause à l'autorité précédente pour qu'elle mette en oeuvre une expertise médicale judiciaire (rhumato-psychiatrique).
L'Office fédéral des assurances sociales a renoncé à se déterminer.
Considérant en droit :
1.
1.1. La loi sur le Tribunal fédéral ne connaît pas l'institution du recours joint (ATF 145 V 57 consid. 10.2 p. 73; 138 V 106 consid. 2.1 p. 110), de sorte que, s'il entendait contester le jugement cantonal, l'intimé devait agir dans le délai de recours de l'art. 100 LTF. A défaut, il ne peut, dans sa détermination sur le recours, que proposer l'irrecevabilité et/ou le rejet, en tout ou partie, de celui-ci. Dans la mesure où les conclusions subsidiaires prises par l'intimé vont au-delà, elles sont irrecevables.
1.2. Le recours en matière de droit public peut être formé notamment pour violation du droit fédéral (art. 95 let. a LTF), que le Tribunal fédéral applique d'office (art. 106 al. 1 LTF), n'étant limité ni par les arguments de la partie recourante, ni par la motivation de l'autorité précédente. Le Tribunal fédéral fonde son raisonnement sur les faits retenus par la juridiction de première instance (art. 105 al. 1 LTF) sauf s'ils ont été établis de façon manifestement inexacte ou en violation du droit au sens de l'art. 95 LTF (art. 105 al. 2 LTF).
2.
Compte tenu des conclusions et motifs du recours, le litige porte en instance fédérale sur l'étendue du droit de l'intimé à une rente de l'assurance-invalidité dès le 1er janvier 2016. Il s'agit singulièrement d'examiner le point de savoir si la rente entière d'invalidité octroyée dès le 1er août 2015 doit être réduite à trois quarts de rente dès le 1er janvier suivant, comme le demande l'office recourant. Le jugement entrepris expose de manière complète les normes et la jurisprudence applicables, notamment celles relatives à la notion d'invalidité (art. 8 al. 1 LPGA et 4 al. 1 LAI), à son évaluation (art. 16 LPGA) et à la révision (art. 17 LPGA et art. 87 RAI). Il suffit d'y renvoyer.
3.
La juridiction cantonale a évalué le degré d'invalidité de l'intimé en procédant à une comparaison des revenus. Au titre de revenu sans invalidité, elle a retenu le montant de 100'000 fr. mentionné par la directrice des ressources humaines de la société B._ SA dans sa correspondance du 24 septembre 2019. Les premiers juges ont constaté que l'assuré avait perçu un revenu annuel brut de 75'713 en 2001, de 77'848 fr. en 2002 (+ 2.145 %), de 78'015 fr. en 2003 (+ 0.28 %) et de 80'740 fr. en 2004 (+ 3.492 %). Ils ont retenu que les augmentations de salaire avaient dès lors été supérieures à celles résultant de l'indice de l'Office fédéral de la statistique des salaires nominaux (+ 1.6 % de 2001 à 2002, + 1.3 % de 2002 à 2003 et + 0.9 % de 2003 à 2004). Aussi, ils ont jugé que pour fixer les augmentations de salaire de l'assuré, l'employeur s'était vraisemblablement fondé sur d'autres critères que celui de l'évolution des salaires nominaux, vraisemblablement sur ceux mentionnés dans le document "People Management & Compensation" établi par la société. Dans ces conditions, les seuls éléments fiables permettant d'établir le revenu sans invalidité de l'assuré étaient les données salariales fournies par l'ancien employeur. Au titre de revenu d'invalide, la juridiction cantonale a pris en considération un revenu de 26'652 fr. 80 (Enquête suisse sur la structure des salaires 2014, niveau 1, taux d'activité de 50 %, abattement de 20 %). Elle a considéré que l'office AI avait en effet omis de prendre en compte la durée des rapports de travail de l'assuré auprès de son dernier employeur. Il convenait dès lors pour ce motif de porter l'abattement de 15 à 20 %. La perte de gain qui résultait de la comparaison des revenus avec et sans invalidité était de 73 %, taux donnant droit à une rente entière d'invalidité dès le 1er août 2015.
4.
4.1. Invoquant une violation du droit fédéral, l'office recourant conteste tout d'abord le revenu sans invalidité de l'intimé. Il soutient que la progression salariale retenue par la juridiction cantonale n'était pas garantie. Il reproche ensuite à la juridiction cantonale d'avoir abusé de son pouvoir d'appréciation en tenant compte d'un abattement de 20 % dans la fixation du revenu d'invalide. Il fait valoir que l'influence de la durée de service n'est en effet pas déterminante dans le contexte d'une activité adaptée relevant de tâches manuelles simples. Il demande dès lors de porter la déduction au titre de l'abattement de 20 à 15 %.
4.2. Dans sa réponse, l'intimé fait valoir que la juridiction cantonale s'est fondée sur un faisceau d'éléments convergents pour retenir un revenu sans invalidité de 100'000 fr. Elle a tout d'abord pris en compte l'évolution constante du salaire soumis à cotisations entre 2001 et 2004, supérieure à l'augmentation réelle des salaires. La baisse de salaire de l'année 2005 s'expliquait en outre par son grave accident de la circulation routière survenu cette année-là. Selon le document "People Management & Compensation", le salaire maximum de la classe de salaire de sa fonction était de 99'600 fr., soit un montant très proche de celui retenu par la juridiction cantonale. La directrice des ressources humains de son dernier employeur avait du reste confirmé que la personne présentant la plus longue ancienneté à ce poste (20 années) percevait un salaire de 103'000 fr. en 2014. Il était dès lors hautement vraisemblable qu'il aurait perçu un salaire d'au moins 100'000 fr. en 2015, année déterminante pour la comparaison des revenus, étant rappelé qu'il avait démontré que ses états de service étaient bons. Enfin, il rappelle que la directrice des ressources humaines avait qualifié de "fiable" le salaire de 100'000 fr.
5.
5.1. En ce qui concerne la comparaison des revenus (art. 16 LPGA), la constatation des deux revenus hypothétiques à comparer est une question de fait, dans la mesure où elle repose sur une appréciation concrète des preuves; il s'agit en revanche d'une question de droit si elle se fonde sur l'expérience générale de la vie (ATF 137 V 64 consid. 1.2 p. 65; 132 V 393 consid. 3.3 p. 399). L'étendue de l'abattement (justifié dans un cas concret) constitue une question typique relevant du pouvoir d'appréciation, qui est soumise à l'examen du Tribunal fédéral uniquement si la juridiction cantonale a exercé celui-ci de manière contraire au droit, soit a commis un excès positif ou négatif de son pouvoir d'appréciation ou a abusé de celui-ci, notamment en retenant des critères inappropriés, en ne tenant pas compte de circonstances pertinentes, en ne procédant pas à un examen complet des circonstances pertinentes ou en n'usant pas de critères objectifs (ATF 137 V 71 consid. 5.1 p. 72).
5.2. En ce qui concerne le revenu sans invalidité, premier terme de la comparaison des revenus, l'office recourant ne soulève aucun argument pertinent qui justifierait de s'écarter du montant pris en considération par la juridiction cantonale (100'000 fr.).
5.2.1. Pour fixer le revenu sans invalidité, il faut établir ce que l'assuré aurait - au degré de la vraisemblance prépondérante - réellement pu obtenir au moment déterminant s'il n'était pas invalide. Le revenu sans invalidité doit être évalué de la manière la plus concrète possible, c'est pourquoi il se déduit en principe du salaire réalisé en dernier lieu par la personne assurée avant l'atteinte à la santé, en tenant compte de l'évolution des salaires jusqu'au moment de la naissance du droit à la rente (ATF 139 V 592 consid. 2.3 p. 593; 134 V 322 consid. 4.1 p. 325). Autrement dit, n'est pas déterminant pour la fixation du revenu hypothétique de la personne valide le salaire que la personne assurée réaliserait actuellement auprès de son ancien employeur, mais bien plutôt celui qu'elle réaliserait si elle n'était pas devenue invalide (arrêt 8C_709/2018 du 18 juin 2019 consid. 3 et les références).
5.2.2. En l'espèce, la juridiction cantonale a invité la directrice des ressources humaines de l'entreprise B._ SA à indiquer quel aurait été le revenu annuel brut de l'intimé si celui-ci avait encore fait partie de son personnel en 2014, 2015 et 2016. S'il est vrai que la directrice a dans un premier temps indiqué qu'il lui était impossible de donner une estimation car les bonus (en cas d'éligibilité) et les augmentations de salaire étaient alloués dans l'entreprise de manière purement discrétionnaire (correspondance du 21 juin 2019), elle a ensuite relevé qu'un "salaire de CHF 100'000 sembl[ait] être un chiffre fiable" (correspondance du 24 septembre 2019).
En tant que l'office recourant affirme que cette progression salariale n'était pas garantie car aucun employé ne disposait de la même ancienneté que celle que l'intimé aurait présenté en 2014 (plus de 25 années), il perd de vue que la directrice des ressources humaines a pris soin d'indiquer la rémunération de la personne qui présentait concrètement au sein de l'entreprise le profil le plus proche de celui de l'intimé. Aussi, selon les constatations cantonales, elle a tenu compte de la progression salariale d'une personne disposant de vingt ans d'ancienneté, soit moins que celle que l'intimé aurait présenté, et exerçant le même poste de travail que lui. Dans la mesure où cette fonction de spécialiste administratif n'est pas tombée en désuétude (à ce sujet, voir arrêt 9C_238/2008 du 5 janvier 2009 consid. 4.1), le licenciement de l'intimé n'empêchait en outre pas la juridiction cantonale de se fonder sur les indications fournies par le dernier employeur, quoi qu'en dise l'office recourant. La juridiction cantonale ne s'est enfin pas référée au document "People Management & Compensation" pour déterminer le revenu sans invalidité de l'intimé, mais a constaté qu'il prévoyait d'autres critères que l'index des salaires nominaux pour fixer les progressions salariales au sein de la société. Au demeurant, l'office recourant ne conteste pas les constatations cantonales selon lesquelles la progression salariale de l'intimé avait été supérieure à l'indice des salaires nominaux de 2001 à 2004. Quant à l'année 2005, il s'agit de l'année au cours de laquelle l'intimé a été victime d'un accident de la circulation routière. Dans ces circonstances, la juridiction cantonale a retenu sans arbitraire que le "seul élément fiable" pour déterminer le revenu sans invalidité de l'intimé était les informations fournies par son dernier employeur. Il n'y a pas lieu de s'écarter de l'appréciation de la juridiction cantonale.
5.3. Dans la mesure où l'office recourant échoue à démontrer l'arbitraire de la fixation d'un revenu sans invalidité de 100'000 fr., il n'y a pas matière à examiner la suite de son argumentation portant sur le revenu d'invalide. Un taux d'abattement de 15 % tel qu'invoqué ne changerait en effet rien à l'issue de la procédure. En retenant un revenu d'invalide de 28'319 fr., l'intimé présenterait toujours un taux d'invalidité supérieur à 70 % (72 %).
6.
Mal fondé, le recours doit être rejeté. Le présent arrêt rend sans objet la requête d'effet suspensif présentée par l'office recourant.
Vu l'issue du litige, les frais judiciaires sont mis à la charge de l'office recourant (art. 66 al. 1 LTF). L'intimé a droit à une indemnité de dépens.
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
Les frais judiciaires, arrêtés à 800 fr., sont mis à la charge du recourant.
3.
Le recourant versera à l'intimé la somme de 2800 fr. à titre de dépens pour la procédure devant le Tribunal fédéral.
4.
Le présent arrêt est communiqué aux parties, à la Cour de justice de la République et canton de Genève, Chambre des assurances sociales, et à l'Office fédéral des assurances sociales.
Lucerne, le 20 octobre 2020
Au nom de la IIe Cour de droit social
du Tribunal fédéral suisse
Le Président : Parrino
Le Greffier : Bleicker