4.8 KiB
Equity Sheet Fixes
Contents
NRR Column (Column Q) - Range Values Fix
Problem: Values like "115-120%", "125%+", "N/A" in NRR column cause #VALUE! errors in MSS Score formula (columns Y/Z).
Root cause: Excel/Sheets formulas cannot perform math operations on text ranges.
Solution: Convert all NRR values to single numeric percentages.
Conversion Rules
Standard formats:
| Original | Fixed | Calculation | Rationale |
|---|---|---|---|
| 115-120% | 117.5% | (115+120)/2 | Midpoint (conservative estimate) |
| 120-125% | 122.5% | (120+125)/2 | Midpoint |
| 125%+ | 125% | Use lower bound | Conservative (actual may be higher) |
| N/A | [blank] | Leave empty | MSS formula uses IFERROR to handle blanks |
| 110% | 110% | Already valid | No change needed |
Edge cases (normalize before converting):
| Variant | Normalized | Notes |
|---|---|---|
| 115–120% (en-dash) | 115-120% | Replace en-dash with hyphen |
| 115 - 120% (spaces) | 115-120% | Remove spaces around hyphen |
| >=125% | 125%+ | Convert to standard "+" format |
| 125%+ or higher | 125%+ | Strip extra text |
Fix Procedure
Option A: Manual fix via browser
- Open sheet: https://docs.google.com/spreadsheets/d/1lTpdbDjqW40qe4YUvk_1vBzKYLUNrmLZYyQN-7HmFJg/edit#gid=0
- IMPORTANT: Select column Q header → Format → Number → Percent
- This ensures values are stored as numbers, not text
- If column is set to "Plain text", entering "117.5%" stores as text → still causes errors
- Navigate to column Q (NRR)
- For each range value:
- Calculate midpoint (e.g., (115+120)/2 = 117.5)
- Replace with single percentage:
117.5% - Sheets auto-converts to numeric percentage when column is formatted correctly
- For "N/A" → delete content (leave blank)
- For "125%+" → replace with
125% - Verify: After editing, click cell → formula bar should show
1.175(not"117.5%"with quotes)
Option B: Sheets API fix (requires Sheets API enabled)
Prerequisites:
- Enable Sheets API: https://console.developers.google.com/apis/api/sheets.googleapis.com/overview?project=831892255935
- Ensure column Q is formatted as Percent (do once before any API writes):
- Via browser: Select column Q → Format → Number → Percent
- Via API: Use
batchUpdatewithrepeatCell+numberFormat(see below)
Using gog CLI:
# gog CLI uses USER_ENTERED by default (parses "117.5%" as numeric)
gog-shapescale --account martin@shapescale.com sheets update \
1lTpdbDjqW40qe4YUvk_1vBzKYLUNrmLZYyQN-7HmFJg \
'Equity!Q5' '117.5%'
Using Sheets API directly (curl/Python):
# CRITICAL: Specify valueInputOption=USER_ENTERED explicitly
curl -X PUT \
"https://sheets.googleapis.com/v4/spreadsheets/SHEET_ID/values/Equity!Q5?valueInputOption=USER_ENTERED" \
-H "Authorization: Bearer $TOKEN" \
-d '{"values": [["117.5%"]]}'
# Python example:
service.spreadsheets().values().update(
spreadsheetId=SHEET_ID,
range='Equity!Q5',
valueInputOption='USER_ENTERED', # Parse as Sheets would
body={'values': [['117.5%']]}
).execute()
Verify after writing:
- Click cell → formula bar should show
1.175(numeric) - If formula bar shows
"117.5%"with quotes → stored as text, still causes errors
Impact
Fixing NRR ranges will:
- ✅ Eliminate #VALUE! errors in MSS Score column (Y)
- ✅ Eliminate #VALUE! errors in MSS Rating column (Z)
- ✅ Allow proper numerical analysis and sorting
- ✅ Make formulas copyable to new rows without errors
How MSS Formula Handles Blank NRR Values
The MSS Score formula (column Y) includes IFERROR() wrapper to handle missing data:
- Blank NRR cell → Formula treats as missing data, uses available metrics only
- Not treated as 0% → Blank is excluded from calculation (doesn't penalize score)
- Better than text "N/A" → Text causes #VALUE! error, blank is handled gracefully
Example: If NRR is blank but other metrics exist (Rev Growth, Rule of 40, etc.), MSS Score calculates using remaining metrics without error.
Related Columns
Other columns that need single numeric values (not ranges):
- Column M (Rule of 40 Ops): Should be calculated value (Ops Margin + Rev Growth)
- Column O (Rule of 40 FCF): Should be calculated value (FCF Margin + Rev Growth)
- Both can be negative for pre-profitable/turnaround companies
Prevention
When adding new companies:
- Always use single percentage values in NRR column
- Test MSS Score formula immediately after adding row
- If #VALUE! error appears → check Q column for ranges/text