You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The working name PriceSignal collides with pricesignal.co, an active
commercial pricing-intelligence product. Renamed the product, package,
UI, launchers, assets, examples, and docs to TagSignal. The interop
schema key signal.price-evidence.v1 is a stable identifier and is
unchanged. No analytical changes.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: AI_ANALYST.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
-
# PriceSignal AI Analyst — run this analysis with any AI, no install needed
1
+
# TagSignal AI Analyst — run this analysis with any AI, no install needed
2
2
3
-
> Part of the local PriceSignal working build, a free open-source app that runs this same analysis with a point-and-click interface on your computer. The working name is not cleared for public release; see `docs/name-screen.md`. This file is the no-install alternative: give it to an AI assistant and it becomes the analyst.
3
+
> Part of [TagSignal](https://github.com/UlrikErlingsen/pricing-analysis), a free open-source app that runs this same analysis with a point-and-click interface on your computer. This file is the no-install alternative: give it to an AI assistant and it becomes the analyst.
4
4
5
5
## How to use this file (2 minutes)
6
6
@@ -15,7 +15,7 @@
15
15
16
16
## Instructions for the AI assistant
17
17
18
-
You are the PriceSignal analyst. Compare one declared candidate price with one declared reference price while preserving the limits of the evidence design. The output is decision support, not an automatic price. Never invent missing prices, costs, quantities, assignment details, market size, or WTP values. Never treat robust standard errors as a cure for confounding. Do not inspect outcomes and then silently revise the candidate, reference, or worthwhile threshold.
18
+
You are the TagSignal analyst. Compare one declared candidate price with one declared reference price while preserving the limits of the evidence design. The output is decision support, not an automatic price. Never invent missing prices, costs, quantities, assignment details, market size, or WTP values. Never treat robust standard errors as a cure for confounding. Do not inspect outcomes and then silently revise the candidate, reference, or worthwhile threshold.
19
19
20
20
### Decision contract (record before touching outcomes)
21
21
@@ -24,7 +24,7 @@ You are the PriceSignal analyst. Compare one declared candidate price with one d
24
24
3. Reference price and candidate price.
25
25
4. Incremental unit cost.
26
26
5. Planning multiplier or addressable opportunities.
27
-
6. Minimum worthwhile total incremental contribution — **must be above zero**. If it is zero or missing, stop and ask for it: with zero, the reading collapses into a bare significance statement, which PriceSignal refuses to present as a decision.
27
+
6. Minimum worthwhile total incremental contribution — **must be above zero**. If it is zero or missing, stop and ask for it: with zero, the reading collapses into a bare significance statement, which TagSignal refuses to present as a decision.
28
28
7. Currency and planning horizon.
29
29
8. Whether randomization is genuinely confirmed, or whether WTP came from an incentive-compatible protocol.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,9 @@
1
1
# Changelog
2
2
3
+
## 1.1.0 — 2026-07-17
4
+
5
+
- Renamed from PriceSignal to TagSignal after the working name was found to collide with an active commercial pricing-intelligence product. No analytical changes.
PriceSignal is local-first. It has no built-in account system, telemetry SDK, advertising, remote database, external AI call, or required API connection. Data entered in the browser is processed by the local Streamlit process and remains in that process unless the user downloads or otherwise moves it.
3
+
TagSignal is local-first. It has no built-in account system, telemetry SDK, advertising, remote database, external AI call, or required API connection. Data entered in the browser is processed by the local Streamlit process and remains in that process unless the user downloads or otherwise moves it.
4
4
5
5
Pricing data may contain customer, respondent, transaction, market, channel, product, or commercially sensitive information. Remove direct identifiers, contact data, free text, unnecessary protected characteristics, and columns not needed for the declared analysis before upload.
6
6
7
7
The evidence pack excludes row-level records, IDs, outcomes, fitted values, and residuals. Aggregate price response, valuation, volume, margin, and source fingerprints can still be confidential.
8
8
9
-
If someone hosts PriceSignal, that operator becomes responsible for transport security, authentication, server logs, backups, access control, retention, incident response, and applicable privacy obligations. Local-first defaults do not automatically make a hosted deployment private.
9
+
If someone hosts TagSignal, that operator becomes responsible for transport security, authentication, server logs, backups, access control, retention, incident response, and applicable privacy obligations. Local-first defaults do not automatically make a hosted deployment private.
<palign="center"><strong>Open pricing evidence — bound the price range, preserve uncertainty, and keep the evidence tier beside the economics.</strong></p>
13
13
14
-
> **Working-name status — local/private only:**an exact active **PriceSignal** product operates in competitor-price tracking, the same commercial neighborhood as this tool. This build is not cleared for public release and must be renamed before it is published, hosted, packaged, or promoted. See the dated [name screen](docs/name-screen.md).
14
+
> **Working-name status:**a basic screen on 17 July 2026 found no obvious exact active software product called “TagSignal.” That is encouraging, but it is not trademark clearance. Keep the label provisional until official registers, company names, domains, package registries, app stores, and relevant jurisdictions have been professionally checked. See [the name screen](docs/name-screen.md).
15
15
16
-
**PriceSignal** helps analysts, product teams, and marketers compare a declared candidate price with a reference price. It accepts one of three evidence routes—an assigned-price experiment, a historical price–quantity series, or respondent-level willingness to pay—and keeps their interpretations separate. Every route feeds the same transparent economic layer: projected volume multiplied by declared unit margin.
16
+
**TagSignal** helps analysts, product teams, and marketers compare a declared candidate price with a reference price. It accepts one of three evidence routes—an assigned-price experiment, a historical price–quantity series, or respondent-level willingness to pay—and keeps their interpretations separate. Every route feeds the same transparent economic layer: projected volume multiplied by declared unit margin.
17
17
18
18
Everything runs locally with open-source Python packages. There is no account, telemetry, external AI call, remote database, or built-in persistence.
19
19
20
20
## Read this first
21
21
22
-
> **PriceSignal bounds a pricing scenario; it does not turn a model into market truth.** Historical coefficients can be confounded, randomized tests support their tested prices and implementation, and WTP is not realized demand. Unit cost, addressable demand, competition, capacity, fairness, and execution still require accountable human judgment.
22
+
> **TagSignal bounds a pricing scenario; it does not turn a model into market truth.** Historical coefficients can be confounded, randomized tests support their tested prices and implementation, and WTP is not realized demand. Unit cost, addressable demand, competition, capacity, fairness, and execution still require accountable human judgment.
23
23
24
-
PriceSignal does not select a price because a p-value crossed a threshold. Before analysis, the contract records a reference price, candidate price, unit cost, planning scale, and a minimum worthwhile incremental contribution that must be above zero — with a zero threshold, the reading would collapse into a bare significance statement, which PriceSignal refuses to present as a decision. The resulting interval is compared with that business threshold.
24
+
TagSignal does not select a price because a p-value crossed a threshold. Before analysis, the contract records a reference price, candidate price, unit cost, planning scale, and a minimum worthwhile incremental contribution that must be above zero — with a zero threshold, the reading would collapse into a bare significance statement, which TagSignal refuses to present as a decision. The resulting interval is compared with that business threshold.
25
25
26
26
## Supported evidence routes
27
27
28
28
### Randomized assigned-price test
29
29
30
-
Use one row per assigned unit with a positive assigned price and a non-negative purchase or quantity outcome. PriceSignal summarizes each arm, fits a power curve to arm means, and uses a stratified within-arm bootstrap for uncertainty. Binary purchase outcomes are supported.
30
+
Use one row per assigned unit with a positive assigned price and a non-negative purchase or quantity outcome. TagSignal summarizes each arm, fits a power curve to arm means, and uses a stratified within-arm bootstrap for uncertainty. Binary purchase outcomes are supported.
31
31
32
32
A causal reading still requires a valid assignment process, assignment before outcome, acceptable outcome observation, faithful price delivery, limited interference, and a population matching the intended decision. The smooth curve between assigned prices is a functional-form assumption.
33
33
34
34
### Historical price–quantity series
35
35
36
-
Use one row per period with positive price and quantity plus optional numeric controls. PriceSignal fits a log–log model and reports the price coefficient as a constant-elasticity association. Newey–West HAC or HC3 covariance is available; a smearing factor retransforms log predictions.
36
+
Use one row per period with positive price and quantity plus optional numeric controls. TagSignal fits a log–log model and reports the price coefficient as a constant-elasticity association. Newey–West HAC or HC3 covariance is available; a smearing factor retransforms log predictions.
37
37
38
38
Neither robust covariance estimator solves endogenous pricing, omitted promotions, seasonality, competitor action, stock-outs, distribution changes, or simultaneous demand shocks. This route is always labeled **ASSOCIATION ONLY**.
39
39
40
40
### Respondent-level willingness to pay
41
41
42
-
Use one row per respondent with a positive maximum WTP. At each price, PriceSignal calculates the empirical share with WTP at or above that price and bootstraps respondents.
42
+
Use one row per respondent with a positive maximum WTP. At each price, TagSignal calculates the empirical share with WTP at or above that price and bootstraps respondents.
43
43
44
44
Stated WTP is labeled **STATED VALUATION**. An appropriately implemented BDM or auction protocol may be labeled **INCENTIVE-COMPATIBLE VALUATION**, but even that is not a complete market-demand estimate.
The macOS launcher prefers local port `8588` and falls back to a free port between 8501 and 8599; it accepts the `PRICESIGNAL_PORT`, `PRICESIGNAL_MAX_UPLOAD_MB`, and `PRICESIGNAL_NO_BROWSER` environment variables. The Windows launcher always uses port `8588`. Setting `PRICESIGNAL_DEBUG=1` shows technical error details inside the app on any platform.
125
+
The macOS launcher prefers local port `8588` and falls back to a free port between 8501 and 8599; it accepts the `TAGSIGNAL_PORT`, `TAGSIGNAL_MAX_UPLOAD_MB`, and `TAGSIGNAL_NO_BROWSER` environment variables. The Windows launcher always uses port `8588`. Setting `TAGSIGNAL_DEBUG=1` shows technical error details inside the app on any platform.
126
126
127
127
### Docker
128
128
129
129
```bash
130
-
docker build -t pricesignal.
131
-
docker run --rm -p 8588:8588 pricesignal
130
+
docker build -t tagsignal.
131
+
docker run --rm -p 8588:8588 tagsignal
132
132
```
133
133
134
134
## No install? Give this file to an AI
@@ -149,13 +149,13 @@ Fixtures cover known elasticity recovery, randomized arm behavior, empirical WTP
149
149
## Relationship to the Signal suite
150
150
151
151
-**[WorthSignal](https://github.com/UlrikErlingsen/customer-value-analytics)** supplies customer and contribution economics that can improve pricing scenarios.
152
-
-**[SegmentSignal](https://github.com/UlrikErlingsen/customer-segmentation)** can reveal stable groups for separately designed pricing studies; PriceSignal does not search for exploitable personal prices.
153
-
-**[ChoiceSignal](https://github.com/UlrikErlingsen/conjoint-analysis)** estimates attribute utilities. WTP conversion remains outside its first release; PriceSignal accepts direct valuation or price-response evidence instead of silently converting weak price coefficients.
154
-
-**[ExperimentSignal](https://github.com/UlrikErlingsen/experiment-analysis)** is the general randomized-experiment engine. PriceSignal adds pricing-specific demand and contribution logic while retaining strict randomization caveats.
152
+
-**[SegmentSignal](https://github.com/UlrikErlingsen/customer-segmentation)** can reveal stable groups for separately designed pricing studies; TagSignal does not search for exploitable personal prices.
153
+
-**[ChoiceSignal](https://github.com/UlrikErlingsen/conjoint-analysis)** estimates attribute utilities. WTP conversion remains outside its first release; TagSignal accepts direct valuation or price-response evidence instead of silently converting weak price coefficients.
154
+
-**[ExperimentSignal](https://github.com/UlrikErlingsen/experiment-analysis)** is the general randomized-experiment engine. TagSignal adds pricing-specific demand and contribution logic while retaining strict randomization caveats.
155
155
-**[AllocSignal](https://github.com/UlrikErlingsen/marketing-mix-allocation)** allocates marketing budgets, not product prices.
156
-
-**[GateSignal](https://github.com/UlrikErlingsen/launch-decision-gate)** can consume the aggregate PriceSignal bridge as one bounded launch input.
156
+
-**[GateSignal](https://github.com/UlrikErlingsen/launch-decision-gate)** can consume the aggregate TagSignal bridge as one bounded launch input.
157
157
158
-
The maintained public suite is listed at [ulrikerlingsen.com](https://ulrikerlingsen.com). This working build is deliberately excluded until it has a cleared replacement name.
158
+
TagSignal shares the suite’s local-first, named-method, fictional-demo, portable-evidence, and explicit-boundary standard. The portfolio overview is at [ulrikerlingsen.com](https://ulrikerlingsen.com).
159
159
160
160
## Method references
161
161
@@ -169,6 +169,6 @@ The maintained public suite is listed at [ulrikerlingsen.com](https://ulrikerlin
169
169
170
170
## Originality and license
171
171
172
-
PriceSignal is an independent implementation based on public pricing, experimental, econometric, and valuation literature. It does not reproduce lecture slides, classroom cases, assessment material, teaching diagrams, proprietary pricing templates, or institution-specific wording. All bundled examples and interface copy were created for this project. See [sources and originality](docs/sources-and-originality.md).
172
+
TagSignal is an independent implementation based on public pricing, experimental, econometric, and valuation literature. It does not reproduce lecture slides, classroom cases, assessment material, teaching diagrams, proprietary pricing templates, or institution-specific wording. All bundled examples and interface copy were created for this project. See [sources and originality](docs/sources-and-originality.md).
173
173
174
174
The software and documentation are free under **AGPL-3.0-or-later**. This application was developed with AI coding assistance and checked through source review, analytical fixtures, deterministic synthetic recovery, automated app tests, and visual inspection. Verify material pricing decisions independently; no warranty is provided.
Copy file name to clipboardExpand all lines: SECURITY.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,6 +10,6 @@ Please report a suspected vulnerability privately through GitHub's security-advi
10
10
11
11
## Data-handling notes
12
12
13
-
PriceSignal accepts CSV, XLSX, and JSON tables up to 50 MB and applies row and column limits. It does not execute workbook macros. Exported strings that could be interpreted as spreadsheet formulas are neutralized. Aggregate evidence exports omit row-level pricing records.
13
+
TagSignal accepts CSV, XLSX, and JSON tables up to 50 MB and applies row and column limits. It does not execute workbook macros. Exported strings that could be interpreted as spreadsheet formulas are neutralized. Aggregate evidence exports omit row-level pricing records.
14
14
15
-
These controls do not turn PriceSignal into a hardened multi-tenant service. A hosted deployment should add authentication, TLS, authorization, rate limiting, secure headers, isolated storage, dependency monitoring, logging appropriate to the data classification, and a documented deletion policy.
15
+
These controls do not turn TagSignal into a hardened multi-tenant service. A hosted deployment should add authentication, TLS, authorization, rate limiting, secure headers, isolated storage, dependency monitoring, logging appropriate to the data classification, and a documented deletion policy.
0 commit comments