From 4c2bc588b2821b1be7c3445b2f3840d862c709ea Mon Sep 17 00:00:00 2001 From: Ben Goldberg Date: Tue, 19 Mar 2024 15:23:03 -0700 Subject: [PATCH 1/2] fix --- src/analytics/userProperties.ts | 4 ++-- src/resources/reservoir/nftOffersQuery.ts | 24 +++++++++++++---------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/analytics/userProperties.ts b/src/analytics/userProperties.ts index ae4b5bb7e33..5afadb5d693 100644 --- a/src/analytics/userProperties.ts +++ b/src/analytics/userProperties.ts @@ -23,8 +23,8 @@ export interface UserProperties { // nft offers nftOffersAmount?: number; nftOffersUSDValue?: number; - nftOffersMeanOfferVariance?: number; - nftOffersMedianOfferVariance?: number; + nftOffersMedianFloorDifferencePercentage?: number; + nftOffersMeanFloorDifferencePercentage?: number; // mint.fun numberOfMints?: number; diff --git a/src/resources/reservoir/nftOffersQuery.ts b/src/resources/reservoir/nftOffersQuery.ts index c51e26dd48e..0e1699d91bf 100644 --- a/src/resources/reservoir/nftOffersQuery.ts +++ b/src/resources/reservoir/nftOffersQuery.ts @@ -98,23 +98,27 @@ export function useNFTOffers({ walletAddress }: { walletAddress: string }) { const offerVarianceArray = nftOffers.map(offer => offer.floorDifferencePercentage / 100); offerVarianceArray.sort((a, b) => a - b); - // calculate median offer variance + // calculate median floor difference percentage const middleIndex = Math.floor(offerVarianceArray.length / 2); - let medianVariance; - if (offerVarianceArray.length % 2 === 0) { - medianVariance = (offerVarianceArray[middleIndex - 1] + offerVarianceArray[middleIndex]) / 2; - } else { - medianVariance = offerVarianceArray[middleIndex]; + let medianFloorDifferencePercentage; + if (offerVarianceArray.length) { + if (offerVarianceArray.length % 2 === 0) { + medianFloorDifferencePercentage = (offerVarianceArray[middleIndex - 1] + offerVarianceArray[middleIndex]) / 2; + } else { + medianFloorDifferencePercentage = offerVarianceArray[middleIndex]; + } } - // calculate mean offer variance - const meanVariance = offerVarianceArray.reduce((acc, cur) => acc + cur, 0) / offerVarianceArray.length; + // calculate mean floor difference percentage + const meanFloorDifferencePercentage = offerVarianceArray.length + ? offerVarianceArray.reduce((acc, cur) => acc + cur, 0) / offerVarianceArray.length + : undefined; analyticsV2.identify({ nftOffersAmount: nftOffers.length, nftOffersUSDValue: totalUSDValue, - nftOffersMedianOfferVariance: medianVariance, - nftOffersMeanOfferVariance: meanVariance, + nftOffersMedianFloorDifferencePercentage: medianFloorDifferencePercentage, + nftOffersMeanFloorDifferencePercentage: meanFloorDifferencePercentage, }); }, [query.data?.nftOffers]); From 9eaedf355273daf90382e54d8108037ed9f1ac66 Mon Sep 17 00:00:00 2001 From: Ben Goldberg Date: Tue, 19 Mar 2024 15:39:25 -0700 Subject: [PATCH 2/2] revert rename --- src/analytics/userProperties.ts | 4 ++-- src/resources/reservoir/nftOffersQuery.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/analytics/userProperties.ts b/src/analytics/userProperties.ts index 5afadb5d693..ae4b5bb7e33 100644 --- a/src/analytics/userProperties.ts +++ b/src/analytics/userProperties.ts @@ -23,8 +23,8 @@ export interface UserProperties { // nft offers nftOffersAmount?: number; nftOffersUSDValue?: number; - nftOffersMedianFloorDifferencePercentage?: number; - nftOffersMeanFloorDifferencePercentage?: number; + nftOffersMeanOfferVariance?: number; + nftOffersMedianOfferVariance?: number; // mint.fun numberOfMints?: number; diff --git a/src/resources/reservoir/nftOffersQuery.ts b/src/resources/reservoir/nftOffersQuery.ts index 0e1699d91bf..c86ddff616e 100644 --- a/src/resources/reservoir/nftOffersQuery.ts +++ b/src/resources/reservoir/nftOffersQuery.ts @@ -117,8 +117,8 @@ export function useNFTOffers({ walletAddress }: { walletAddress: string }) { analyticsV2.identify({ nftOffersAmount: nftOffers.length, nftOffersUSDValue: totalUSDValue, - nftOffersMedianFloorDifferencePercentage: medianFloorDifferencePercentage, - nftOffersMeanFloorDifferencePercentage: meanFloorDifferencePercentage, + nftOffersMedianOfferVariance: medianFloorDifferencePercentage, + nftOffersMeanOfferVariance: meanFloorDifferencePercentage, }); }, [query.data?.nftOffers]);