Category: Adaptive Planning, How to.

A migration guide for operations teams moving existing plan data from Excel, Google Sheets, or another OKR tool into Profit.co using AI-powered import.

The Migration Math

Let’s start with the numbers that make manual migration impractical. A mid-market organization running OKRs typically has 80 to 150 Key Results per quarter. Each KR has a plan with 4 to 13 check-in periods depending on frequency (monthly, bi-weekly, or weekly). Each period has at least two editable values: the target and the incremental target.

That’s 160 to 3,900 individual data entries. At 15 seconds per entry (optimistic — this assumes no typos, no tab-fumbling, and no verification), the migration takes between 40 minutes and 16 hours of focused data entry. For a 100-person organization with department leads each handling their own plans, the work gets distributed, but the total person-hours remain staggering.

This is why plan migration is consistently cited as the number one friction point when organizations adopt Profit.co — or any OKR tool — from spreadsheets. The KR structure migrates easily. The check-in data migrates easily. The plans, with their period-by-period targets, are the bottleneck.

The AI-powered import reduces the per-KR migration time from 4–10 minutes (manual) to 20–45 seconds (paste or upload). For 100 KRs, that’s the difference between 8+ hours and under 1 hour.


Before You Start: Audit Your Source Data

Not all spreadsheet plans are created equal. Before starting the migration, audit your source data to understand what you’re working with and choose the right import strategy.

Assessment Checklist

Question Why It Matters If Yes If No
Is the plan data in a single file or spreadsheet? Determines whether you can batch-process or need to import KR by KR. Use the file upload method for batch processing. Consolidate into a single workbook first, or plan for individual imports.
Does each KR’s plan have its own tab/sheet? Affects how the AI identifies which data belongs to which KR. Each tab can be uploaded separately with a clear mapping. You’ll need to select the relevant rows/columns per KR when pasting.
Are dates in a standard format? The AI needs to map source dates to Profit.co’s check-in schedule. Import will be high-confidence. Dates map automatically. Standardize dates before importing, or provide a hint: “Dates are in DD/MM/YYYY format.”
Are targets cumulative or incremental? Profit.co plans use both; the AI needs to know which one it’s reading. Tell the AI which format you’re using: “These are cumulative targets.” Check your formulas. If each row is a running total, it’s cumulative. If each row is the period’s standalone target, it’s incremental.
Does the check-in frequency match? If your spreadsheet has monthly targets but the KR checks in weekly, the AI needs to interpolate. Direct mapping. Fast and high-confidence. The AI will interpolate, but review the interpolated values carefully.

The Three Migration Strategies

Based on your source data audit, choose one of three strategies:

Strategy A: Paste-Per-KR (Best for 10–50 KRs)

This is the fastest method for small to medium migrations. You open each KR in Profit.co, open the AI panel, paste the plan data from your spreadsheet, and apply. Each KR takes 20–30 seconds.

Workflow

  1. Open your spreadsheet and Profit.co side by side (two browser tabs or split screen).

  2. Navigate to the first KR in Profit.co. Open Modify Plan, then Import with AI.

  3. In your spreadsheet, select the rows and columns for this KR’s plan. Copy.

  4. In the AI panel, click Paste Data and paste. Review the preview. Apply.

  5. Move to the next KR. Repeat.

A team of two people can migrate 50 KRs in about 25 minutes using this method. One person navigates Profit.co; the other finds and copies the relevant spreadsheet data.

Pro tip: arrange your spreadsheet with one KR per row group, and paste from left to right. Develop a rhythm: copy, tab to Profit.co, paste, apply, tab to spreadsheet, next KR. The muscle memory kicks in after the third or fourth KR.

Strategy B: File-Per-KR (Best for 50–150 KRs with Structured Workbooks)

If your plans live in a structured Excel workbook — one sheet per KR, or one sheet per department with clearly labeled sections — the file upload method is more efficient at scale.

Workflow

  1. Organize your workbook so the AI can navigate it. Each sheet should have a recognizable name (the KR title or an ID) and the plan data should be in a consistent table format.

  2. For each KR in Profit.co, open Modify Plan, then Import with AI.

  3. Upload the workbook file. In the text field, specify which sheet to use: “Use the ‘Revenue Pipeline’ sheet.”

  4. The AI extracts the data from the specified sheet, maps it to the check-in schedule, and presents the preview.

  5. Review, apply, and move to the next KR.

The per-KR time is slightly longer than paste (30–45 seconds) because of the file selection and sheet specification, but the method is more structured and less error-prone for large workbooks with many sheets.

Strategy C: Top-Down with AI Generation (Best for 100+ KRs)

For very large migrations, the most efficient approach is hybrid: import the parent-level plans using paste or file upload, then use top-down distribution to cascade proportional plans to child KRs. This dramatically reduces the number of individual imports.

Workflow

  1. Identify the parent KRs in your hierarchy — typically 10–20 company or department-level Key Results.

  2. Import each parent KR’s plan using paste or file upload. This is your high-fidelity layer: these plans should exactly match your spreadsheet.

  3. For each parent KR, use Distribute to Children. Profit.co cascades proportional plans to all child KRs based on their From/To ranges.

  4. Notify child KR owners that distributed plans have been applied. Give them a 5-day window to review and refine their individual plans if the distributed version doesn’t match their operational spreadsheet.

  5. For child KRs that need specific (non-proportional) plans, the owners import their specific plans using paste. This is the exception layer — typically 20–30% of child KRs need individual adjustment.

The math works in your favor: instead of importing 120 KRs individually, you import 15 parent KRs (about 8 minutes) and cascade to 105 children (about 3 minutes of clicking Distribute). Then 25–35 child KRs get individual refinements (about 15 minutes). Total: under 30 minutes for 120 KRs.

Strategy C is the recommended approach for organizations with hierarchical OKR structures and 100+ KRs. It leverages Profit.co’s trickle-down distribution to eliminate 70–80% of individual imports.


Handling Common Source Data Challenges

Real-world spreadsheets are messy. Here’s how the AI handles the most common data quality issues during migration:

Challenge What Happens What You Should Do
Date format mismatch Your spreadsheet uses DD/MM/YYYY but Profit.co expects MM/DD/YYYY. The AI tries to infer the format from context. If it gets it wrong, tell it: “Dates are in DD/MM/YYYY format.” It reprocesses.
Extra rows (totals, headers, notes) Your pasted data includes a total row at the bottom and a header row with the KR name. The AI usually skips non-data rows automatically. If it doesn’t, tell it: “Ignore the first row and last row.”
Missing periods Your spreadsheet has monthly totals but the KR checks in weekly. The AI interpolates: it distributes each monthly total evenly across the weeks in that month. Review the interpolated weeks and adjust any that should be weighted differently.
Cumulative vs. incremental ambiguity Values are 10, 25, 45, 70, 100 — the AI isn’t sure if these are cumulative or incremental. The AI asks. If it doesn’t, tell it: “These are cumulative targets” or “These are weekly incremental targets.”
Multiple value columns Your spreadsheet has columns for target, actual, forecast, and notes. The AI picks the column most likely to be the target. If it picks wrong, tell it: “Use column C, not column D.”
Percentage vs. absolute numbers The KR tracks revenue in dollars but the spreadsheet shows percentages of quota. Tell the AI the unit: “These are percentages of the $5M annual target.” It converts to the KR’s native metric type.
Different fiscal periods Your spreadsheet uses fiscal months (Feb–Apr) but the KR is calendar quarter (Jan–Mar). This requires manual alignment before import. Adjust the spreadsheet to match the KR’s planning period, or specify: “Map February data to the first four check-ins.”

The Migration Day Playbook

For large migrations (50+ KRs), we recommend treating the migration as a focused activity rather than something that happens in the margins of normal work. Here’s a half-day playbook:

Before Migration Day

  • Audit source data (1 hour). Run through the assessment checklist above. Identify which strategy to use. Standardize date formats if needed.

  • Organize the workbook (30 min). If using Strategy B, ensure sheets are named consistently. If using Strategy C, identify parent KRs and confirm hierarchy is set up in Profit.co.

  • Brief the team (15 min). If department leads will import their own plans, walk them through the AI import workflow. Share this article as a reference.

Migration Day: Morning Session (2–3 hours)

  1. Start with parent-level KRs. Import the 10–20 highest-level plans first. These are your foundation.

  2. Cascade to children. Run Distribute to Children on each parent. This populates 70–80% of all KR plans in about 15 minutes.

  3. Parallel individual imports. Department leads import their specific KR plans in parallel. Each person handles 10–20 KRs using paste-per-KR. With four department leads working simultaneously, 60–80 KRs are done in about 30 minutes.

  4. Spot-check. Each lead verifies 3–5 of their imported plans against the original spreadsheet. Check that dates mapped correctly, values match, and incremental targets sum to the expected total.

Migration Day: Afternoon Session (1 hour)

  1. Hierarchy verification. Check that bottom-up aggregation of child plans aligns with parent-level targets. If gaps exist, investigate whether they’re rounding artifacts or genuine mismatches.

  2. Exception handling. Address any KRs where the AI import produced low-confidence results or where the source data was too messy for automated processing. These are manually set using the Modify Plan table.

  3. Lock-in. Confirm with each department lead that their plans are accurate. Post a message: “Q2 plans have been migrated to Profit.co. Please review your KR plans by [date] and flag any discrepancies.”


Migrating from Another OKR Tool

If you’re migrating from another OKR platform rather than spreadsheets, the process has an extra step: getting the data out of the old tool.

If the Old Tool Has CSV/Excel Export

Export each KR’s plan data as CSV or Excel. Use Strategy B (file upload) to import into Profit.co. Most OKR tools export plans in a format the AI can parse directly — dates in one column, targets in another.

If the Old Tool Has No Export

This is where the screenshot import shines. Navigate to each KR’s plan view in the old tool, take a screenshot, and upload it to Profit.co’s AI panel. The vision model extracts the tabular data from the image. For 20–30 KRs, this is practical. For larger migrations, consider whether the old tool has an API you can use to extract data programmatically into a CSV.

If the Old Tool Has an API

For enterprise migrations, the most efficient path is API-to-API: extract plan data from the old tool’s API into a structured JSON or CSV, then use Profit.co’s plan update API to import plans programmatically. This bypasses the UI entirely and can handle thousands of KRs in minutes. Contact Profit.co’s professional services team for API migration support.


Post-Migration Verification

After all plans are imported, run these five verification checks:

  1. Spot-check 10% of KRs. Pick 10–15 KRs at random and compare their Profit.co plans against the original spreadsheet. Verify dates, target values, and incremental targets.

  2. Check hierarchy aggregation. For parent KRs, verify that the sum of child plans matches the parent target. Profit.co’s aggregation gap indicator should show zero or near-zero deviation.

  3. Verify From/To values. Ensure that each KR’s baseline and target in Profit.co match the source data. A common migration error is importing plan distribution correctly but having the wrong range on the KR itself.

  4. Test a modification. Pick one KR and make a small plan modification using the AI assistant. Verify that the modification works correctly, the audit trail records it, and the hierarchy propagation behaves as expected.

  5. Get team sign-off. Each department lead confirms their plans are correct in Profit.co. Set a 5-day window for corrections. After the window, the Profit.co plans become the system of record.

The post-migration verification is not optional. Even with 94% AI accuracy on file imports, a 6% error rate across 120 KRs means 7–8 plans with at least one incorrect value. The spot-check catches these before they affect check-ins.


Retiring the Spreadsheet

The most important post-migration step is making Profit.co the single source of truth for plan data. As long as teams maintain parallel spreadsheets, the plans will drift — someone will update the spreadsheet without updating Profit.co, or vice versa.

Here’s how to retire the spreadsheet gracefully:

  1. Archive, don’t delete. Move the migration source spreadsheet to a read-only archive folder. Teams may need to reference it for historical context during the first quarter.

  2. Redirect all plan discussions to Profit.co. When someone says “let me check the spreadsheet,” redirect: “The plans are in Profit.co now. Open the KR and click Modify Plan.” Consistent redirection builds the new habit.

  3. Remove edit access to the old spreadsheet. If teams can’t edit the spreadsheet, they won’t be tempted to maintain it in parallel. Read-only access for reference; edit access revoked.

  4. After one full quarter on Profit.co, delete or deep-archive the old spreadsheets. By then, the Profit.co plans have their own modification history, and the spreadsheets are obsolete.

The migration isn’t complete when the data is in Profit.co. It’s complete when the spreadsheet is gone and no one misses it.


Migrate 100+ plans in under an hour.

Profit.co’s AI import handles paste, file upload, and screenshots — plus hierarchical distribution to cascade parent plans to hundreds of child KRs automatically. Start your free trial or contact us for enterprise migration support.

Related Articles