Links
Comment on page

Navigate Rewards Formula

High-Level Summary

After contributing imagery to a vault, user rewards will be based on three variables: (1) the area captured, (2) the population density of the captured area, and (3) the length of time since this area was last mapped.
Together, these variables determine how many points are earned per submission. Today, almost all imagery is considered fresh, so we recommend focusing efforts on mapping large, densely populated cities.
If you don't live in a densely populated area, no problem! You can still contribute to technology that benefits everyone and earn points along the way.
For any questions related to Navigate rewards, please send us a note at [email protected] or create a ticket in the Navigate Discord. And for an in-depth explanation on user rewards, check out the following section, where we walk through the complete methodology.

User Rewards Formula:

Note: Specific details (weightings, figures, and functions) in the below section will be periodically adjusted by the foundation and communicated publicly to optimize incentives and preserve economic sustainability.
When you contribute data to a vault, your reward will be based on the following formula:
userRewards = vaultRewardFunction * rewardsGauge
where:
vaultRewardFunction = output of a specific vault rewards function
rewardsGauge= vault agnostic modifier that increases/decreases vault rewards
Let’s break down each component.

The Vault Reward Function (VRF):

Each vault will have a unique function that incentivizes users to contribute high-value data; we call these “Vault Reward Functions'', or “VRFs”.
Our Street-Level vault, which collects footage from smartphones, dashcams, GoPros, and other devices, incentivizes the collection of fresh, highly populated areas with the following VRF:
vaultRewardFunction = coverageRewards * popDensityMod * recencyMod
where:
coverageRewards = users earn 1 point per km captured
popDensityMod = modifier based on the avg. population density of an area
recencyMod = modifier based on how much time has passed since an area was last mapped
Let’s walk through the above formula step by step.
Once footage is uploaded, the distance covered is calculated, and for every kilometer (km) mapped, contributors receive 1 point; this is how we arrive at coverageRewards. Images are then extracted (i.e., sampled) from the video and assigned a population density multiplier (using each image’s metadata) from the following table. These multipliers are averaged together to create popDensityMod.
Population Density Tiers
Population per Sq. Km.
Modifier
1
Under 999
0.24
2
1,000 to 1,999
0.31
3
2,000 to 2,999
0.40
4
3,000 to 3,999
0.52
5
4,000 to 4,999
0.67
6
5,000 to 5,999
0.88
7
6,000 to 6,999
1.14
8
7,000 to 7,999
1.48
9
8,000 to 8,999
1.92
10
9,000+
2.50
As you’ll notice from the table, contributors earn more points for mapping highly populated areas. This is to encourage users to capture locations that are constantly changing and highly trafficked, or what can be considered high-value locations.
Users are also incentivized to capture new and out of date locations through the recencyMod. This modifier scales based on the duration of time since an area was last captured. While we have organized the below table on a daily time scale for simplicity, in practice, the recencyMod is measured on an hourly basis.
Last Mapped (In Days)
Modifier
0
0.00
1
0.18
2
0.36
3
0.54
4
0.71
5
0.89
6
1.07
7
1.25
Let’s walk through an example.
Imagine you biked from Midtown, Manhattan to Rye, New York and captured a 2.5-hour-long video. After uploading the video to Navigate, it would produce roughly ~18,000 stills covering the entire 40km route. From above, we know that 1 km equals 1 NVG8, resulting in a coverageReward of forty (40 km * 1 = 40). For this example, let’s also assume that the popDensityMod and recencyMod modifiers are 1.92x and 1.25x, respectively. After applying these factors, the VRF would be equal to 96 points.
vaultRewardFunction = coverageRewards * popDensityMod * recencyMod
96.00 = 40.00 * 1.92x * 1.25x

The Rewards Gauge

Once we have an output from the VRF, we can multiply it by the rewards gauge. The gauge is a modifier that moves up or down depending on how many points we have in the user reward pool. The gauge ensures we spend the right amount of points based on how many points we have available. With more points available, we can afford more attractive awards and vice versa. The gauge manages this logic automatically, adjusting our “budget” dynamically.
The gauge also ensures that:
  • Early contributors receive more than late adopters
  • User rewards increase as platform revenue increases
  • We distribute rewards in a sustainable, transparent, and programmatic way
The rewards gauge is calculated using the below formula:
Gauge = Gauge Ceiling / EXP(User Rewards Budget / User Rewards Balance)

Where:

Gauge Ceiling: The max gauge value (0.7)
User Rewards Budget: NVG8 allocated to user rewards (350M)
User Rewards Balance: NVG8 remaining in User Rewards pool (updated weekly)
The below table illustrates how the gauge’s value will change as points are added/subtracted from the user rewards pool. Today, we have close to 100% of our user rewards pool available, resulting in a gauge of 0.257.
% of User Rewards Remaining
Rewards Gauge
100%
0.25752
90%
0.23044
80%
0.20055
70%
0.16776
60%
0.13221
50%
0.09473
40%
0.05746
30%
0.02497
20%
0.00472
10%
0.00003

Calculating Total User Rewards:

Continuing with our example –
When we uploaded our footage, the street-level VRF generated 96.00 points. With our gauge value set at 0.257, we now have what we need to calculate total user rewards:
userRewards = vaultRewardFunction * rewardsGauge
24.72 = 96.00 * 0.25752
We received 24.72 points for our footage! As a recap, user rewards are the product of two components: VRFs and the rewards gauge. VRFs are vault specific while the rewards gauge is platform-wide and constant across vaults. Both contribute to total user rewards and both will continue to evolve as we seek feedback from the community and course correct on the best framework.

Supported vs. Unsupported Dashcam Rewards:

Behind the scenes, uploaded imagery is routed through a pipeline, which blurs personally identifiable information, calculates rewards, and publishes this imagery to Navigate Maps. Today, the pipeline has automated support for our mobile app (which will be released later this year) and a handful of dashcams which you can find here.
Dashcam brands not automated by the pipeline will go through a separate review process. Because this process takes slightly longer than the automated pipeline, we approximate rewards using a constant value for speed (60 KPH), population density (1.75x), and recency (1.25x). This methodology allows us to distribute rewards immediately. It’s worth noting that we are rapidly onboarding new dash cam providers into our automated pipeline, so this unsupported workflow will transition to a supported, automated workflow over time.

Aerial Vault Rewards

Our aerial vault incentivizes the collection of drone footage with the following formula:
vaultRewardFunction = imagesApproved * popDensityMod * recencyMod
Where:
imagesApproved = the number of images uploaded
popDensityMod = population density modifier
recencyMod = the recency modifier outlined in the below table

Comparing Aerial and Street-Level Vaults:

As you’ll notice, the Aerial VRF looks similar to our Street-Level VRF, and this is because they share the same goal: to encourage users to collect footage of highly populated areas. As a result, the aerial VRF also shares the same population density table. But unlike the street-level VRF, which rewards on a per-kilometer basis, the aerial function rewards users on a per-image basis. We also use a separate recency table, which is defined below.
Last Mapped (Days)
Modifier
Last Mapped (Days)
Modifier
Last Mapped (Days)
Modifier
1
0.04
11
0.46
21
0.88
2
0.08
12
0.50
22
0.92
3
0.13
13
0.54
23
0.96
4
0.17
14
0.58
24
1.00
5
0.21
15
0.63
25
1.04
6
0.25
16
0.67
26
1.08
7
0.29
17
0.71
27
1.13
8
0.33
18
0.75
28
1.17
9
0.38
19
0.79
29
1.21
10
0.42
20
0.83
30
1.25

Aerial Rewards in Action:

Let's upload five aerial images of Midtown Manhattan, New York, and assume the following inputs:
Inputs
imagesApproved = 5
popDensityMod = 2.5
recencyMod = 1.25
rewardsGauge = 0.25752
Outputs:
vaultRewardFunction: 15.63 NVG8 = 5 * 2.5 * 1.25
userRewards = vaultRewardFunction * rewardsGauge
4.02 = 15.63 * 0.25752