经济模拟的算法?

2024-04-26

我想创建一个游戏,玩家可以创建不同价格的不同产品(称为报价),然后我给他们一定数量的客户(称为需求)。

现在,我想要一个算法来确定每个参与者的市场份额。当然,我现在就可以使用随机的方式来制作我的。但在这样做之前,我更愿意先问一下,因为我确信在我之前很多人已经尝试过这样做!

我的问题并不是很精确,因为你的答案也不需要很精确;)

先感谢您!


这实际上取决于您设置的变量以及您想要创建的“市场”类型。您可以从下面的简单公式(从根本上将市场份额降低为利润问题)开始,然后我将介绍“市场类型”的含义。

marketShare = totalCompanyProfit/allMoneyInProductCategory;
marketShare = ( (productSalePrice * demand)-(productManufactureCost * supply) ) / allMoneyInProductCategory;

这里变得很有趣,因为“市场类型”是由您对需求的定义决定的。例如,假设产品是法拉利,您尝试模拟的市场是刚果共和国,其人均 GDP 为 189 美元。

targetMarketSize = (percentOfFittingDemographic * totalPopulation)
percentWhoHateYourProduct = AVERAGE( ( ABS(productVariable1 - variableIdeal1) / variableIdeal1 ), ( ABS(productVariable2 - variableIdeal2) / variableIdeal2 ), etc )
demand = (targetMarketSize) * ( 1- percentWhoHateYourProduct ) 

PercentOfFittingDemographic 是适合购买此类产品的人口的百分比(即具有足够可支配收入购买 100,000 美元汽车的人),在上面的刚果示例中可能类似于 0.001 。

某些产品属性 (productVariable) 与其理想 (variableIdeals) 之间的差异绝对值的平均值给出了因产品不是他们想要的而感到厌烦的人口百分比。从 1 中减去该值,得出确实想要购买您的产品的人数百分比,然后将其乘以 targetMarketSize 得出想要购买您的产品的人数,即需求。如果产品是完美的,那么它就变成了0的平均值,整个目标市场都变成了该产品的用户。

人们还可以在平均值上增加权重,例如,市场更喜欢较低的价格而不是更大的屏幕尺寸。为了暗示一种属性的增加会增加人群对产品的渴望(即,您放弃“6 个月的免费服务”,而不是“1 个月的免费服务”,人们会更想要它),您可以添加它进入平均值

percentLikesProductNow =  1 - e^(-1 * infinitelyLikedAttribute)

这从 infintelyLikedAttribute=0 时的 0% 到 infintelyLikedAttribute=10 时的约 0.005%,因此您可以尝试并找到一种方法将该属性“缩放”到大致在 1 到 10 之间。这对于真实的情况确实有意义生活,因为有些产品如果没有免费试用,我永远不会购买。例如:3 个月免费 Verizon 互联网。否则我可能会选择康卡斯特,因为我只在那里住了 6 个月,但当时节省 100 美元是相当大的了。然而,在另一个极端,如果 Verizon 向我提供 100 年免费互联网服务,那么在此基础上再额外提供 50 年(假设不可转让等)实际上并不会增加该优惠的吸引力。

您也可以随时将所有这些内容与随机数生成器相乘,也许可以给它一个 +/- 15% 的方差,并让每个人都在猜测:)

我希望这有点用处:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

经济模拟的算法? 的相关文章

  • 比较周期性数据的快速方法

    假设我有任意类型的数据集 A B C D 并且我想将其与另一个数据集进行比较 我希望 A B C D B C D A C D A B 和 D A B C 的比较成立 但是不适用于 A C B D 或任何其他未类似排序的集合 有什么快速方法可
  • 找到两个移动物体的更好交点

    我想极大地优化我的算法之一 我将尽力以最好的方式解释它 主题 我们当时处于二维欧几里德系统中t 0 在这个系统中有两个对象 O1 and O2 O1 and O2分别位于点PA and PC O1移动于常数和已知点方向的速度PB 当物体到达
  • 用 ruby​​ 解决旅行商问题(50 多个位置)

    我在一家快递公司工作 目前 我们 手动 解决了 50 多个地点的路线 我一直在考虑使用 Google Maps API 来解决这个问题 但我读到有 24 点的限制 目前我们在服务器中使用 Rails 因此我正在考虑使用 ruby 脚本来获取
  • 无痛“算法分析”培训? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我在大学时曾有过一次关于 算法分析 课程的痛苦经历 但最近发现在大学中需要它真实世界 无论如何 我正在
  • 算法:最大计数器

    我有以下问题 您有 N 个计数器 最初设置为 0 并且您对它们有两种可能的操作 increase X 计数器 X 加 1 max counter 所有计数器都设置为任何计数器的最大值 给出一个包含 M 个整数的非空零索引数组 A 该数组代表
  • 如何最小化两个子多边形的最大纵横比?

    我想使用直线将凸多边形切成给定面积比的两部分 以使两个子多边形的较大纵横比最小化 目前我的方法包括选择一个随机起点 计算将多边形分割成目标区域的适当终点 然后计算两个纵横比中较大的一个 然后重复这个很多次 直到我足够接近最小值 多边形 A
  • 优雅的折线“左移”测试

    Given X Y 坐标 即车辆的位置 X Y 数组 它们是折线中的顶点 请注意 折线仅由直线段组成 没有圆弧 我想要的是 计算车辆是在折线的左侧还是右侧 当然还是在顶部 我的做法 迭代所有线段 并计算到每个线段的距离 然后 对于最近的段
  • 如何对数组进行排序(索引)以使用这些索引将原始数组从最小到最大值排序

    例如我有这个数组 int a 6 10 16 11 7 12 3 9 8 5 我想像这样对其索引进行排序 6 9 0 4 8 7 1 3 5 2 所以我可以使用索引将 a 从最小到最大值排序 在我的代码中我得到了这个 6 9 4 8 7 4
  • 给定与总和匹配的长度的唯一 3 位数字 (-1,0,1) 序列的数量

    假设您有一个长度为 n 即空格数 的垂直游戏板 你有一个三面骰子 有以下选项 前进一 停留和后退 如果您低于或高于棋盘游戏空间的数量 则该游戏无效 一旦到达棋盘末端 唯一有效的动作就是 停留 给定确切的骰子投掷次数 t 是否可以通过算法计算
  • 反转二进制网络

    如何反转二元方程 以便找到哪些输入将产生给定的输出 Example Inputs i0 through i8 Outputs o0 through o8 Operators XOR AND 二元方程 1 i0 1 i1 0 i2 1 i3
  • 基于时间的算法评分

    我们希望创建一种评分算法 在更短的时间内获得更高的分数 在更长的时间内获得更少的分数 需要注意的是 没有实际范围 因此时间范围可以从 100 毫秒到长达 10 分钟或更长时间 点范围为 0 到 50 谢谢你的帮助 你可以简单地把它变成一个线
  • 如何从二叉搜索树中均匀随机地返回节点?

    给定一个 BST 可能平衡也可能不平衡 如何能够均匀地随机返回 任何 节点 一个限制是您不能使用外部索引数据结构 您必须以每个节点都有平等被访问的机会的方式遍历树 这个问题让我困惑了好一阵子 如果我们确实可以使用外部哈希表 指针 我们可以对
  • 搜索/排序算法 - 是否有类似 GoF 的列表?

    我是一名自学成才的开发人员 坦率地说 我不太擅长找出在任何特定情况下使用哪种搜索或排序算法 我只是想知道是否有设计模式 esque 列出了以太坊中可用的常见算法 供我添加书签 就像是 算法名称 带有别名 如果有的话 它解决的问题 大O成本
  • C 中的菱形数组排序

    我有以下 C 语言作业 我基本上需要一种方法而不是解决方案 我们有一个 13 x 13 的数组 在数组中 我们有一个需要考虑的菱形形状 该菱形之外的所有内容都初始化为 1 不重要 下面的 5 x 5 数组示例 x x 1 x x x 2 2
  • Exposé 布局算法

    我正在制作一些项目 其布局类似于 Mac OS X 在 Expos 中对窗口所做的操作 它适应项目的长宽比和可用区域的长宽比 基本上 可用区域分为行和列 每个单元格 行和列的交集 中放置一个项目 这些项目必须保持其纵横比 此处width h
  • 如何求解:T(n) = T(n - 1) + n

    我已经解决了以下问题 T n T n 1 n O n 2 现在 当我解决这个问题时 我发现界限非常松散 我是否做错了什么 或者只是这样 您还需要一个递归关系的基本情况 T 1 c T n T n 1 n 为了解决这个问题 您可以首先猜测一个
  • 如何高效地在屏幕上精确绘制N个点?

    这听起来是一个简单的问题 但我发现要获得良好的性能是非常棘手的 我提出的第一个算法是随机绘制点 从一组中检查是否已绘制 否则绘制 如果我们只绘制几个点 那么这种方法效果很好 但当我们接近填满屏幕时 速度会灾难性地减慢 我想出的最好的方法是构
  • 检索受“rowspan”影响的行的列索引的最有效方法是什么?

    考虑下表 table thead tr th th th A th th B th th C th tr thead tbody tr th 1 th td Apples td td Oranges td td Pears td tr tb
  • 我需要一个支持高效随机访问和 O(k) 插入和删除的容器

    我再次尝试问同样的问题question https stackoverflow com questions 3808708 delete parts of a dynamic array and grow other 但我最终提出了一个不同
  • 如何将一组重叠范围划分为不重叠范围?

    假设您有一组范围 0 100 一 0 75 b 95 150 c 120 130 d 显然 这些范围在某些点上重叠 您将如何剖析这些范围以生成不重叠范围的列表 同时保留与其原始范围相关的信息 在本例中为范围后面的字母 例如 运行算法后的上述

随机推荐

  • 从注册表中检索 Windows 密码提示

    我一直在尝试以编程方式提取 Windows 7 的 Windows 登录密码提示 我发现可以从注册表中的以下位置检索它HKLM SAM SAM Domains Account Users 用户密钥 UserPasswordHint但是 我不
  • C# - 从另一个字符串中删除第一次出现的子字符串的最简单方法

    我需要从另一个字符串中删除第一个 并且仅第一个 出现的字符串 这是替换字符串的示例 Iteration This ProjectName Iteration Release1 Iteration1 会变成这样 ProjectName Rel
  • 在 .NET 中,mystring.Length == 0 或 mystring == string.Empty 哪个最好? [复制]

    这个问题在这里已经有答案了 可能的重复 检查字符串内容 字符串长度与空字符串 https stackoverflow com questions 10230 checking for string contents string lengt
  • 带有编辑器框架的 GWT 验证器

    有没有人意识到编辑器和 jsr 303 验证如何与 GWT 2 3 一起工作 未来 验证 API 已添加到 gwt sdk 但我无法使用编辑器框架验证实体 无论 我确实从来没有从客户端或服务器端抛出错误 这是一个代码片段 public cl
  • 根据给定分布对数据帧进行采样

    如何根据给定的类 标签分布值对 pandas 数据框或 graphlab sframe 进行采样 例如 我想对具有标签 类列的数据框进行采样以选择行 以便平等地获取每个类标签 从而具有相似的频率对于每个类标签对应一个均匀分布的类标签 或者最
  • Google 图表 - “缺少请求 ID 的查询:0”

    仅当我尝试将两个图表放在同一页面上时才会出现此错误 如果这两个图表是页面上唯一的图表 则它们可以完美地工作 在我添加第二个的那一刻 仅加载第一个 并且出现 缺少请求 id 的查询 0 错误 这是我的图表 js 文件 function dra
  • 如何获取子进程的返回值?

    程序计算从 1 到 N 的数字之和 子进程计算偶数之和 父进程计算奇数之和 我想在父进程中获取子进程的返回值 我怎么做 include
  • 如何从 Twig 中的多维数组中获取值?

    我的数组 strs key id 的 var dump 给出以下结果 array 2 0 gt array 4 8259 gt string 8260 ouvrir 1 8260 gt string 8261 fichier 2 8261
  • 使用 Json.net 解析 JSON

    我正在尝试使用 JSon Net 库解析一些 JSON 该文档似乎有点稀疏 我对如何完成我需要的内容感到困惑 这是我需要解析的 JSON 格式 displayFieldName OBJECT NAME fieldAliases OBJECT
  • 在其他包中使用 main.go 中声明的结构

    我有一个结构体声明于main go如下所示 type Organization struct ID string json id Count int json count node count 我有一个名为configuration并有这样
  • 当鼠标悬停在图标上时,字形会改变颜色

    我怎样才能让它工作 这样当我将鼠标悬停在 li gt a 时 它也会改变我的字形图标上的颜色 我在下面列出了我的 html 和我的内容tryed在CSS中做 但这只会改变它if我将鼠标悬停在字形图标而不是 a 上 和yes我也尝试在我的 a
  • 如何使用 PDF.js 显示 PDF(以 Base64 存储)中的所有页面?

    我正在使用以下脚本使用 PDF js 显示 PDF 但它在画布上没有显示任何内容 你能告诉我我哪里出了问题吗 我尝试在线查找文档 但找不到任何帮助 Model B 是 base64 字符串
  • wpf xceed工具包水印文本框使水印显示直到第一次输入

    默认行为是当文本框获得焦点时水印消失 我想让水印内容仅在用户键入第一个字符时消失 然后在清除文本后重新出现 有人有好的方法来实现这一点吗 我已经为你调整了默认样式 现在 水印默认显示为 稍暗 默认系统 非活动文本 颜色 并且当水印接收焦点但
  • 使用 @Valid 进行 Spring 验证

    我正在验证传入属性 但验证器甚至捕获未注释的其他页面 Valid RequestMapping value showMatches spr method RequestMethod GET public ModelAndView showM
  • 如何从存储库中删除 Sonatype Nexus OSS(3) 组件

    这是我的第一个问题 我尽力做到最好 如果有什么问题 请简单地告诉我 我会纠正自己 我是 Sonatypes Nexus 3 OSS 的新手 我找不到从我的存储库中删除组件的方法 我的存储库中的一个包已变得无用 现在我想将其删除 我已经删除了
  • spring data neo4j 5 - 没有名为“sessionFactory”的bean可用

    我正在使用 spring data neo4j 5 0 7 RELEASE 和 spring 5 0 6 RELEASE 使用文档中的配置https github com spring projects spring data neo4j
  • 如何让 G1 打印更多日志详细信息?

    我正在测试基于 Jetty 的 API 与基于 Netty 的 API 实验中唯一的区别是我使用哪个 API 相同的应用程序 相同的服务器 相同的内存配置 相同的负载等 我使用基于 Netty 的 API 时会得到更长的 GC 暂停 大多数
  • React Native 上的 MQTT?

    将 MQTT 添加到我的反应原生项目时 我很难找到正确的方法 该项目需要在 iOS 和 Android 上运行 因此理想情况下 MQTT 可以在 javascript 端处理 我意识到移动节点和经典节点的网络巢穴是不同的 所以我开始沿着分叉
  • 自定义 Windows 7 登录 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我如何为 Windows 7 登录屏幕进行编程 不仅仅是替换背景图像 就像我希望它通过 RFID 阅读器进行身份验证一样 我能做到吗 我知道 XP 可
  • 经济模拟的算法?

    我想创建一个游戏 玩家可以创建不同价格的不同产品 称为报价 然后我给他们一定数量的客户 称为需求 现在 我想要一个算法来确定每个参与者的市场份额 当然 我现在就可以使用随机的方式来制作我的 但在这样做之前 我更愿意先问一下 因为我确信在我之