(631) 774-4085 Mon–Fri 9:30am–5:30pm · Sat 10am–4pm · Sun closed Get a fixed quote

Data & analytics reporting · Central Islip, NY

Sennum.

KPI dashboards and clean monthly reports, built from your sales and ad exports. A fixed fee per project, invoiced by the project.

Send a sample export. A fixed-fee quote comes back within 48 hours.


Before the first invoice

Questions we get before we scope a job

Short answers, with the field names and terms we actually use. Anything not covered, call (631) 774-4085.

What do you need from me to start?

A sample export from each source: store or POS orders as CSV, plus Meta Ads and Google Ads exports at campaign level. About 50 rows of your messiest file is enough to scope. For dashboards we ask for view-only access to GA4; we never need admin credentials or passwords.

How is a project priced and billed?

Fixed fee against a written scope: sources, row volume, number of KPIs. Half is invoiced at kickoff and half at hand-off, net 14. Each monthly report is its own project and its own invoice, so skipping a month means nothing is owed for it.

Where do the dashboards live?

Looker Studio, Google Sheets, or an Excel workbook with pivot tables and slicers. Your choice, in your account. You get the files and the data dictionary, so you can leave without losing anything.

My ad platforms and my store never agree. Can that be fixed?

They will not match exactly, and we won’t pretend they do. Meta defaults to a 7-day click / 1-day view window; GA4 credits last non-direct click. We reconcile against store revenue as the source of truth and document every attribution gap on a definitions tab.

What happens to my raw files?

We work from copies; your originals are never edited. Working copies are deleted 30 days after final hand-off, sooner if you ask. Cleaned tables and dashboards stay yours.

What if a metric needs to change after delivery?

Every build includes 30 days of revisions: redefine a KPI, add a date range, swap a campaign grouping. After that, changes are quoted by the hour block, in advance.


Method

Three passes over the data before anyone sees a chart

Intake · days 1–2

Audit every export

Row counts, null rates and duplicate-key checks on each file, so we know what is broken before we touch it. You get a one-page intake note listing every defect found.

Deliverable
Intake note, 1 page

Normalize · days 2–5

Make the columns agree

Dates to ISO 8601, currency to numeric at two decimals, SKUs and campaign names mapped to one taxonomy. Each rule is logged, so the same scrub can be rerun next month.

Deliverable
Tidy table + data dictionary

Publish · days 5–8

Define the KPIs, then draw them

Each KPI gets a written formula and a source field before it gets a tile. Then the dashboard goes live in the tool you picked, with a one-page PDF and commentary for month one.

Deliverable
Dashboard + monthly PDF

The monthly close, once the dashboard is live

  1. Day 1Your new exports land in a shared folder.
  2. Day 2The logged scrub reruns; new defects flagged.
  3. Day 4Dashboard refreshed, draft PDF written.
  4. Day 520-minute review call on what moved and why.
  5. Day 6Final PDF delivered, invoice sent.

Scrub log

One order, logged three ways, counted once

Order 10482 shows up in the store export, the Meta report and the email platform, each with its own date and SKU format. Rows like these inflate revenue until they are collapsed.

Raw · orders_nov_final_v3(2).csv

orderdateskuamountchannel
1048211/3/26sku-41$1,204.50fb_ads
104822026-11-03SKU 00411204.5Facebook
1048203 Nov 2026SKU-00411,204.50FB
1048311/4/26sku-7$89

Clean · orders_tidy.csv

orderdateskuamountchannel
104822026-11-03SKU-00411204.50meta_paid
104832026-11-04SKU-000789.00unattributed
  • date → ISO 8601, one format
  • sku → uppercase, zero-padded to 4
  • amount → numeric, 2 decimals
  • channel → meta_paid, google_paid, organic, email, direct

4 rows in, 2 rows out. Revenue counted once, and a blank channel is labeled instead of guessed.

Project fees

Fixed fees, posted, scoped in writing

Each figure covers the scope listed. Anything outside it gets its own written quote before work starts.

Cleanup

Data scrub

From$640

  • Up to 3 source exports
  • Up to 250,000 rows
  • One tidy table, one data dictionary

Turnaround: 3–5 business days

Book a scrub

One month

Ad-spend reconciliation

$520

Meta Ads and Google Ads against store revenue, with attribution-window notes.

Reconcile a month
Most picked

KPI dashboard build

$1,860

  • 6–8 KPIs, each with a written formula
  • Up to 3 connected sources
  • Looker Studio, Sheets or Excel
  • Scheduled refresh
  • 60-minute hand-off call
  • 30 days of revisions

Delivery: 5 business days to first draft

Scope my dashboard

Recurring work

Monthly report

$395/ month

Refreshed dashboard, a one-page PDF and five lines of commentary. Each month is its own invoice.

Start with this month

One scope

Scrub, dashboard and three monthly reports

$2,940

  • Everything in the scrub and the dashboard build
  • Months one to three, reports included
  • Quarterly definitions review
Request this scope

Bespoke

Multi-store or warehouse data

Request a quote

More than three sources, or over 250,000 rows a month? Send a sample and we’ll price it.

Ask for a quote

Invoiced per project. Pay by ACH, check or card, net 14.

Terms in writing

What you can hold us to

48hrs

From sample export to a fixed-fee scope quote.

5days

Business days to a first dashboard draft on single-source builds.

30days

Of revisions after hand-off, metric changes included.

14days

Invoice terms: half at kickoff, half at hand-off.

  • Dashboard in your account
  • Data dictionary
  • One-page PDF report
  • Source files returned
Start with a sample export

Fixed quote in 48 hours

Send one bad export. We’ll quote the fix.

Name the tools that hold your data and the month that’s a mess. A 50-row slice of the worst file is plenty; we’ll ask for it by reply.

Example: Shopify orders, Meta Ads, Mailchimp. October won’t reconcile.

Prefer a person? (631) 774-4085 or info@sennum.com. Mon–Fri 9:30am–5:30pm, Sat 10am–4pm.